Jiao Yingxing24k downloads在电脑、手机和平板之间轻松同步你的仓库。Easily keep your vault in sync across your computer, phone, and tablet.
EasySync 让你在电脑、手机和平板之间轻松同步 Obsidian 仓库。
不设服务器,无需复杂配置,登录 OneDrive 直接同步。
支持双向与单向同步两种模式。
[!WARNING] ⚠️ 用前必读
- 不要和其他同步方式混用。 不要把仓库放进 iCloud、OneDrive 客户端等云盘的同步目录,也不要让 Obsidian Sync、Remotely Save 等其他同步工具管理同一个仓库。两个同步程序同时改同一批文件,会互相冲突,甚至出现文件删了又传、传了又删的“回流”现象。你的仓库放在一个普通本地文件夹里,只交给 EasySync 管理即可。
- 每台设备都要分别设置。 同步不是在一边设置好就自动生效的:每台设备上都要安装 EasySync、登录同一个 OneDrive 账号,并各自完成设置、执行同步。
- 不需要安装 OneDrive。 插件直接连接你的 OneDrive 账号,安装插件、登录就够了,不依赖 OneDrive 客户端。
- 各设备的仓库名必须一致。 EasySync 按仓库名识别同步范围,名字不同的仓库会被当成两个互不相干的仓库,不会互相同步。
- 先在内容最全的设备上做首次同步,确认插件给出的同步计划后再继续;其他设备之后同步即可拉取全部内容。 首次同步会建立基线,比日常同步慢,是正常的。
在 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 会先展示同步计划,确认前不会上传、覆盖、移动或删除你的文件。确认并等这轮完成后,再去其他设备同步。
如果你的仓库此前用 Remotely Save 同步,首次同步时 EasySync 会询问是否自动迁移旧仓库,无需重新上传(详见 5.2)。
如果新设备还没有内容:
云端已有同名仓库的同步状态时,新设备会提示加入;从旧版升级则可能先显示同步方式升级——请先把其他设备更新到当前版本,再按提示确认。
首次同步要扫描全部文件、计算指纹、建立共同基线,文件多或网络慢时会明显久于之后的同步。之后的同步主要核对增量变化,大文件分片上传,移动端下载后先验证再替换本机文件。
EasySync 把每个仓库分别存放在 OneDrive 的应用目录中:
应用/EasySync/vaults/<仓库名>/files/<你的文件路径>
例如:
应用/EasySync/vaults/我的笔记/files/项目/计划.md
files 目录就是仓库里参与同步的文件,可在 OneDrive 网页版或客户端查看。同级的 .easy-sync 目录保存同步状态,请不要手动修改、移动或删除其中的文件。
同步文件保存在你自己的 OneDrive 账户中。EasySync 直接连接 Microsoft 登录和 Microsoft Graph,不使用第三方中转服务器,同步路径限制在应用目录 应用/EasySync/ 内。每次上传前会重新计算文件的内容哈希,确认内容没有在中途变化;下载的文件覆盖本机文件前,也会先复核一遍。插件会通过 GitHub 原始文件(raw.githubusercontent.com)和公共 CDN(jsDelivr)检查是否发布新版本——只读取最新版本号,不上传任何内容;优先 GitHub,失败才查询 jsDelivr,仍失败则一小时后静默重试。
当前 Microsoft 授权包括:
Files.ReadWrite.AppFolder:读写 EasySync 的 OneDrive 应用目录;Files.Read:完成文件读取和下载;没有遥测、广告或行为分析;诊断日志保存在本地插件目录,诊断报告只在你主动生成时才写入仓库。源码公开在 GitHub,供用户审查。
EasySync 每次替你删除云端文件时都会留下一份找回线索;被删除的文件与文件夹可以在插件内的「同步回收站」(设置 → 维护 → 高级)里找回:记录保留约 30 天,恢复时由 OneDrive 把文件放回原来的位置,下一次同步回到本机。单个文件过去的版本,在文件右键菜单的「找回历史版本」里查看:OneDrive 自动保存的历史版本、上一轮同步完成前的内容、冲突中被舍弃的本机版本;恢复时生成文件副本,不覆盖任何现有文件(见第 4 节)。
不过,找回和回收站都不能替代独立备份——重要内容请定期备份到同步工具管理不到的位置。
其他选项可以按需要开启:
| 设置 | 建议 |
|---|---|
| 同步模式 | 默认双向同步;可改为单向同步,见 3.3 |
| 同步排除 | 只影响当前设备;所选文件夹不会上传或下载,现有文件不会仅因排除而被删除 |
| 同步范围 | 编辑器设置、外观、主题与代码片段、快捷键、书签和核心插件等内容均可独立控制 |
| 社区插件 | 插件文件可逐项同步;各插件的 data.json 由“社区插件数据”单独控制 |
| 社区插件数据 | 各插件的 data.json 可逐项选择;该功能仍属实验性,开启前请备份各设备上的插件设置 |
| 自动同步 | 总开关下,“启动后立即同步”“定时同步”“修改后触发同步”三条通道分别配置;关闭后仍可手动点击“立即同步” |
| 自动处理 | “合并不重叠的文本修改”默认开启;“将云端删除同步到本机”默认关闭,无法证明安全时仍会转为冲突或待处理 |
| 诊断日志 | 日常可以关闭;排查同步问题时开启并生成诊断报告 |
| 通知弹窗 | 默认显示全部;可改为“仅重要”或“关闭”;登录过期等关键提醒始终显示 |
设置保存在当前设备的插件数据中,并按设备独立生效(如同步排除、通知弹窗等级);不会自动改变其他设备或仓库的配置。
开启对应选项后,以下 .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 不会因为某个文件“看起来更新”就直接覆盖另一端。
冲突中选择「保留云端」时,被舍弃的本机版本会先自动留一份本机备份;舍弃的内容和已删除的文件,都可以用第 2.3 节的找回入口拿回来。
如果你原本使用其他同步方式,可以按下面的步骤迁移。迁移期间请记住三件事:保留原仓库和独立备份;不要让两种同步工具同时管理同一个本地仓库;启动首次同步后,如果计划里出现预期之外的大量上传、下载或冲突,先取消,检查仓库名、目录层级、同步范围和加密状态再重来。已经放在 EasySync 云端目录里、路径和内容与本机完全一致的文件,首次同步只会建立共同基线,不会重新上传。
如果仓库直接位于 OneDrive 同步目录:先确认 OneDrive 已完成同步、所有文件都已完整下载(而不是云端占位符);关闭 Obsidian,暂停 OneDrive,把整个仓库复制到不受 OneDrive 管理的普通本地目录,并在 Obsidian 中打开这个副本。
安装并启用 EasySync,登录原仓库所在的 OneDrive 账号,但先不要开始同步;通过 OneDrive 网页版,把原仓库根目录下的全部内容复制到 应用/EasySync/vaults/<你的仓库名>/files/——直接放入 files,不要再多套一层仓库名。最后启动首次同步;确认结果正常后,再处理原 OneDrive 目录中的仓库。
自动迁移(推荐):登录 OneDrive 后,EasySync 会检测 OneDrive 应用目录里有没有 Remotely Save 建立的同名仓库——检测到时先提示一句,并在从未同步过的仓库首次同步时弹出选择:
自动迁移被 OneDrive 拒绝时(例如 EasySync 的云端目录里已有内容),你的内容不会有任何改动:可以稍后再试、改为直接同步,或按弹窗里的指引手动迁移。
提醒:如果 Remotely Save 开启了远端加密,云端内容是密文,自动迁移不适用——EasySync 检测到加密仓库时不会出现迁移询问,请直接采用下面的手动迁移方式。
手动迁移(备用):先完成最后一次同步并确认成功,然后停用所有设备上的 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,不经过第三方服务器;删除等敏感操作有确认与保护机制,误删的文件可以在插件内的「同步回收站」找回(保留约 30 天),也可以按账户策略从 OneDrive 回收站恢复;OneDrive 账号自身的登录保护和两步验证同样保护这些文件,建议为 Microsoft 账号开启两步验证。
如果你需要“连云服务商也无法读取内容”的端到端加密,EasySync 目前不提供。
EasySync 目前只支持 OneDrive。增量核对、分片上传、变更检测都基于 OneDrive 官方接口的机制实现,不是换个服务器地址就能支持的。如果你正在使用其他同步方案,第 5 节的迁移指南覆盖了从 OneDrive 目录、Remotely Save 和 iCloud 转入的路径。
不收费。EasySync 按 MIT License 开源,全部功能免费。
两者线路不同:上传直接进入微软的存储服务,下载则从微软的文件分发站取回内容——这段线路的质量由网络环境决定,插件无法控制。蜂窝弱信号、晚间高峰或运营商线路不佳时,下载可能只有几十 KB/s 甚至间歇失败,并非插件故障;中断会从断点继续,不会从头重来。长期很慢时,按顺序尝试:
my.microsoftpersonalcontent.com;某些网络下让它走代理反而更稳。my.microsoftpersonalcontent.com 指向可达的 IP。有门槛、可能随微软调整失效,仅作最后手段。仍无改善,请按第 8 节反馈并附上诊断报告,便于分清线路问题与插件问题。
EasySync 采用 MIT License 开源。