Skip to content

Latest commit

 

History

9 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

tabs管理工具

一个 Chrome 扩展(MV3),按域名分组展示所有标签页,支持批量关闭和挂起以释放内存。

功能

  • 📑 按域名自动分组 — 同一站点的标签页聚在一起,组内按 tab 顺序排列
  • 🏷️ 按类型分组 — 顶部「按域名 | 按类型」一键切换;固定 10 类(技术/新闻/社交/视频/搜索/办公/AI 工具/购物/金融/其他),按标题/URL 关键词自动分类(中英双语强词,纯本地),关键词未命中再用域名表兜底,冷门站点可手动自定义归类
  • 🔍 实时搜索 — 匹配标题、URL 或域名,搜索时批量操作只作用于可见 tab;80ms debounce + 本地缓存,大 tab 数下不卡
  • 💤 批量挂起 — 一键 chrome.tabs.discard 释放内存,挂起的 tab 仍保留在分组中并支持一键恢复
  • 批量关闭 — 勾选后一次性关闭多个标签页
  • 🗂️ 分组级批量 — 每个分组头有"挂起整组"/"关闭整组"按钮,一键清掉某个域名下的所有 tab
  • 🖱️ 行内快捷操作 — hover 单条 tab 直接出现"挂起/关闭"按钮,单条操作无需先勾选再到底部栏点
  • 🕘 最近关闭 — 面板顶部展示最近 10 条关闭的 tab / 窗口,一键恢复
  • 🔄 实时同步 — 打开/关闭/切换/挂起等事件触发自动刷新(300ms 节流)
  • 💾 状态持久化 — 折叠状态通过 chrome.storage.local 跨会话保留
  • 🎨 favicon 兜底 — 自带 favicon → Google s2 → 字母占位,无网络也好看
  • 🔢 勾选反馈 — 分组头实时显示 已选 / 总数,如 3 / 12
  • 🪺 智能折叠 — 单 tab 分组默认折叠,减少视觉噪音;用户手动展开过的会跨会话记住

安装

  1. 克隆仓库:git clone https://github.com/fangxiao/tabsmanager.git
  2. 打开 Chrome,访问 chrome://extensions
  3. 打开右上角"开发者模式"
  4. 点击"加载已解压的扩展程序",选择项目根目录(包含 manifest.json 的目录)
  5. 点击工具栏的扩展图标即可打开侧边栏

权限说明

权限 用途
tabs 读取/查询/更新/关闭/挂起标签页
sidePanel 打开 Chrome 侧边栏显示面板
storage 持久化折叠状态(跨会话保留用户选择)
sessions 读取最近关闭的 tab/窗口,支持一键恢复

扩展不收集任何用户数据,所有处理都在本地完成。

文件结构

.
├── manifest.json         # MV3 配置
├── background.js         # Service Worker:事件监听 + 长连接广播
├── shared/
│   ├── domain.js         # 域名解析/分组/可管理性判断(双端共用)
│   └── categories.js     # 按类型分类:内置规则表 + 分类器(面板使用)
├── panel/
│   ├── panel.html        # 侧边栏 UI
│   ├── panel.css         # 样式
│   └── panel.js          # 交互逻辑
├── icons/                # 16/48/128 三套尺寸
├── LICENSE
└── README.md

开发

直接修改源码后,在 chrome://extensions 点击扩展卡片上的 🔄 刷新按钮即可重新加载。无构建步骤,纯静态资源。

许可

MIT

About

管理chrome的tab标签

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages