简体中文 | English
一个本地优先的 Chrome 书签管理器 / 新标签页导航面板,支持云盘目录同步、拖拽分区、纸张便签式区域、AI 自动分类和离线使用。
签屿(Mark Isle) 是一个 local-first 的 Chrome bookmark manager 和 new tab dashboard:覆盖新标签页,做成可自定义的导航看板,数据本地优先、多端靠云盘目录同步、可选接入 LLM 自动分类。
签屿是一个面向个人知识入口和日常效率场景的 Chrome 书签管理工具。它把浏览器新标签页变成可拖拽、可分区、可多页管理的导航看板,让常用网站、工作链接、学习资料和临时收藏都能沉淀在一个本地优先的空间里。
项目重点解决三个问题:书签难整理、多设备同步不透明、第三方服务依赖过重。签屿使用 IndexedDB 保存本地数据,通过 File System Access API 把设备快照写入用户自己选择的云盘文件夹,再由 iCloud Drive、坚果云、Dropbox、OneDrive 等云盘客户端同步;没有中心化后端,离线也能正常使用。对于大量存量书签或日常新增链接,签屿还支持接入 OpenAI 兼容接口进行 AI 自动分类,并在未配置 AI 时回退到本地规则分类。
Chrome 书签插件、书签管理、新标签页、导航页、网址导航、个人导航、书签同步、云盘同步、本地优先、离线优先、AI 自动分类、浏览器扩展、效率工具、个人知识管理。
- 想把 Chrome 新标签页变成个人导航看板的用户。
- 想用 iCloud Drive、坚果云、Dropbox、OneDrive 等云盘同步书签,但不想依赖中心化服务器的用户。
- 想让新增书签自动分类,同时保留离线可用和本地数据控制权的用户。
- 离线优先:所有数据存在浏览器本地 IndexedDB,是唯一事实来源。断网、弱网、云盘故障都不影响使用与查找。
- 导航看板:多个导航页(标签) -> 每页多个区域(自定义标题/Logo/颜色) -> 每个区域内书签卡片(图标/标题/备注),支持拖拽排序与跨区域移动。
- 云盘目录同步(无中心化服务):用 File System Access API 授权一个云盘本地同步文件夹(iCloud Drive / 坚果云 / Dropbox / OneDrive 等任意),扩展把数据写成 JSON,由云盘客户端负责跨设备搬运。每台设备只写自己的
device-<id>.json,读取时本地合并,避免云盘冲突副本导致数据丢失。 - 快速收藏:工具栏弹窗、右键菜单、快捷键(默认
Command+Shift+S/Ctrl+Shift+S)一键收藏当前页。 - AI 自动分类:设置页填任意 OpenAI 兼容接口(自带 Key),新增书签时自动给出分类;未配置/失败/离线时降级为本地域名+关键词规则,始终可用。
- 备份与恢复:一键导出/导入 JSON,导入按版本+时间智能合并。
React 18 + Vite + TypeScript + Tailwind,Dexie(IndexedDB),dnd-kit,Zustand,Manifest V3(CRXJS)。
npm install
npm run dev # 开发模式(HMR)
npm run build # 产出 dist/
npm run test # 跑合并逻辑单测npm run build生成dist/- Chrome 打开
chrome://extensions,开启「开发者模式」 - 「加载已解压的扩展程序」选择
dist/目录 - 打开新标签页即为导航看板
- 在设置页点「选择云盘文件夹」
- 选一个位于云盘本地同步区内的文件夹,例如:
- iCloud:
~/Library/Mobile Documents/com~apple~CloudDocs/Mark Isle - 坚果云:坚果云同步文件夹下任意子目录
- Dropbox / OneDrive:对应同步文件夹下任意子目录
- iCloud:
- 其它设备装上扩展后,指向同一个云盘文件夹即可自动合并
- 数据写在该文件夹的
mark-isle/子目录里
注意:受浏览器扩展沙箱限制,目录同步在你打开新标签页/设置页时触发,无法纯后台静默运行。这是所有同类扩展共同的硬约束。
- 书签数据只存本地 IndexedDB + 你指定的云盘文件夹,无任何第三方服务器。
- LLM API Key 经 Web Crypto 加密后存本地,仅在调用你填写的接口时使用。
mark-isle/
├─ manifest.config.ts # MV3 manifest
├─ src/
│ ├─ newtab/ # 新标签页导航看板(主界面)
│ ├─ popup/ # 工具栏快速收藏
│ ├─ options/ # 设置页:云盘授权 / LLM / 导入导出
│ ├─ background/ # service worker:右键菜单 / 快捷键收藏
│ ├─ data/ # db / repository / fileSync / merge / backup
│ ├─ ai/ # classifier(LLM) / ruleFallback(本地规则)
│ ├─ store/ # Zustand
│ └─ shared/ # types / id / favicon / crypto
└─ test/ # merge 合并逻辑单测