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

插件安装 以及 开发状态
目前这个插件正在申请上架 官方三方市场 ( 官方插件审核比较慢 )...
上架申请地址 https://github.com/obsidianmd/obsidian-releases/pull/5851 ( 欢迎围观... )
如果你想马上使用 需要手动下载安装插件...
另外 同步使用的服务端 是 基于 go websocket sqlite3 ..同步效率蛮高的
后续开发功能 会增加 自动同步到 各类 云存储, 比如 s3,sso,minio,webdav 等...
因为插件在审核期间.. 所以原则上 在审核期间不增加任何新功能...只做一些优化操作..
等上架后才会把更多好玩的点子全部都招呼上..
关于服务端注意事项
目前 服务端 obsidian-better-sync-service 项目 webgui相关还有一些小问题..
因为 webgui 项目 是从 obsidian-image-api-gateway 复制过来的..
所以除了登录注册和复制配置 之外其他功能为无效界面.. 请忽视...
除了webgui 之外的服务已经没什么太大问题了..
( 个人时间有限, 又要obs前端 又要后端..还有后端webgui 所以请大家包容哈,, 后续上架之后的几个版本会吧这些问题全部解决掉 )
不过由于webgui 排版的问题..近期准备调整 webgui 的版面重构..
部署方案案例
目前我在用的部署方案是 用一个 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)
- 数据库可灵活替换,支持 Sqlite(默认)或 MySQL
- 采用 Sqlite 是为简化用户部署,无需额外搭建数据库环境
易用性
- 设置超级方便:服务端架设好后,只需在插件端粘贴配置即可完成
- 相比 Self-hosted LiveSync 的复杂设置更加用户友好
安全性
- 基于 SSL 的 WSS 协议加密已足够安全
- 作者认为额外的端到端加密可能是多余的
注:作者表示会注意功能边界,避免与官方同步功能过度竞争导致插件被下架

插眼
收藏
支持