【免费下载链接】yaos
A zero-terminal, real-time sync engine powered by your own Cloudflare Worker.
YAOS 是一款免费的 Obsidian 实时同步插件,它让你只用 4 步、完全不碰终端,就能在自己的 Cloudflare Worker 上搭建一个真正的实时笔记同步引擎。相比 iCloud/Dropbox 的"冲突副本"和 Obsidian Sync 的年费模式,YAOS 采用 CRDT 合并语义——两台设备同时编辑同一篇笔记,改动会自动融合,而不是弹出一份"conflicted copy"让你手动比对。
为什么选择 YAOS 做 Obsidian 笔记同步?
很多新手对"同步方案"的第一反应是:iCloud 省事、Git 太麻烦、Obsidian Sync 太贵。YAOS 的思路是第三条路:把同步服务部署到你自己的 Cloudflare 账号里,用浏览器一键完成,全程无终端、无.env文件、无数据库配置。
| 冲突处理 | 实时性 | 部署方式 | 需要终端 | 费用 | |
|---|---|---|---|---|---|
| iCloud / Dropbox | 冲突副本 | 无 | 托管 | 否 | 免费 |
| Obsidian Sync | 罕见冲突 | 有延迟 | 托管 | 否 | $96/年 |
| Git / LiveSync | 手动解决 | 看配置 | 自托管 | 是 | 免费 |
| YAOS | CRDT 自动合并 | 实时 | 自部署 Cloudflare | 否 | $0 |
数据来源:README.md。
对新手来说,"CRDT 合并"这个词听起来高深,实际体验就是:两边打字都不丢字。底层由 Yjs 引擎维护一份跨设备的实时 vault 状态,相关实现见 src/sync/vaultSync.ts。
YAOS 工作原理:3 分钟看懂架构
不需要深入代码,只需知道 YAOS 由两部分组成:
- Obsidian 插件(源码位于 src/):在你设备本地维护 Yjs 文档,监听文件变化,并把远端更新"物化"回本地磁盘——所以你的 vault 始终是普通 Markdown 文件,脚本、CLI 工具、AI Agent 直接改文件也能被同步(见 docs/architecture.md);
- Cloudflare Worker 服务端(源码位于 server/src/):每个 vault 对应一个 Durable Object 房间,负责存状态、发回执。
几个对新手友好的安全设计:
- 保护优先:当磁盘、CRDT、编辑器三方内容不一致时,YAOS 会保留所有版本,而不是赌一个"赢家"(docs/sync-contract.md);
- 安全刹车:单次同步若将覆盖超过 20 个本地文件且超过 vault 25%,会阻止覆盖并通知你(docs/sync-contract.md);
- 服务器回执:状态栏显示的"已同步"表示服务器已持久化你的最新状态,而不是"另一台设备已收到",这是两个不同概念(docs/sync-contract.md)。
4步搭建 YAOS 实时同步:完整步骤
第 1 步:一键部署你的同步服务器
点击仓库首页的Deploy to Cloudflare按钮(对应部署入口为 server/ 目录)。Cloudflare 会在你的账号里自动创建 Worker 及所需的 Durable Object 绑定,配置文件见 server/wrangler.toml。默认部署为"纯 Markdown"模式,无需任何 Token 或存储桶。
⚠️ 新手提示:部署按钮会生成一个独立的部署仓库(与上游分离)。后续更新插件/服务器版本时,需在 YAOS 设置页使用Open update action触发更新工作流,流程见 docs/operations.md。
第 2 步:Claim 服务器,生成配对密钥
打开 Worker 的 URL,会看到 "Claim your sync server" 页面(页面实现见 server/src/setupPage.ts)。点击Claim按钮,服务器即锁定为你的专属服务,并自动生成 setup token 和移动端二维码。
这一步等于给你的同步引擎"上锁"——之后只有持有该 token 的设备能连接。
第 3 步:安装 YAOS 插件
在 Obsidian 中打开Community plugins,从 Marketplace 搜索YAOS安装并启用(插件元信息见 manifest.json)。
第 4 步:连接 Vault,开始同步
回到 Claim 页面,打开 setup 链接或用手机扫码,YAOS 会自动把服务器地址和 token 填入插件配置,无需手动复制粘贴。设置完成后,设置页顶部会出现 Sync status 分组,显示服务器地址、vault ID、设备名和实时状态(src/settings/settingsTab.ts)。
完事。你的 vault 已经在同步了。🎉
选配:开启附件同步与每日快照
纯文本同步开箱即用;如果你还需要同步图片、PDF 等附件以及每日自动快照,只需再花约一分钟创建一个 Cloudflare R2 存储桶并绑定为YAOS_BUCKET(配置示例见 server/wrangler.toml,说明见 docs/operations.md)。
开启 R2 后你会得到:
- 📎 附件全文件同步(默认单文件上限 10 MB,见 src/settings/settingsStore.ts);
- 📸 每日自动快照 + 手动快照,可以浏览历史版本、对比差异、按文件选择性恢复(快照服务见 src/snapshots/snapshotService.ts);
- ⚙️ 设置页出现Attachment storage状态项,可刷新服务器能力(src/settings/settingsTab.ts)。
跳过 R2 也完全没问题——文字同步不受影响,只是没有附件同步和快照。
常用设置与命令速查
设置页关键项
在 Obsidian 设置 → YAOS 中(实现见 src/settings/settingsTab.ts):
| 设置项 | 作用 | 新手建议 |
|---|---|---|
| Device name | 在其他设备的实时光标旁显示的设备名 | 填 "My laptop" 这类好认的名字 |
| Exclude paths | 排除同步的路径前缀,逗号分隔 | 排除templates/, .trash/这类目录 |
| Max text file size (KB) | 超过此大小的文本文件不同步 | 默认 2048 KB 即可 |
| Show remote cursors | 显示其他设备的实时光标和选区 | 保持开启,体验"双人编辑"的直观感受 |
| Pair another device | 为第二台设备生成配对链接/二维码 | 换手机、平板时必用 |
| Back up connection details | 导出"恢复套件",包含连接信息 | 建议导出并存好,换机救急用 |
实用命令(命令面板搜索)
以下命令注册在 src/commands.ts:
- Reconnect to sync server:手机端同步"卡住"时的第一选择;
- Force reconcile vault with sync state:怀疑本地与服务器不一致时强制执行一次对账;
- Take snapshot now/Browse and restore snapshots:手动打快照、恢复历史版本;
- Import untracked files now:批量导入尚未跟踪的文件;
- Reset local cache (re-sync from server):本地缓存出问题时清掉重拉;
- Nuclear reset (wipe sync state and reseed from disk):核弹级重置——以磁盘为准重建同步状态,慎用。
故障排查:5 个最常见问题的解法
| 症状 | 原因与解法 |
|---|---|
Unauthorized错误 | 插件与服务器 token 不匹配,核对两处是否完全一致后重连 |
R2 not configured | 服务器还没绑定YAOS_BUCKET;不加也能同步文字,只是没附件/快照 |
| 手机端同步停止 | 用 "Reconnect to sync server" 命令;确认网络可用 |
| 某些文件不同步 | 检查排除路径和文件大小上限;打开 debug 日志看细节 |
| 状态一直等待回执 | 重连并等待本地缓存加载完成;回执代表"服务器已存",不是"对方已收到" |
更多排查细节见 docs/operations.md。排查时可用设置页的Show sync debug info本地检查;安全诊断导出会自动脱敏服务器 URL、vault ID、设备名和路径。
当前使用限制(先知道,不踩坑)
YAOS 的边界很明确(docs/operations.md):
- 📁空文件夹不同步(文件夹由文件路径派生);
- 📏 附件上传默认上限10 MB;
- ⚙️
.obsidian配置目录不参与同步; - 🖼️
.canvas、.excalidraw等走附件通道(整文件传输),不做文字级合并; - 单 vault 对应单个 Yjs 文档,服务器内存上限 128 MB,超大 vault 用户留意内存增长。
小结
YAOS 用"零终端 + 4 步 + $0"的组合,把过去只有付费服务或 Git 极客才能拥有的实时无冲突笔记同步变成了普通用户也能完成的流程:部署 Worker、Claim、装插件、连 Vault。它把数据主权(自己的 Cloudflare 账号)和现代冲突处理(CRDT)结合,同时保留了 Markdown 纯文本的本色——对脚本和 AI 工具同样友好。
如果你正受够了冲突副本和同步延迟,不妨现在就花 10 分钟,给自己搭一个专属的 Obsidian 实时同步引擎。🚀
【免费下载链接】yaos
A zero-terminal, real-time sync engine powered by your own Cloudflare Worker.
相关推荐
Obsidian微信读书插件终极指南:3步实现高效笔记同步
Obsidian微信读书插件终极指南:3步实现高效笔记同步 在当今信息爆炸的时代,微信读书已成为许多人的主要阅读平台,但如何将海量读书笔记有效整合到知识管理系统
知识管理知识库Obsidian微信读书插件终极指南:3步实现笔记同步管理
Obsidian微信读书插件终极指南:3步实现笔记同步管理 微信读书作为国内最受欢迎的阅读平台,积累了海量用户的划线笔记和想法,但原生平台存在严重的笔记碎片化问
知识管理知识库【亲测免费】 obsidian-cloud-sync:云端笔记同步的利器
obsidian cloud sync:云端笔记同步的利器 项目介绍 在数字化时代,笔记工具已经成为工作和学习的重要助手。Obsidian 作为一款强大的知识库
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考