技术深度解析
obsidian-fast-note-sync 的核心是一个以低延迟和数据主权为优先的客户端-服务器架构。该插件本身是一个用 TypeScript 编写的标准 Obsidian 插件,与自托管后端服务器通信。服务器可通过两种实现部署:基于 Rust 的二进制文件(推荐用于性能)和 Node.js 版本(便于设置)。两种实现均使用 WebSocket 连接,与每个 Obsidian 客户端保持持久、双向通信。
同步机制:
- 实时增量同步: 插件并非每次更改都发送整个文件,而是计算差异(使用类似 rsync 滚动校验和的自定义算法),仅传输更改的字节。根据内部基准测试,与全文件同步相比,带宽使用量估计减少 60-80%。
- 冲突解决: 插件采用基于时间戳排序的最后写入者获胜(LWW)策略。虽然简单,但对于单用户场景已足够。更复杂的合并算法(例如基于 CRDT)已在路线图中,但尚未实现。
- 加密: 所有数据在传输前均使用 AES-256-GCM 加密。加密密钥由用户提供的密码短语派生,该密码短语永远不会发送到服务器。这确保了即使服务器被攻破,笔记内容仍然不可读。
性能基准测试:
| 指标 | Obsidian Sync(官方) | Fast Note Sync(自托管) |
|---|---|---|
| 同步延迟(同一局域网) | ~200ms | ~15ms |
| 同步延迟(广域网,美国东海岸到西海岸) | ~800ms | ~120ms |
| 月度成本(1 用户,1GB) | $4.99 | $0(VPS 服务器成本约 $5/月) |
| 数据隐私 | 服务器端加密 | 端到端加密 |
| 设置复杂度 | 一键完成 | 10-15 分钟(Docker 或二进制文件) |
数据要点: 自托管解决方案提供了显著更低的延迟,尤其是在本地网络上,并提供了真正的端到端加密。然而,它需要适度的前期设置工作。
相关 GitHub 仓库:
- haierkeys/obsidian-fast-note-sync(2007 星,日增 +362):主插件仓库。README 包含 Docker、systemd 和手动设置的详细部署指南。
- haierkeys/fast-note-sync-server(配套仓库,约 500 星):Rust 服务器实现。它使用 Tokio 异步运行时和 Warp Web 框架以实现高并发。
该插件的架构有意设计为模块化。同步协议在开放的 API 规范中有文档记录,这意味着理论上可以构建第三方客户端(例如移动应用、CLI 工具)。这种开放性是一种刻意的设计选择,旨在围绕该插件培育生态系统。
关键玩家与案例研究
PKM 生态系统由少数几个玩家主导,每个玩家在同步和隐私方面都有不同的方法。
Obsidian Inc.: Obsidian 背后的公司通过提供本地优先、基于 Markdown 的笔记体验,建立了忠实的用户群。其官方同步服务是重要的收入来源,但因其成本和缺乏端到端加密而受到批评(Obsidian Sync 在其服务器上对静态数据加密,但持有加密密钥)。该公司尚未对此插件公开发表评论,但快速采用表明其订阅模式可能面临威胁。
Logseq: 一个竞争性的开源 PKM 工具,采用基于块的方法。Logseq 提供自己的同步服务(Logseq Sync),每月 5 美元,但也支持通过 Git 或第三方服务进行自托管同步。Logseq 社区一直强烈希望获得更好的同步选项,一些用户已经开始为 Logseq 适配 fast-note-sync 插件(尽管尚未得到官方支持)。
Notion 与 Roam Research: 这些云原生工具内置了同步功能,但它们将用户锁定在专有格式中,并曾面临隐私丑闻(例如 Notion 2023 年的数据泄露)。fast-note-sync 插件吸引了那些正在从这些平台迁移的用户。
同步解决方案对比表:
| 解决方案 | 成本(1 用户) | 自托管 | 端到端加密 | 实时同步 | 平台支持 |
|---|---|---|---|---|---|
| Obsidian Sync | $4.99/月 | 否 | 否(服务器端) | 是 | 所有主流 |
| Fast Note Sync | 免费(自托管) | 是 | 是 | 是 | 所有主流 |
| iCloud Sync(通过 Obsidian) | 免费(含 iCloud) | 否 | 否(Apple 持有密钥) | 是(有延迟) | 仅 Apple |
| Syncthing(手动) | 免费 | 是 | 是 | 接近实时 | 所有主流 |
| 基于 Git 的同步(手动) | 免费 | 是 | 是 | 否(手动推送/拉取) | 所有主流 |
数据要点: Fast Note Sync 是唯一一个将零成本、自托管、端到端加密和跨平台实时同步结合起来的解决方案。其主要竞争对手 Syncthing 需要更多技术配置,并且不能直接集成到 Obsidian 的 UI 中。
知名人物: 该插件的主要开发者 haierkeys 是一位化名的开源贡献者