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

未来的哇咔咔、崔妮蒂3 分钟阅读

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(同步工具)

同步策略(智能双向)

双向自动同步,根据变化方向智能选择:

  1. 电脑本地编辑:自动同步到 iCloud
  2. 云端编辑:自动同步到电脑,再同步回 iCloud
  3. 冲突处理:修改时间较新的文件优先(电脑本地优先)

删除权限:

  • 电脑端:可以删除文件,同步到所有设备
  • 手机端:只能新增和更新,删除操作无效(电脑优先)

延迟设置:5 秒延迟,合并短时间内的多次变化。

总结

这个方案解决了三个问题:

  1. 效率:Agent 操作本地 workspace,效率最高
  2. 体验:用户通过 Obsidian 在其他端查看修改,体验最好
  3. 同步:智能双向同步,电脑本地优先,避免冲突

核心经验:

  • 智能路由根据变化方向选择同步策略,避免循环同步
  • 通过 --update 参数 + 智能路由,确保电脑始终有最终决定权
  • 手机只能新增/更新,删除由电脑控制,简化权限控制
  • 本地优先 + 自动同步,是处理云存储权限问题的通用模式