Skip to content

Repository files navigation

Tabay - Chrome 标签管理器

Tabay 是一个本地优先的 Chrome 标签页管理扩展,用于保存窗口、整理 Collection、搜索已保存链接,并通过 Tabay Cloud 跨设备同步工作上下文。

当前版本:1.1.0

当前状态

  • Chrome MV3 扩展已按正式版结构归档到 src/extension/
  • 弹窗页、全屏工作台、Tabay Cloud 登录页和账号页已完成现代化 UI/UX。
  • tabay.zip 可直接加载到 Chrome 扩展页,也可用于 Chrome Web Store 上传。
  • 本地测试、Cloudflare Worker dry-run、扩展打包流程已建立。

功能特点

快速保存

  • 一键保存当前标签页到 Inbox。
  • 一键保存当前窗口全部可用标签页到新 Collection。
  • 自动跳过 chrome://、扩展内部页等浏览器限制页面。
  • 保存后可自动关闭原窗口标签并进入整理流程。

Collection 管理

  • 创建、重命名、展开、折叠和删除 Collection。
  • 按时间自动聚合:今天、昨天、本周、本月、更早。
  • 支持列表视图和全屏工作台高密度整理视图。
  • Collection 支持一键打开全部 Links。

Link 操作

  • 打开单个 Link。
  • 删除单个 Link。
  • 拖拽 Link 在不同 Collection 之间移动。
  • 显示 favicon、标题和 URL。
  • 支持备注、标签和归档状态。

搜索和过滤

  • 实时搜索标题、URL、备注和标签。
  • 自动过滤空 Collection。
  • 弹窗页支持轻量搜索,全屏工作台支持集中整理。

本地数据与备份

  • Chrome storage.sync 分块存储大型数据。
  • 本地账号分区缓存,支持访客数据和登录账号数据隔离。
  • 自动备份和数据有效性检查。
  • 损坏数据可从备份恢复。
  • 支持 JSON 导出备份和导入恢复。

Tabay Cloud

  • 邮箱密码注册和登录。
  • Cloudflare Workers API、D1 数据库、KV 配置、R2 备份桶。
  • Spaces / Collections / Links 云端内容模型。
  • 本地变更离线队列,恢复网络后可继续同步。
  • 账号页支持设备列表、设备退出、数据下载、云端备份和账号删除。
  • 支持退出登录时保留、清除或导出后清除本地账号数据。

UI/UX

  • 弹窗页用于快速保存、搜索、查看状态和进入工作台。
  • 全屏工作台用于批量整理、统计、备份恢复和云端操作。
  • Tabay Cloud 登录页和账号页采用统一现代化界面。
  • 支持浅色/深色主题,跟随系统外观。
  • 批量操作显示进度,拖拽操作提供视觉反馈。
  • Popup 状态区采用固定 420px 宽度,短状态 chip 与数据摘要分区展示。

技术特点

  • 使用 Chrome Extension Manifest V3
  • 使用 Cloudflare Workers / D1 / KV / R2 / Pages 作为云端服务基础
  • 支持 Tabay Cloud 邮箱密码注册和登录
  • 提供 Tabay Cloud 账号页,用于设备、导出、备份和账号删除
  • 模块化项目结构,扩展端、Cloud 页面、Worker、脚本、测试和文档分类清晰
  • 完整的错误处理机制
  • 优化的数据存储方案
  • Jest 自动化测试覆盖扩展状态、弹窗、Cloud 登录页、账号页、Worker 和同步存储
  • Cloudflare dry-run 和打包脚本用于发布前验证

开发环境

  • Node.js >= 14
  • Chrome >= 88

安装依赖

npm install

开发命令

# 运行测试
npm test

# 运行测试(监视模式)
npm run test:watch

# 生成测试覆盖率报告
npm run test:coverage

# 更新版本号
node update_version.js

# 打包插件
./package.sh

# Cloudflare Worker 本地开发
cp cloudflare/.dev.vars.example cloudflare/.dev.vars
npm run cf:dev

# Cloudflare 本地 API smoke
npm run cf:smoke

# Cloudflare 资源状态检查
npm run cf:status

# Cloudflare 登录后的完整上线编排
npm run cf:provision -- --create-resources

# Cloudflare D1 初始化
npm run cf:d1:migrate:local
npm run cf:d1:migrate:remote

# Cloudflare Worker / Pages 部署
npm run cf:check
npm run cf:deploy
npm run pages:auth:deploy

安装插件

  1. 打开 Chrome 浏览器,进入扩展程序页面 (chrome://extensions/)
  2. 开启右上角的"开发者模式"
  3. 使用 ./package.sh 生成 tabay.zip
  4. tabay.zip 解压后通过"加载已解压的扩展程序"选择解压目录,或将 zip 用于 Chrome Web Store 上传

发布前验证

npm test -- --runInBand
npm run cf:check
git diff --check
./package.sh
unzip -l tabay.zip | rg "manifest.json|src/extension/popup.html|src/extension/styles.css"
shasum -a 256 tabay.zip

最近一次验证产物:

  • 版本:1.1.0
  • 文件:tabay.zip
  • SHA256:c80aeeb3e7d399e071a1a15a2df57d1c4027fe5855ccf397367a33fe67526708

目录结构

├── manifest.json              # 插件配置文件
├── src/extension/             # 扩展弹窗、工作台、后台脚本、状态与同步客户端
├── pages/auth/                # Tabay Cloud 登录页、账号页和页面样式
├── cloudflare/                # Workers、D1 schema、Wrangler 配置
├── scripts/                   # 图标构建与 Cloudflare 管理脚本
├── docs/                      # 项目审计、Toby 参考、UI 设计、发布检查
├── design-system/tabay/       # UI/UX Pro Max 生成的设计系统
├── tasks/                     # 当前计划与经验规则
├── icons/                     # 图标文件
├── tests/                     # 测试文件
└── package.json               # 项目配置文件

更新记录

v1.1.0

  • 正式版本号更新到 1.1.0
  • 重新生成 Chrome Web Store 上传包 tabay.zip
  • 打包脚本支持通过 TARGET_VERSION=1.1.0 ./package.sh 生成指定版本。

v1.0.25

  • 修复 Chrome popup 状态区在极窄布局下显示成竖排的问题。
  • Popup 首屏锁定 420px 宽度,避免扩展弹窗首次布局塌缩。
  • 新增数据健康摘要区,短状态展示在 chip 中,分组、标签和存储占用分区展示。
  • 快捷操作改为稳定 2 列 grid 布局。
  • 新增 popup 状态区和布局契约测试。
  • 打包产物 tabay.zip 已重新生成。

v1.0.24

  • 完成正式可用版本收口。
  • 将扩展源码迁移到 src/extension/,Cloud 页面、Worker、脚本、测试和文档分类归档。
  • 重新设计弹窗页、全屏工作台、Tabay Cloud 登录页和账号页。
  • 添加项目审计、Toby 参考、UI 设计和发布检查文档。
  • 更新 Manifest、打包脚本、Jest 路径和 Chrome API mock。

v1.0.23

  • 添加 Cloudflare Workers / D1 / KV / R2 服务骨架
  • 添加 Tabay Cloud 账号、同步、备份 API
  • 添加本地存储适配、云端客户端和同步服务
  • 添加 Spaces / Collections / Links 内容模型迁移能力
  • 更新隐私政策和 Chrome Web Store 文案

v1.0.13

  • 添加夜间模式支持
  • 优化暗色主题下的视觉效果
  • 改进界面对比度和可读性

v1.0.12

  • 添加标签拖拽功能
  • 优化标签组编辑功能
  • 改进数据同步机制
  • 添加加载状态提示
  • 优化用户界面交互

v1.0.11

  • 优化数据存储方式,解决存储限制问题
  • 改进用户界面交互
  • 添加数据同步状态显示

v1.0.0

  • 初始版本发布
  • 实现基本的标签管理功能

贡献指南

  1. Fork 本仓库
  2. 创建特性分支 (git checkout -b feature/AmazingFeature)
  3. 提交更改 (git commit -m '添加一些特性')
  4. 推送到分支 (git push origin feature/AmazingFeature)
  5. 创建 Pull Request

许可证

MIT License

About

Tabay 是一个强大的 Chrome 标签页管理工具,帮助你更好地组织和管理浏览器标签。

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages