Workspace Sync & Backup

Polar Sponsor
爱发电 赞助
.NET 9.0

使用 rclone 同步代理工作区与云存储(Dropbox、Google Drive、S3 等)

工作空间- 同步

功能概述

工作空间- 同步是一项面向实际任务的技能,主要用于用云存储同步代理工作空间;模式需要 —— 选择邮箱( 收件箱/ 出件箱, 最安全) , 镜像( 远端) , 或 双同步( 双向, 高级);

核心要点

  • Use th。
  • 它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。
  • 使用时应结合输入条件选择合适的执行方式,核对必要参数、依赖环境与输出内容,并按原始要求处理异常情况。

使用与执行

该技能适合需要稳定复用相关能力的场景,可作为自动化工作流的一部分,也便于后续检查、调整和扩展。从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;

结果检查与注意事项

若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。

workspace-sync

将 agent 工作区与云存储同步。mode 为必填项 —— 可选 mailbox(收件箱/发件箱,最安全)、mirror(远程 → 本地)或 bisync(双向同步,高级模式)。

触发场景

当用户提出以下请求时,使用该技能:

  • 将工作区与云存储双向同步
  • 备份工作区文件
  • 检查同步状态
  • 修复同步问题
  • 向 agent 工作区发送文件

同步模式

模式 方向 说明
mailbox(推荐) 推送 + 收件箱/发件箱 工作区向云端推送;_outbox 中的文件上传至 agent 的 _inbox。最安全。
mirror 远程 → 本地 单向同步:工作区从远程镜像拉取。安全 —— 本地永远不会覆盖远程内容。
bisync 双向 双向同步。功能强大,但需谨慎配置。

Mailbox 模式

每次同步周期执行以下操作:(1) 将工作区内容推送至云端(排除 _inbox/ 和 _outbox/);(2) 使用 rclone move 将云端 _outbox/ 中的文件移入工作区 _inbox/(传输完成后从云端删除)。启动时,会初始化云端 cloud:_outbox 和本地 _inbox/。

用户将文件放入本地 _outbox/ 文件夹(由云服务提供商桌面应用自动创建),这些文件将到达 agent 的 _inbox/。agent 或其他技能可从此处处理这些文件。

启用 notifyOnInbox: true 后,当文件进入 _inbox 时,agent 将被唤醒。系统事件将列出新增文件名,供 agent 处理。默认关闭 —— 每次通知均消耗一次 agent 调用次数。

启用 ingest 的 Mirror 模式

启用 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   # 本地 → 远程

强制重建 bisync 基线(破坏性操作)

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 模式

自动同步

配置启用后,同步将自动执行:

  • 会话启动时:推送工作区并清空发件箱(mailbox)、拉取最新内容(mirror)或执行双向同步(bisync)
  • 会话结束时:在对话结束后同步变更
  • 周期性定时:每隔 N 秒执行一次后台同步(不消耗 LLM Token)

安全须知

  • Mailbox 模式最安全。 工作区向云端推送;用户通过 _outbox 发送文件。数据流永不重叠。
  • Mirror 模式在设计上即为安全。 远程工作区具有权威性,本地仅为只读副本。
  • Bisync 需谨慎配置。 双方必须保持状态一致。若状态丢失,需使用 --resync 强制重建,且将全量复制所有文件。
  • 在容器平台(如 Fly.io、Railway)上,bisync 状态为临时性 —— 请改用 mailbox 或 mirror 模式。
  • 修改配置时(如 remotePath、localPath、mode),请先禁用周期性同步,验证无误后再重新启用。

自动恢复机制

  • 陈旧锁文件:检测到后将在重试前自动清除(超时 15 分钟的锁文件将被自动过期)
  • 中断的同步任务:使用 --recover 和 --resilient 参数在中断后恢复(仅 bisync 支持)
  • resync 永不自动触发:若 bisync 状态丢失,插件仅记录日志,但绝不会自动执行 resync

故障排查

“rclone not configured”

首先,通过操作系统包管理器安装 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 方式。

“requires --resync”(仅 bisync)

bisync 状态已丢失。执行 --resync 前,请务必确认双方状态正确:

openclaw workspace-sync sync --resync

同步超时

在配置中增大 timeout 值(默认为 1800 秒 / 30 分钟):

{ "timeout": 3600 }

直接检查 rclone

rclone lsd cloud:/
rclone ls cloud:openclaw-share

注意事项

  • mode 为 必填项 —— 请设置为 mailbox(收件箱/发件箱,最安全)、mirror(远程 → 本地)或 bisync(双向同步)
  • Mailbox 模式在启动时自动初始化云端 _outbox 和工作区 _inbox
  • Bisync 面向需要双向同步能力的高级用户
  • Ingest 收件箱(仅 mirror 模式)为仅追加模式 —— 无法删除远程文件
  • 默认仅排除 **/.DS_Store —— 可在配置中自定义排除规则
  • 同步操作在后台执行(不消耗 LLM Token)
  • 所有 rclone 操作均以 info 级别记录日志,便于可观测性

加密备份

在插件配置中添加 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 }

相关专题

更多
OpenJDK JVM参数怎么调优
OpenJDK JVM参数怎么调优

Java应用运行缓慢,如何调整JVM参数?本专题介绍OpenJDK JVM性能调优的基本流程,涵盖性能指标确认、运行数据采集、内存配置和垃圾回收分析,帮助你先定位瓶颈,再通过对照测试验证效果,避免直接套用参数而影响应用稳定性。

2026.10.16

0

10

OpenJDK怎么配置Java开发环境
OpenJDK怎么配置Java开发环境

怎样用OpenJDK搭建开发环境?本专题介绍版本选择、下载安装、环境变量配置和编译运行验证,帮助你理清JDK的作用及基本配置流程,并通过简单程序检查环境是否可用,为后续项目开发做好准备。

2026.10.16

0

10

OpenJDK怎么部署Java应用
OpenJDK怎么部署Java应用

Java项目开发完成后,怎样部署到目标环境并正常运行?本专题介绍OpenJDK应用部署流程,涵盖运行环境准备、版本兼容检查、应用打包、启动参数配置和日志查看,帮助你理清部署前后的操作顺序,减少环境差异造成的运行问题。

2026.10.16

0

10

Revel框架模板渲染与表单验证
Revel框架模板渲染与表单验证

本专题围绕Revel框架视图层开发,介绍模板语法、变量输出、布局复用、表单提交、参数绑定与验证规则,帮助开发者完成安全规范的页面交互。

2026.10.16

0

15

Revel框架MVC路由与控制器
Revel框架MVC路由与控制器

本专题聚焦Revel框架MVC核心机制,讲解路由定义、控制器Action、参数绑定、请求响应和反向路由,并结合常见场景梳理接口请求处理流程。

2026.10.16

0

15

Revel框架入门与安装配置
Revel框架入门与安装配置

本专题从Revel框架环境搭建讲起,系统介绍命令行工具安装、项目创建、目录结构、配置文件及热代码重载,帮助开发者快速完成首个Go Web应用。

2026.10.16

0

15

Linux 新手先学哪些命令
Linux 新手先学哪些命令

Linux新手命令专题汇集终端基础、文件目录操作、文本查看、软件安装和权限管理等入门文章,帮助按实际任务练习常用命令并建立命令行操作习惯。

2026.10.15

0

20

MySQL 忘记密码怎么办
MySQL 忘记密码怎么办

MySQL忘记密码专题汇集不同版本与系统下的root密码重置方法,覆盖MySQL 5.7、8.0、Mac、Linux及本地集成环境,并提示恢复权限与重新登录的检查步骤。

2026.10.15

0

18

Vue.js 中 ref 和 reactive 的区别
Vue.js 中 ref 和 reactive 的区别

Vue.js中ref和reactive的区别专题汇集两种响应式API的定义、访问方式、对象解构、侦听与性能取舍等文章,帮助结合实际状态类型选择合适写法。

2026.10.15

0

20

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.7万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 133.7万人学习