浏览器书签和独立书签管理工具之间的割裂,一直是书签管理的核心痛点。你在 Chrome 中随手收藏了一个网页,但它不在你的管理系统中;你在管理系统中精心分类了书签,却无法在浏览器中直接使用。MarkStackAI 通过 Chrome 扩展实现了真正的双向同步,让浏览器书签和管理平台始终保持一致。
安装 Chrome 扩展
MarkStackAI 提供了一个基于 Manifest V3 规范的 Chrome 扩展。安装步骤如下:
- 从项目仓库下载扩展源代码,解压到本地文件夹。
- 打开 Chrome 浏览器,访问
chrome://extensions/页面。 - 打开右上角的「开发者模式」开关。
- 点击「加载已解压的扩展程序」,选择扩展所在的文件夹。
- 安装完成后,工具栏会出现 MarkStackAI 的图标。
如果你自行部署了 MarkStackAI 后端服务,需要在扩展的设置页面中修改服务器地址为你的实际部署地址。默认配置指向本地开发环境 http://localhost:8001。
登录与连接
点击扩展图标会弹出一个小面板,首先需要用你的 MarkStackAI 账号登录。输入用户名和密码后,扩展会通过 API 获取 JWT 令牌,之后的所有同步请求都通过这个令牌进行认证。
令牌会安全地存储在 Chrome 的 chrome.storage.local 中,浏览器关闭后重新打开不需要重新登录。令牌的有效期为 30 天,过期后会提示重新登录。
安全提示:扩展通信全程使用 HTTPS(生产环境),JWT 令牌不会在网络传输中暴露。建议在生产部署时务必启用 HTTPS。
首次同步方向选择
首次使用同步功能时,系统会询问你选择同步方向。这是一个关键步骤,因为你的 Chrome 书签和 MarkStackAI 中的书签可能完全不同:
- 从 Chrome 同步到 MarkStackAI:将 Chrome 中的所有书签和文件夹结构导入到 MarkStackAI。适用于你已经在 Chrome 中积累了大量书签的情况。导入过程会保留原始的文件夹层级关系。
- 从 MarkStackAI 同步到 Chrome:将 MarkStackAI 中的书签推送到 Chrome 浏览器。适用于你已经在 MarkStackAI 中建立了完善的书签体系,希望同步到浏览器使用的情况。
- 双向合并:保留两边的书签,进行智能合并。相同 URL 的书签会自动去重,不同的书签互相补充。
首次同步完成后,后续的同步都是增量式的双向同步,只传输有变更的部分。
实时监听变更
Chrome 扩展会注册一系列浏览器书签事件监听器,实时捕捉你在 Chrome 中对书签的任何操作:
- 新增书签:当你通过
Ctrl+D或右键菜单添加书签时,扩展会立即将新书签同步到 MarkStackAI。 - 删除书签:在 Chrome 书签管理器中删除书签或文件夹时,对应的变更会同步到服务端。
- 移动书签:将书签从一个文件夹拖到另一个文件夹,位置变更会即时同步。
- 修改书签:编辑书签的标题或 URL,修改内容会自动推送。
同样,当你在 MarkStackAI 的 Web 界面中修改书签时,扩展也会定期拉取最新数据,将变更同步到 Chrome 浏览器中。这个拉取间隔可以在扩展设置中配置,默认为每 5 分钟检查一次。
离线暂存与自动重试
网络不是永远稳定的。当你在离线状态下操作书签时,扩展不会丢失这些变更,而是将操作记录暂存在本地队列中。
暂存机制的工作流程如下:
- 捕获到书签变更事件。
- 尝试向服务端发送同步请求。
- 如果网络不可用或请求失败,将变更操作序列化后存入本地队列。
- 当网络恢复时,自动按顺序重放队列中的操作。
- 重放成功后清除队列中已处理的记录。
自动重试采用指数退避策略:第一次失败后等待 5 秒重试,第二次等待 15 秒,第三次等待 45 秒,以此类推。最长等待时间不超过 5 分钟。这种策略既保证了同步的及时性,又不会在网络长时间中断时过度消耗资源。
冲突解决
双向同步不可避免地会遇到冲突。比如你在 Chrome 中修改了书签的标题,同时在 Web 端也修改了同一个书签的标题,两边的修改内容不同。
MarkStackAI 采用「最后写入优先」(Last Write Wins)的冲突解决策略,配合时间戳比对:
- 每次书签变更都会记录精确的时间戳。
- 当检测到冲突时,保留时间戳更新的那一方的修改。
- 被覆盖的版本不会丢失,可以在操作日志中查看历史变更。
这种策略简单直观,在绝大多数场景下都能给出合理的结果。如果你需要精确控制同步行为,可以在扩展设置中暂时关闭自动同步,手动触发同步操作。
快速收藏功能
除了同步已有书签,Chrome 扩展还提供了快速收藏当前网页的功能。点击扩展图标后,面板会显示当前网页的标题和 URL,你可以:
- 选择要保存到的文件夹(下拉菜单展示完整的文件夹树)。
- 修改书签标题(默认使用网页标题)。
- 添加标签,用逗号分隔多个标签。
- 点击「保存」一键收藏。
快速收藏会同时在 MarkStackAI 服务端和 Chrome 本地创建书签,无需等待下次同步。整个操作可以在两三秒内完成,比 Chrome 自带的收藏功能更加灵活。
同步配置选项
扩展的设置页面提供了以下配置选项:
- 服务器地址:MarkStackAI 后端 API 的地址。
- 同步间隔:自动拉取服务端变更的时间间隔,范围 1 到 30 分钟。
- 同步范围:可以选择同步所有书签文件夹,或只同步指定的文件夹。
- 自动同步开关:可以临时关闭自动同步,改为手动触发。
- 通知设置:同步完成或失败时是否显示浏览器通知。
常见问题排查
使用同步功能时可能遇到以下问题:
问题:扩展显示"连接失败"
检查服务器地址是否正确,确保后端服务正在运行。如果是自部署环境,确认防火墙没有阻断 API 端口。
问题:书签没有同步过来
检查同步范围设置,确认目标文件夹在同步范围内。也可以点击「手动同步」按钮强制触发一次完整同步。
问题:重复书签出现
首次同步时如果选择了「双向合并」模式,可能会因为 URL 的细微差异(比如带不带末尾斜杠)导致未能去重。可以在 MarkStackAI 的 Web 端使用搜索功能找到重复项并手动清理。
小结
Chrome 书签双向同步是 MarkStackAI 区别于其他书签管理工具的核心特性之一。通过实时监听、离线暂存、自动重试和智能冲突解决,它真正实现了浏览器和管理平台的无缝衔接。你不再需要在两个地方分别维护书签,只需要在任何一端操作,变更就会自动同步到另一端。这种体验一旦用上,就再也回不去了。