Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Terminal Tab — 浏览器新标签页终端模拟器

一个运行在浏览器新标签页里的极简终端,支持命令、虚拟文件系统、自定义应用、主题、书签模糊搜索与备份恢复。纯前端实现,零依赖,单文件即开即用。

License Stars Forks Issues

HTML5 CSS3 JavaScript


特性

  • ⌨️ 完整的命令引擎 — 40+ 命令,支持 alias 别名、历史记录、Tab 模糊补全
  • 🔎 智能模糊搜索 — 3 层匹配管线:精确 → 唯一命中 → 歧义选择器(方向键/数字键)
  • 📁 虚拟文件系统 — 基于 IndexedDB 的 ls / cd / cat / write / mkdir / rm 目录结构
  • 📌 内置快捷链接 — 源代码、GitHub、哔哩哔哩、百度、YouTube、Google,支持拼音缩写直达
  • 🧩 自定义应用 — 用 HTML/CSS/JS 编写应用,createapp / run / edit / delapp 管理
  • 🎨 主题系统default / amber / green / dracula,可调字号与透明度
  • 🧮 内置小工具 — 键盘版计算器、日历
  • 📊 性能监控sysmon 仪表盘:CPU/内存/网络/FPS/电池
  • 💾 备份/恢复 — 一条命令导出全部数据为 JSON
  • 🌐 离线可用 — Service Worker 缓存,sw-update 手动更新
  • 零依赖 — 单个 index.html + sw.js,支持 file:// 协议直接打开

快速开始

直接使用

# 克隆或下载本项目,双击打开 index.html 即可使用(无需服务器)
git clone https://github.com/CodingNovice1024/Terminal-Tab.git

设置为浏览器新标签页(Chrome 示例)

  1. 安装 New Tab Redirect 类扩展
  2. 将重定向地址设为 index.html 的本地路径或在线部署地址
  3. 每次打开新标签页即进入终端,首次点击后自动全屏

数据保存在浏览器 IndexedDB(TermTabDB)中,仅存在于本机浏览器,不清除浏览器数据即不丢失。


命令参考

命令 说明
help 显示帮助
clear 清屏
history 命令历史
ls / cd / pwd 文件系统导航
cat / write 查看/写入文件
mkdir / rm 创建/删除目录或文件(rm -r 递归)
mv / rename 移动/重命名文件与目录(书签区自动同步)
echo 输出文字
time / date / datetime 时间与日期
sysinfo / neofetch 系统信息(ASCII)
ver 版本信息
ipconfig 网络信息
tasklist 任务列表
sysmon 性能监控仪表盘(CPU/内存/网络/FPS)
search <q> 搜索(可切换搜索引擎)
search-engine 切换 bing/google/duckduckgo/baidu
open <名称/缩写/URL> 打开链接(支持模糊匹配)
links 快捷链接列表
bookmark 书签管理 add/list/del/restore
find <关键词> 搜索文件/书签/应用/历史/别名
terminal 新开一个终端标签页
theme / fontsize / opacity 外观设置
calc / calendar 计算器 / 日历
alias name=cmd 命令别名
createapp / run / edit / delapp / apps 自定义应用
export / import 导出/导入备份
sw-update 更新 Service Worker 缓存
reset 重置全部数据
exit 关闭窗口

书签与模糊搜索

内置快捷链接(前两个缩写为拼音/英文缩写):

名称 缩写 地址
源代码 code https://github.com/CodingNovice1024/Terminal-Tab
GitHub gh https://github.com
哔哩哔哩 bl https://www.bilibili.com
百度 bd https://www.baidu.com
YouTube yt https://www.youtube.com
Google gg https://www.google.com
open gh          # 精确命中缩写 → 打开 GitHub
open 我的书签     # 直接键入书签名
bookmark add 哔哩 https://www.bilibili.com bl
bookmark list    # 按分类分组显示
bookmark del 2
bookmark restore   # 恢复已删除的内置书签

书签即文件系统:每个书签对应 /bookmarks/<分类>/<名> 下的一个文件(内容为 URL),可用文件系统命令分类管理:

mkdir /bookmarks/工作
mv /bookmarks/哔哩 /bookmarks/工作/     # 移入分类
rename /bookmarks/哔哩 bili             # 重命名(保留缩写)
rm /bookmarks/哔哩                      # 删除书签
  • 移入 /bookmarks → 自动成为书签;移出 → 自动取消书签
  • /bookmarks 根目录受保护,不可移动或重命名

输入任意命令名、书签名或缩写,回车即智能匹配:

  • 唯一命中 → 直接执行/打开
  • 多个相近匹配 → 弹出选择器,方向键 + Enter 或数字键选择
  • 输入形如 URL 的文本(www.、域名后缀、IP)→ 直接打开

自定义应用

createapp myapp     # 打开内置代码编辑器(支持语法高亮)
# 编辑 HTML 内容,点击 [保存]
run myapp           # 在窗口内运行
edit myapp          # 再次编辑
delapp myapp        # 删除

应用内可通过 terminalAPI(print / open / search / runCommand)与终端交互。


主题

主题 配色
default 经典绿 #0a0a0a / #00ff41
amber 琥珀 #0a0800 / #ffb000
green 纯黑纯绿
dracula 德古拉 #1e1e2e / #f8f8f2
theme dracula
fontsize 16
opacity 0.9

技术栈

  • 原生 HTML/CSS/JavaScript(ES6,async/await),无任何依赖
  • IndexedDB 持久化(文件系统、应用、配置、书签、别名)
  • Service Worker 离线缓存
  • 兼容 Chrome / Edge / Firefox / Safari

目录结构

├── index.html   # 主程序(全部逻辑,单文件)
├── sw.js        # Service Worker 离线缓存
└── favicon.ico  # 图标

参与贡献

  1. Fork 本仓库
  2. 创建特性分支:git checkout -b feature/amazing-feature
  3. 提交改动:git commit -m 'Add some amazing feature'
  4. 推送分支:git push origin feature/amazing-feature
  5. 发起 Pull Request

欢迎提交功能建议与 Bug 报告至 Issues


致谢

本项目使用 OpenCode 辅助开发完成,由 OpenCode Zen 提供的 DeepSeek V4 Flash Free 模型驱动,实现零依赖、单文件的浏览器终端。


许可证

MIT © CodingNovice1024

About

浏览器新标签页终端模拟器 — 纯前端实现,零依赖、单文件即开即用。内置命令引擎、虚拟文件系统、主题、自定义应用与书签模糊搜索,支持离线与数据备份。

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages