OpenClaw:本地文档+云端同步方案

写作背景:我配置OpenClaw需要管理大量文档,但之前一直没有很好的文档管理方案。我的需求就是agent能够高效增删改查文档,同时我可以在多端设备上灵活编辑agent的文档库。
问题与分析
对 Agent 来说,本地 Markdown 文档读写速度快、结构清晰、管理效率最高,但对人来说,md文档的可读性很差,格式上也必须适配阅读器编辑器。本地项目文档上云倒是简单,Google、iCloud都行,但是能适配云端文档的md应用也不好找。
用 Notion 这类云文档工具呢?手机查看体验好,界面美观、跨设备同步。但云端文档API 调用复杂、数据结构嵌套、权限管理麻烦,效率很低。
我最后找到一个中间路线:本地使用 Markdown(Agent 高效),Obsidian 查看(用户体验好)。但需要解决云端同步问题:把项目文档上传到云端,而且必须是obsidian能够适配的iCloud才行。
这样关键问题就清晰了:如何把 OpenClaw 的本地 workspace 同步到 iCloud 的 Obsidian 文件夹?
尝试过的方案:软链接
方案A:软链接指向 workspace
原始文档放在 workspace,iCloud 用软链接指向 workspace。
问题:iCloud 只同步软链接文件本身,不同步指向的内容。其他设备看到的是失效的链接。
方案B:软链接指向 iCloud
原始文档放在 iCloud,workspace 用软链接指向 iCloud。
问题:macOS 对 iCloud 目录有权限限制,Agent 无法执行 ls 等操作,只能读写已知路径。
两个方案都失败了。
最终方案:本地副本 + 智能双向同步
放弃软链接,改为"本地副本 + 智能双向自动同步"。
数据层:
- Workspace:真实目录,主要数据源
- iCloud:真实文件副本,支持跨设备访问
同步层(智能双向):
- 监控:fswatch 同时监控 workspace 和 iCloud
- 一致性:workspace 变化 → 执行正向同步(workspace → iCloud) ; iCloud 变化 → 执行 pull 同步(iCloud → workspace → iCloud)
- 冲突处理:通过 rsync 的
--update参数,保留较新的文件
工具链
| 工具 | 说明 |
|---|---|
| fswatch | 同时监控 workspace 和 iCloud 目录的文件变化 |
| rsync | 增量同步,支持 --update 冲突处理 |
| LaunchAgent | 让监控脚本在后台持续运行,开机自启 |
权限配置
后台服务访问 iCloud 需要特殊权限。在"系统设置 → 隐私与安全性 → 完全磁盘访问权限"中添加:
/bin/zsh(Shell 解释器)/usr/bin/rsync(同步工具)
同步策略(智能双向)
双向自动同步,根据变化方向智能选择:
- 电脑本地编辑:自动同步到 iCloud
- 云端编辑:自动同步到电脑,再同步回 iCloud
- 冲突处理:修改时间较新的文件优先(电脑本地优先)
删除权限:
- 电脑端:可以删除文件,同步到所有设备
- 手机端:只能新增和更新,删除操作无效(电脑优先)
延迟设置:5 秒延迟,合并短时间内的多次变化。
总结
这个方案解决了三个问题:
- 效率:Agent 操作本地 workspace,效率最高
- 体验:用户通过 Obsidian 在其他端查看修改,体验最好
- 同步:智能双向同步,电脑本地优先,避免冲突
核心经验:
- 智能路由根据变化方向选择同步策略,避免循环同步
- 通过
--update参数 + 智能路由,确保电脑始终有最终决定权 - 手机只能新增/更新,删除由电脑控制,简化权限控制
- 本地优先 + 自动同步,是处理云存储权限问题的通用模式