基本实现了 obsidian 笔记的 macos ios win 多端端实时同步( 安卓还没测试..理论上应该是正常使用 ).
欢迎大家踊跃尝试…
地址和详细介绍:

插件安装 以及 开发状态
目前这个插件正在申请上架 官方三方市场 ( 官方插件审核比较慢 )…
上架申请地址 Add plugin: Better Sync by haierkeys · Pull Request #5851 · obsidianmd/obsidian-releases · GitHub ( 欢迎围观… )
如果你想马上使用 需要手动下载安装插件…
另外 同步使用的服务端 是 基于 go + websocket + sqlite3 ..同步效率蛮高的
后续开发功能 会增加 自动同步到 各类 云存储, 比如 s3,sso,minio,webdav 等…
因为插件在审核期间.. 所以原则上 在审核期间不增加任何新功能…只做一些优化操作..
等上架后才会把更多好玩的点子全部都招呼上..
部署方案案例
目前我在用的部署方案是 用一个 claw JP 小鸡 挂了的docker版服务端…
整体使用基本无感知无打扰…
写这个插件的心路历程以及缘由:
我之前是使用 remotely sync + s3 ( CF R2 ) …
每次写完笔记都会 都会在 同步笔记 那个过程 产生严重的焦虑 外加 增加 等待同步成功的时间成本
(分析原因是 remotely sync 的执行效率以及 s3 服务的访问速度 叠加产生的 )
所以索性就自己写一个同步整套方案,来解决这个obs一直让人不淡定的痛点…
和Self-hosted LiveSync区别
在回答一个童鞋提问我认为有助于方便大家理解区别 ..我用AI整理了下段落,COPY进来
Self-hosted LiveSync 实现原理
- 依赖 CouchDB 的 HTTP API
- 只是开发了客户端,而非完整的 C/S 方案
- 实时更新基于轮询或阻塞长查询实现
- 可能导致手机端网络和电量快速消耗
- 强依赖 CouchDB,难以实现各类扩展和联动功能
- 设置复杂,有超长的注意事项和多个步骤,对小白用户不友好
Obsidian-Better-Sync 特点
- 客户端和服务端完全独立实现
- 服务端基于 Golang + Websocket + Sqlite 构建
- 采用 Websocket 协议实现真正的多端实时同步
- 大多数直播平台也采用此协议
- 基于 TCP 的心跳机制,手机端比 HTTP 协议消耗更少
- Go 程序并发处理性能高,同步速度快,用户基本无感知
扩展性与灵活性
- 服务端独立实现,可增加多种功能(如备份到云存储或 WebDAV),目前只是一个想法,服务端尚未支持 等待 code
- 数据库可灵活替换,支持 Sqlite(默认)或 MySQL( 需要改动几行部分源码 )
- 采用 Sqlite 是为简化用户部署,无需额外搭建数据库环境
易用性
- 设置超级方便:服务端架设好后,只需在插件端粘贴配置即可完成
- 相比 Self-hosted LiveSync 的复杂设置更加用户友好
安全性
- 基于 SSL 的 WSS 协议加密已足够安全
- 作者认为额外的端到端加密可能是多余的
注:作者表示会注意功能边界,避免与官方同步功能过度竞争导致插件被下架