使用 rclone 同步代理工作区与云存储(Dropbox、Google Drive、S3 等)
工作空间- 同步是一项面向实际任务的技能,主要用于用云存储同步代理工作空间;模式需要 —— 选择邮箱( 收件箱/ 出件箱, 最安全) , 镜像( 远端) , 或 双同步( 双向, 高级);
该技能适合需要稳定复用相关能力的场景,可作为自动化工作流的一部分,也便于后续检查、调整和扩展。从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;
若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。
将 agent 工作区与云存储同步。mode 为必填项 —— 可选 mailbox(收件箱/发件箱,最安全)、mirror(远程 → 本地)或 bisync(双向同步,高级模式)。
当用户提出以下请求时,使用该技能:
| 模式 | 方向 | 说明 |
|---|---|---|
mailbox(推荐) |
推送 + 收件箱/发件箱 | 工作区向云端推送;_outbox 中的文件上传至 agent 的 _inbox。最安全。 |
mirror |
远程 → 本地 | 单向同步:工作区从远程镜像拉取。安全 —— 本地永远不会覆盖远程内容。 |
bisync |
双向 | 双向同步。功能强大,但需谨慎配置。 |
每次同步周期执行以下操作:(1) 将工作区内容推送至云端(排除 _inbox/ 和 _outbox/);(2) 使用 rclone move 将云端 _outbox/ 中的文件移入工作区 _inbox/(传输完成后从云端删除)。启动时,会初始化云端 cloud:_outbox 和本地 _inbox/。
用户将文件放入本地 _outbox/ 文件夹(由云服务提供商桌面应用自动创建),这些文件将到达 agent 的 _inbox/。agent 或其他技能可从此处处理这些文件。
启用 notifyOnInbox: true 后,当文件进入 _inbox 时,agent 将被唤醒。系统事件将列出新增文件名,供 agent 处理。默认关闭 —— 每次通知均消耗一次 agent 调用次数。
启用 ingest: true 后,本地 inbox/ 文件夹将单向 **上传** 至远程工作区(仅追加,不可删除)。如需更健壮的方案,请改用 mailbox 模式。
openclaw workspace-sync status
显示:云服务提供商、同步模式、上次同步时间、同步次数、错误次数、运行状态。
openclaw workspace-sync sync
在 mailbox 模式下:推送工作区并清空 _outbox;在 mirror 模式下:从远程拉取最新内容;在 bisync 模式下:执行双向同步。
openclaw workspace-sync sync --dry-run
openclaw workspace-sync sync --direction pull # 远程 → 本地 openclaw workspace-sync sync --direction push # 本地 → 远程
openclaw workspace-sync sync --resync
警告:--resync 具有破坏性(仅限 bisync 模式)。 该操作会将双方所有文件完整复制一遍,使其完全一致 —— 已删除的文件将恢复,且全部内容均会被重新传输。仅当明确需要重建 bisync 基线时才使用。插件绝不会自动执行 resync。
openclaw workspace-sync list
列出已配置的云存储路径中的文件。
工作区同步通过 openclaw.json 中的插件条目进行配置。推荐格式采用嵌套的 sync 和 backup 块(也支持扁平化配置,即键值直接置于 config 根层级):
{
"plugins": {
"entries": {
"openclaw-workspace-sync": {
"enabled": true,
"config": {
"sync": {
"provider": "dropbox",
"mode": "mailbox",
"remotePath": "",
"localPath": "/",
"interval": 60,
"timeout": 1800,
"onSessionStart": true,
"onSessionEnd": true,
"exclude": [".git/**", "node_modules/**", "*.log"]
}
}
}
}
}
}
以下键位于嵌套格式的 sync 对象下,或扁平化格式中直接位于 config 根层级。
| 键 | 默认值 | 说明 |
|---|---|---|
provider |
"off" |
dropbox、gdrive、onedrive、s3、custom 或 off |
mode |
必填 | mailbox(收件箱/发件箱,最安全)、mirror(远程 → 本地)或 bisync(双向同步) |
ingest |
false |
启用本地收件箱以向 agent 发送文件(仅 mirror 模式支持) |
ingestPath |
"inbox" |
用于接收文件的本地子目录名 |
notifyOnInbox |
false |
当文件到达 _inbox 时唤醒 agent(仅 mailbox 模式)。每次通知消耗调用额度。 |
remotePath |
"openclaw-share" |
云存储中的文件夹名称 |
localPath |
"shared" |
工作区内参与同步的子目录 |
interval |
0 |
后台同步间隔(单位:秒;0 表示仅手动触发,最小值为 60) |
timeout |
1800 |
单次同步操作最大耗时(单位:秒;最小值为 60) |
onSessionStart |
false |
agent 会话开始时同步 |
onSessionEnd |
false |
agent 会话结束时同步 |
conflictResolve |
"newer" |
newer、local 或 remote(仅 bisync 模式支持) |
exclude |
**/.DS_Store |
同步时需排除的 glob 模式 |
配置启用后,同步将自动执行:
_outbox 发送文件。数据流永不重叠。--resync 强制重建,且将全量复制所有文件。mailbox 或 mirror 模式。--recover 和 --resilient 参数在中断后恢复(仅 bisync 支持)首先,通过操作系统包管理器安装 rclone:
# macOS brew install rclone # Debian/Ubuntu sudo apt-get install rclone # Fedora sudo dnf install rclone # Arch sudo pacman -S rclone # Alpine sudo apk add rclone
其他平台请参考 https://rclone.org/install/
安全提示: 本技能绝不会将远程安装脚本管道至您的 shell。请始终通过操作系统包管理器安装 rclone,然后运行配置向导:
openclaw workspace-sync setup
配置向导仅尝试通过检测到的操作系统包管理器(brew/apt/dnf/yum/pacman/apk)安装 —— 绝不会使用 curl | sudo sh 方式。
bisync 状态已丢失。执行 --resync 前,请务必确认双方状态正确:
openclaw workspace-sync sync --resync
在配置中增大 timeout 值(默认为 1800 秒 / 30 分钟):
{ "timeout": 3600 }
rclone lsd cloud:/ rclone ls cloud:openclaw-share
mode 为 必填项 —— 请设置为 mailbox(收件箱/发件箱,最安全)、mirror(远程 → 本地)或 bisync(双向同步)_outbox 和工作区 _inbox**/.DS_Store —— 可在配置中自定义排除规则在插件配置中添加 backup 块,即可实现自动化的加密快照备份至您自己的云存储(S3、R2、B2 等)。备份通过流式方式(tar | rclone rcat)完成 —— 不生成本地临时文件,即使磁盘空间紧张亦可正常运行。
openclaw workspace-sync backup now # 立即创建快照 openclaw workspace-sync backup list # 列出可用快照 openclaw workspace-sync backup restore # 恢复最新快照 openclaw workspace-sync backup status # 检查备份服务状态
{
"backup": {
"enabled": true,
"provider": "s3",
"bucket": "my-backups",
"prefix": "agent-name/",
"interval": 86400,
"encrypt": true,
"passphrase": "${BACKUP_PASSPHRASE}",
"include": ["workspace", "config", "cron", "memory"],
"retain": { "daily": 7, "weekly": 4 }
}
}
| 键 | 默认值 | 说明 |
|---|---|---|
enabled |
false |
启用定时备份 |
provider |
父级 provider | 云服务提供商(可与 sync provider 不同) |
bucket |
— | S3/R2 存储桶名称 |
prefix |
"" |
存储桶内的路径前缀 |
interval |
86400 |
备份间隔(单位:秒;最小值限制为 300) |
encrypt |
false |
AES-256 客户端侧加密 |
passphrase |
— | 加密密钥短语(建议使用环境变量) |
include |
["workspace", "config", "cron", "memory"] |
需备份的内容 |
retain |
7 |
保留 N 个快照,或指定 { daily: N, weekly: N } |
相关专题
热门下载
相关下载
精品课程
共6课时 | 54.7万人学习
共89课时 | 133.7万人学习
共49课时 | 82.4万人学习