Jiao Yingxing10k downloadsTwo-way OneDrive sync for Obsidian, with conflict safeguards, mobile support, and optional settings/plugin sync.
为了让所有朋友都能轻松解决 Obsidian 同步问题,我做了这个插件:初次部署只要 2 分钟。如果你还在用 Remotely Save + OneDrive,一定要试试 EasySync。
EasySync 是新一代基于 OneDrive 的双向同步插件——仅需登录 OneDrive 账号,就能在电脑、手机和平板之间同步仓库;冲突可控,移动端也流畅,笔记和设置同步各有独立开关。支持 Windows、macOS、Linux、iOS 和 Android。
| 特点 | 说明 |
|---|---|
| 🔍 不靠时间判断文件,靠内容 | 给文件内容算 SHA-256 哈希指纹,只比对内容是否真的变了——旧文件拷回来、系统时间跳了,都骗不到它,几乎不会误覆盖你的笔记。 |
| ⚖️ 冲突不替你乱选 | 两台设备都改过的笔记,不挑一个覆盖另一个:两个版本并排展示、标出差异,由你决定留哪个。 |
| 👀 同步情况一目了然 | 同步失败的、冲突待处理的、太大被跳过的文件,全部列在侧栏里,不是一条几秒就消失的提示。 |
| 🎛️ 想同步什么,自己选 | 笔记和附件默认同步;编辑器设置、外观、主题、快捷键、核心插件、社区插件、插件数据,每一项都有独立开关。 |
| 🛡️ 一直在悄悄保护你的数据 | 上传前重算文件哈希,确认内容没有中途变化;下载的文件覆盖本地前先复核;中断后从已完成的进度继续;云端删除默认不动本地文件,先转给你确认。 |
| ☁️ 数据只在你自己的 OneDrive 里 | 直连 Microsoft 官方接口,不经过第三方服务器;没有遥测和广告,源码公开在 GitHub。 |
在 Obsidian 中打开:
设置 → 第三方插件 → 浏览 → 搜索 EasySync → 安装并启用
需要 Obsidian 1.11.4 或更高版本。
也可以从 GitHub Releases 手动安装:下载 main.js、manifest.json 和 styles.css,放入:
<你的仓库>/.obsidian/plugins/easy-sync/
然后在 Obsidian 中启用插件。
所有设备使用相同的仓库名:EasySync 按仓库名区分同步空间,名称不同就是两个独立的同步空间。
打开:
Obsidian 设置 → EasySync → 登录 OneDrive
登录会拉起系统浏览器完成 Microsoft 授权;移动端在授权完成后按页面提示返回 Obsidian 即可。
先在内容最完整的设备上点击“立即同步”:EasySync 会先展示同步计划,确认前不会上传、覆盖、移动或删除你的文件。确认并等这轮完成后,再去其他设备同步。
如果新设备还没有内容:
云端已有同名仓库的同步状态时,新设备会提示加入;从旧版升级则可能先显示同步方案升级——请先把其他设备更新到当前版本,再按提示确认。
首次同步要扫描全部文件、计算指纹、建立共同基线,文件多或网络慢时会明显久于之后的同步。之后的同步主要核对增量变化,大文件分片上传,移动端下载后先验证再替换本地文件。
EasySync 把每个仓库分别存放在 OneDrive 的应用目录中:
应用/EasySync/vaults/<仓库名>/files/<你的文件路径>
例如:
应用/EasySync/vaults/我的笔记/files/项目/计划.md
files 目录就是仓库里参与同步的文件,可在 OneDrive 网页版或客户端查看。同级的 .easy-sync 目录保存同步状态,请不要手动修改、移动或删除其中的文件。
同步文件保存在你自己的 OneDrive 账户中。EasySync 直接连接 Microsoft 登录和 Microsoft Graph,不使用第三方中转服务器,同步路径限制在应用目录 应用/EasySync/ 内。
当前 Microsoft 授权包括:
Files.ReadWrite.AppFolder:读写 EasySync 的 OneDrive 应用目录;Files.Read:完成文件读取和下载;没有遥测、广告或行为分析;诊断日志保存在本地插件目录,诊断报告只在你主动生成时才写入仓库。源码公开在 GitHub,供用户审查。
被删除的云端文件,可按你的 OneDrive 账户策略从回收站恢复。但回收站和同步记录都不能替代独立备份——重要内容请定期备份到同步工具管理不到的位置。
其他选项可以按需要开启:
| 设置 | 建议 |
|---|---|
| 同步排除 | 只影响当前设备;所选文件夹不会上传或下载,现有文件不会仅因排除而被删除 |
| 同步范围 | 编辑器设置、外观、主题与代码片段、快捷键、书签和核心插件等内容均可独立控制 |
| 社区插件 | 插件文件可逐项同步;各插件的 data.json 由“社区插件数据”单独控制 |
| 社区插件数据 | 各插件的 data.json 可逐项选择;该功能仍属实验性,开启前请备份各设备上的插件设置 |
| EasySync 自同步 | 默认关闭;需要把 EasySync 更新同步到其他设备时再开启 |
| 自动同步 | “定时同步”和“修改后触发同步”可分别配置;关闭后仍可手动点击“立即同步” |
| 自动处理 | “合并不重叠的文本修改”默认开启;“将远端删除同步到本地”默认关闭,无法证明安全时仍会转为冲突或待处理 |
| 诊断日志 | 日常可以关闭;排查同步问题时开启并生成诊断报告 |
| 通知弹窗 | 默认显示全部;可改为“仅重要”或“关闭”;登录过期等关键提醒始终显示 |
设置保存在当前设备的插件数据中,并按设备独立生效(如同步排除、通知弹窗等级);不会自动改变其他设备或仓库的配置。
开启对应选项后,以下 .obsidian 中的对象会同步:
app.json)appearance.json)themes/)与代码片段(snippets/)hotkeys.json)core-plugins.json)bookmarks.json)main.js、manifest.json、styles.css);插件数据(data.json)需在“社区插件数据”中另行选中(实验性)社区插件的启用状态不属于同步范围:各设备可以分别启用或停用插件,互不影响。
注意:即使开启了“自动合并不重叠的文本修改”,.obsidian 中的文件也不会自动合并——那里的冲突始终由你选择保留本地或云端。
.obsidian 白名单之外的所有文件——插件在其插件目录中生成的配置、缓存、会话记录等,以及配置目录根级的其他文件——默认只留在当前设备;.git、.trash)默认不参与普通同步;.trash/、.DS_Store、Thumbs.db 默认排除;需要跨设备共享的内容,请放在普通可见文件夹中。
EasySync 记录每个文件上一次成功同步的内容作为基线,用内容哈希分别比较本地和远端各发生了什么变化。
以下情况可以自动处理:
以下情况通常需要人工决定或重新核对:
EasySync 不会因为某个文件“看起来更新”就直接覆盖另一端。
如果你原本使用其他同步方式,可以按下面的步骤迁移。迁移期间请记住三件事:保留原仓库和独立备份;不要让两种同步工具同时管理同一个本地仓库;启动首次同步后,如果计划里出现预期之外的大量上传、下载或冲突,先取消,检查仓库名、目录层级、同步范围和加密状态再重来。已经放在 EasySync 云端目录里、路径和内容与本地完全一致的文件,首次同步只会建立共同基线,不会重新上传。
如果仓库直接位于 OneDrive 同步目录:先确认 OneDrive 已完成同步、所有文件都已完整下载(而不是云端占位符);关闭 Obsidian,暂停 OneDrive,把整个仓库复制到不受 OneDrive 管理的普通本地目录,并在 Obsidian 中打开这个副本。
安装并启用 EasySync,登录原仓库所在的 OneDrive 账号,但先不要开始同步;通过 OneDrive 网页版,把原仓库根目录下的全部内容复制到 应用/EasySync/vaults/<你的仓库名>/files/——直接放入 files,不要再多套一层仓库名。最后启动首次同步;确认结果正常后,再处理原 OneDrive 目录中的仓库。
先完成最后一次同步并确认成功,然后停用所有设备上的 Remotely Save。
如果没有启用远端加密,可以通过 OneDrive 网页版,把 应用/remotely-save/<你的仓库名>/ 中的仓库内容复制到 应用/EasySync/vaults/<你的仓库名>/files/;直接复制仓库内容,不要多套一层仓库名,也不要复制 Remotely Save 的控制文件。如果自定义过远端目录,以实际目录为准。
如果启用了远端加密,需要先用 Remotely Save 把仓库完整还原到本地,再由 EasySync 执行首次上传。
不要先关闭 iCloud。请在“文件”App 中确认 iCloud 云盘/Obsidian/<你的仓库名>/ 已完整下载;仍保存在云端的内容可长按并选择“保留下载”。然后在 Obsidian 中创建一个名称相同、但不存储到 iCloud 的本地仓库,关闭 Obsidian,将原仓库根目录下的全部内容复制到 我的 iPhone/Obsidian/<你的仓库名>/ 或 我的 iPad/Obsidian/<你的仓库名>/ 中的新仓库。
重新打开 Obsidian,确认笔记、附件和文件夹完整后,再安装 EasySync 并执行首次同步。iCloud 与 EasySync 使用的 OneDrive 是两个独立云端,因此仍需完成一次首次上传;原 iCloud 仓库应保留到 EasySync 上传完成且再次同步结果稳定后,再决定是否删除。
EasySync 是跨设备文件同步工具,不是多人实时协作系统。
可以。数量没有限制,取决于你的 OneDrive 存储空间。同一账号下,仓库名相同的设备同步的是同一个仓库;仓库名不同,就是不同的同步空间,互不影响。
EasySync 不提供端到端加密:云端副本是原始文件,保存在你自己的 OneDrive 里,可以随时查看(见第 2 节)。
数据安全来自三方面:文件只保存在你自己的 OneDrive 账号,直连 Microsoft,不经过第三方服务器;删除等敏感操作有确认与保护机制,误删的文件可按账户策略从 OneDrive 回收站恢复;OneDrive 账号自身的登录保护和两步验证同样保护这些文件,建议为 Microsoft 账号开启两步验证。
如果你需要“连云服务商也无法读取内容”的端到端加密,EasySync 目前不提供。
EasySync 目前只支持 OneDrive。增量核对、分片上传、变更检测都基于 OneDrive 官方接口的机制实现,不是换个服务器地址就能支持的。如果你正在使用其他同步方案,第 5 节的迁移指南覆盖了从 OneDrive 目录、Remotely Save 和 iCloud 转入的路径。
不收费。EasySync 按 MIT License 开源,全部功能免费。
EasySync 采用 MIT License 开源。