| src | ||
| tests | ||
| .gitattributes | ||
| .gitignore | ||
| LICENSE | ||
| manifest.json | ||
| package-lock.json | ||
| package.json | ||
| README-en.md | ||
| README.md | ||
| styles.css | ||
| tsconfig.json | ||
| versions.json | ||
| vitest.config.ts | ||
易同步(EasySync)
基于 OneDrive 的 Obsidian 双向同步插件。冲突可控,移动端可用,笔记和设置同步各有独立开关。
已在 Obsidian 官方插件商店上架。在桌面端和移动端稳定运行了数千次同步,有数百项自动化测试覆盖核心链路。日常增量同步通常在 2 秒左右完成,你几乎感觉不到它的存在——直到有冲突需要你决定的时候。
⚡ 它和别的同步插件有什么不同
不拖 Obsidian 启动速度。 按我们当前的测量,EasySync 冷启动额外开销大约 30 毫秒,打开 Obsidian 基本无感。(Remotely Save 约 200ms+,相差 6 倍)
不靠时间判断文件,靠内容。 多数同步插件只看文件的修改时间——两个设备一起改就会覆盖。EasySync 不这么做,它给文件内容算一个 SHA-256 哈希指纹,只比对内容是否真的变了。你把旧文件拷回来、在不同设备上编辑、系统时间跳了——这些都骗不到它。EasySync几乎不会误覆盖你的笔记。
冲突不替你乱选。 同一份已同步文本在两台设备修改了互不重叠的位置,EasySync 会合并两边修改;同一行、Obsidian 配置目录、没有可靠共同版本或其他无法证明安全的场景仍会展示差异,让你自己决定留哪边。PDF、图片等二进制文件则会列出两边文件的大小和时间供你参考。
同步情况一目了然。 同步失败的、冲突待处理的、因为太大被跳过的文件——全部列在侧栏里,不会只弹一条几秒钟就消失的提示。你可以完整看到,同步更可控、更安心。
想同步什么,自己选。 笔记和附件是基础。Obsidian 编辑器设置、外观、主题、快捷键、核心插件、社区三方插件、插件数据——每一项都有独立开关。你不用再纠结"要么全同步,要么全不同步"。
一直在悄悄保护你的数据。 上传前会重新算一遍文件哈希指纹,确认没有中途变化。从云端下载的文件在覆盖本地之前也会复核。远端删除默认先问你;只有你明确开启“将远端删除同步到本地”后,符合安全条件的删除才会自动处理。这些事情你都看不见,但它会默默去做。
🔒 隐私与数据安全
你的数据存在哪
EasySync 只把数据存到你自己 OneDrive 的 App Folder 里——这是 OneDrive 为每个应用单独划出的隔离空间。EasySync 看不到你的其他文件,其他应用也看不到 EasySync 的数据。所有文件都通过 Microsoft 的加密传输通道同步,没有中间环节。
EasySync 对于 OneDrive 的访问权限
它向 Microsoft 申请的权限是你能给的最小授权:
Files.ReadWrite.AppFolder:仅限自己的 App Folder,不能访问 OneDrive 其他位置Files.Read:读取文件基本信息,用于同步前比对有没有漏掉什么
不申请全盘读写权限,也不申请访问你的邮件、联系人或其他 Microsoft 服务。
数据会离开 OneDrive 吗
不会。 EasySync 只和 Microsoft 的登录和 OneDrive 接口通信。没有第三方服务器,不经过任何中介。你的每一份笔记从 Obsidian 到 OneDrive 之间只有你和 Microsoft 两台机器。
会采集我的使用数据吗
不采集。 没有遥测,没有分析上报,没有用户画像。诊断日志是纯本地的,你可以删掉、也可以导出自己看——里面记录了每次同步的耗时、文件大小和错误原因。除非你主动把它同步到别的设备,否则它永远不会离开你的电脑。
代码能自己看吗
能。 源码公开在 GitHub 仓库,任何人都可以审查。数百项自动化测试覆盖核心同步流程,每次改动后跑通才会发布。
OneDrive 还帮你做了什么
选 OneDrive 不只是因为免费——它本身就是一层额外的保护:
直接可见。 打开 OneDrive 网页版或手机 App,在 应用 → EasySync → 你的仓库名 下,就能直接看到和浏览所有同步过去的笔记。OneDrive 是中转站,也是你的实时云端备份。
回收站兜底。 在 Obsidian 里误删了文件、同步把删除同步到了云端——OneDrive 回收站还会再帮你保留一段时间。个人 Microsoft 账号默认保留 30 天,期间随时可以还原。这是 OneDrive 自带的机制,让你的笔记多了一道免配置的兜底。
🚀 2 分钟开始用
- 在 Obsidian 社区插件中搜索 EasySync 并安装
- 打开设置,点登录,用 Microsoft 账号授权
- 点 立即同步
首次同步需要扫描本地仓库并建立云端对照,文件多的话可能需要比较久的时间。
也可以从 GitHub Releases 手动安装:下载
main.js、manifest.json、styles.css三个文件,放入<vault>/.obsidian/plugins/easy-sync/,再到设置里启用。
📖 使用教程
第一步:注册 Microsoft 账号
EasySync 基于 OneDrive,你需要一个 Microsoft 个人账号。如果你已经有 Outlook 邮箱,直接用那个登录就行。没有的话:
- 打开 outlook.com,点击"创建免费账户"
- 填一个你喜欢的邮箱名(比如
你的名字@outlook.com),设置密码 - 完成验证,账号就注册好了
- 在 Obsidian 里打开EasySync设置,用这个账号登录
整个过程大概 3 分钟,不需要手机号,不需要付费,不需要任何技术背景。
第二步:在所有设备上使用同一个仓库名
跨设备同步的关键:你在每台设备上的 Obsidian 仓库名必须完全一样。EasySync用仓库名来区分"这是哪个仓库的笔记"——两个名字不同的仓库,就认为是两个独立的同步空间。
- 如果你已经有一个叫"我的笔记"的仓库,在新手机上新建仓库时也填"我的笔记"
- 如果你还没开始,建议先想好一个名字,在所有设备上统一使用
- 仓库名区分大小写——"my vault"和"My Vault"会被当成两个不同的仓库
第三步:首次同步
首次同步会做一次完整的"对账"——扫描你本地所有文件,和云端建立对照。这里有几个建议:
- 先同步内容最全的那台设备。 如果你电脑上有一千个文件、手机上是空的,先在电脑上同步——它会把本地文件推送到云端。然后打开手机,手机从云端拉下来就行了。
- 两边的仓库都有内容?也没关系。 EasySync 会自动识别:同一个文件两边都有且内容一样的就跳过;只有一边有的就同步过去;从同一已同步版本出发、修改互不重叠的文本会安全合并;其他双端修改会标为冲突,让你来决定。
- 第一次同步需要耐心。 每个文件都要扫描、算指纹、传输,文件越多越慢。几百个MD文件可能几分钟,几千个文件可能需要十几分钟甚至更久。
📋 功能清单
| 能力 | 说明 |
|---|---|
| 双向同步 | 笔记、图片、音频、PDF——仓库里的文件都在同步范围 |
| 设置同步 | 编辑器、外观、主题、快捷键、核心插件,每项独立开关 |
| 社区插件同步 | 插件代码和插件数据分开控制,各有一个开关 |
| 冲突处理 | 无法安全自动处理的文本逐行对比差异;PDF/图片等展示大小和时间,手动选边 |
| 文本自动合并 | 同一可靠基线上的不重叠修改会自动合并;同一行和 Obsidian 配置目录冲突固定人工处理 |
| 自动处理 | 可选将远端删除同步到本地,默认关闭;关闭时继续逐项或批量确认 |
| 恢复副本 | 从云端下载覆盖本地前,先保存一份 .easy-sync-recovery 副本 |
| 大文件 | 超过 50 MB 自动分片上传,下载按运行环境选最优路径 |
| 安全保护 | 上传前重算指纹、下载覆盖前先备份、远端删除默认确认、一轮变更过半先暂停、换账号自动阻断 |
| 桌面端 | Windows / macOS / Linux |
| 移动端 | iOS / Android |
| 诊断报告 | 出问题时一键导出 Markdown 报告,含文件大小、耗时、错误详情 |
| 中英文界面 | 跟随 Obsidian 语言设置自动切换 |
暂时不做的
| 场景 | 说明 |
|---|---|
| 多人同时编辑同一文件 | EasySync不是实时协作工具,不同设备不要同时改同一个文件 |
| 在一台设备上改名/移动文件,另一台自动识别 | 目前另一台会看到"新增一个文件 + 旧文件待删",这个场景的自动识别还在做 |
⚖️ 和其他方案比
| EasySync | Obsidian Sync | Remotely Save | |
|---|---|---|---|
| 存储 | 你自己的 OneDrive | Obsidian 官方服务器 | OneDrive / S3 / Dropbox 等 |
| 费用 | 免费(需 OneDrive 账号) | $5/月 | 免费 |
| 同步机制 | SHA-256 看内容 | — | 修改时间 |
| 冷启动耗时 | ~30ms | — | — |
| 日常同步速度 | ~2s | — | 取决于文件数 |
| 冲突处理 | 类git逐行对比 | 版本历史 + 合并 | 选一边保留 |
| 设置同步 | 8 项独立开关 | 支持 | 不支持 |
| 移动端 | 完整支持 | 完整支持 | 完整支持 |
| 大文件分片 | 支持 | 支持 | 不支持 |
| 源码 | 公开可审查 | 闭源 | 开源 (Apache 2.0) |
📦 安装
社区插件: Obsidian 设置 → 社区插件 → 搜索 EasySync → 安装 → 启用
手动安装: 从 GitHub Releases 下载最新版,解压到 <vault>/.obsidian/plugins/easy-sync/
需要: Obsidian 1.11.4 或更高版本,一个 Microsoft 个人账号。
📄 许可
EasySync 采用 source-available 许可——源码开放供审查和学习,不是开源授权。完整条款见 LICENSE。