云端同步
workspace-sync
by ashbrener
Sync agent workspace with cloud storage (Dropbox, Google Drive, S3, etc.) using rclone.
安装
claude skill add --url https://github.com/openclaw/skills文档
workspace-sync
Sync the agent workspace with cloud storage. mode is required — choose mailbox (inbox/outbox, safest), mirror (remote->local), or bisync (bidirectional, advanced).
Trigger
Use this skill when the user asks to:
- Sync workspace to/from cloud
- Back up workspace files
- Check sync status
- Fix sync issues
- Send files to the agent workspace
Sync modes
| Mode | Direction | Description |
|---|---|---|
mailbox (recommended) | Push + inbox/outbox | Workspace pushes to cloud; _outbox sends files up to the agent's _inbox. Safest. |
mirror | Remote → Local | One-way: workspace mirrors down. Safe — local can never overwrite remote. |
bisync | Bidirectional | Two-way sync. Powerful but requires careful setup. |
Mailbox mode
Each sync cycle: (1) pushes workspace to cloud excluding _inbox/ and _outbox/, (2) drains cloud _outbox/ into workspace _inbox/ via rclone move (deletes from cloud after transfer). On startup, bootstraps cloud:_outbox and local _inbox/.
Users drop files in the local _outbox/ folder (created by the cloud provider's desktop app). Files arrive in the agent's _inbox/. The agent or a skill processes them from there.
With notifyOnInbox: true, the agent is woken when files land in _inbox. A system event lists the new filenames so the agent can process them. Off by default — each notification costs an agent turn.
Mirror mode with ingest
With ingest: true, a local inbox/ folder syncs one-way up to the remote workspace (additive only). For a more robust pattern, use mailbox mode instead.
Commands
Check sync status
openclaw workspace-sync status
Shows: provider, mode, last sync time, sync count, error count, running state.
Trigger manual sync
openclaw workspace-sync sync
In mailbox mode: pushes workspace and drains _outbox. In mirror mode: pulls latest from remote. In bisync mode: runs bidirectional sync.
Preview changes
openclaw workspace-sync sync --dry-run
One-way sync (explicit direction)
openclaw workspace-sync sync --direction pull # remote -> local
openclaw workspace-sync sync --direction push # local -> remote
Force re-establish bisync baseline (destructive)
openclaw workspace-sync sync --resync
WARNING: --resync is destructive (bisync only). It copies ALL files from both sides to make them identical — deleted files come back, and it transfers everything. Only use when you explicitly need to re-establish the bisync baseline. The plugin never auto-resyncs.
View remote files
openclaw workspace-sync list
Lists files in the configured cloud storage path.
Configuration
Workspace sync is configured via the plugin entry in openclaw.json. The preferred format uses nested sync and backup blocks (flat config at root level is also supported):
{
"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"]
}
}
}
}
}
}
Config keys
These keys live under sync in the nested format, or at the config root in flat format.
| Key | Default | Description |
|---|---|---|
provider | "off" | dropbox, gdrive, onedrive, s3, custom, or off |
mode | required | mailbox (inbox/outbox, safest), mirror (remote->local), or bisync (bidirectional) |
ingest | false | Enable local inbox for sending files to the agent (mirror mode only) |
ingestPath | "inbox" | Local subfolder name for ingestion |
notifyOnInbox | false | Wake the agent when files arrive in _inbox (mailbox mode). Costs credits per notification. |
remotePath | "openclaw-share" | Folder name in cloud storage |
localPath | "shared" | Subfolder within workspace to sync |
interval | 0 | Background sync interval in seconds (0 = manual only, min 60) |
timeout | 1800 | Max seconds for a single sync operation (min 60) |
onSessionStart | false | Sync when an agent session begins |
onSessionEnd | false | Sync when an agent session ends |
conflictResolve | "newer" | newer, local, or remote (bisync only) |
exclude | **/.DS_Store | Glob patterns to exclude from sync |
Automatic sync
When configured, sync runs automatically:
- On session start: Pushes workspace and drains outbox (mailbox), pulls latest (mirror), or runs bisync
- On session end: Syncs changes after conversation ends
- Periodic interval: Background sync every N seconds (no LLM cost)
Safety notes
- Mailbox mode is the safest. Workspace pushes to cloud; users send files via
_outbox. Streams never overlap. - Mirror mode is safe by design. Remote workspace is the authority. Local is a read-only copy.
- Bisync requires careful setup. Both sides must agree. If state is lost,
--resyncis needed and it copies everything. - On container platforms (Fly.io, Railway), bisync state is ephemeral — use
mailboxormirrormode instead. - When changing config (remotePath, localPath, mode), disable periodic sync first, verify, then re-enable.
Auto-recovery
- Stale lock files: Detected and cleared before retrying (lock files older than 15 min are expired automatically)
- Interrupted syncs: Uses
--recoverand--resilientflags to resume after interruptions (bisync only) - Resync never automatic: If bisync state is lost, the plugin logs a message but does NOT auto-resync
Troubleshooting
"rclone not configured"
Run the setup wizard:
openclaw workspace-sync setup
"requires --resync" (bisync only)
Bisync state was lost. Before running --resync, verify both sides are correct:
openclaw workspace-sync sync --resync
Sync times out
Increase the timeout in your config (default is 1800 seconds / 30 min):
{ "timeout": 3600 }
Check rclone directly
rclone lsd cloud:/
rclone ls cloud:openclaw-share
Notes
modeis required — setmailbox(inbox/outbox, safest),mirror(remote→local), orbisync(bidirectional)- Mailbox mode bootstraps
_outboxon cloud and_inboxon workspace at startup - Bisync is available for power users who need bidirectional sync
- Ingest inbox (mirror mode only) is additive only — cannot delete remote files
- Only
**/.DS_Storeexcluded by default — add your own excludes in config - Sync operations run in background (no LLM tokens used)
- All rclone activity is logged at info level for visibility
Encrypted backups
Add a backup block to the plugin config for automated encrypted snapshots to your own cloud storage (S3, R2, B2, etc.). Backups stream directly (tar | rclone rcat) — no local temp files, so they work even when disk space is tight.
Backup commands
openclaw workspace-sync backup now # Create a snapshot immediately
openclaw workspace-sync backup list # List available snapshots
openclaw workspace-sync backup restore # Restore latest snapshot
openclaw workspace-sync backup status # Check backup service status
Backup config
{
"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 }
}
}
| Key | Default | Description |
|---|---|---|
enabled | false | Enable scheduled backups |
provider | parent provider | Cloud provider (can differ from sync provider) |
bucket | — | S3/R2 bucket name |
prefix | "" | Path prefix within the bucket |
interval | 86400 | Backup interval in seconds (clamped to min 300) |
encrypt | false | AES-256 client-side encryption |
passphrase | — | Encryption passphrase (use env var) |
include | ["workspace", "config", "cron", "memory"] | What to back up |
retain | 7 | Keep N snapshots, or { daily: N, weekly: N } |
相关 Skills
MCP构建
by anthropics
聚焦高质量 MCP Server 开发,覆盖协议研究、工具设计、错误处理与传输选型,适合用 FastMCP 或 MCP SDK 对接外部 API、封装服务能力。
✎ 想让 LLM 稳定调用外部 API,就用 MCP构建:从 Python 到 Node 都有成熟指引,帮你更快做出高质量 MCP 服务器。
Slack动图
by anthropics
面向Slack的动图制作Skill,内置emoji/消息GIF的尺寸、帧率和色彩约束、校验与优化流程,适合把创意或上传图片快速做成可直接发送的Slack动画。
✎ 帮你快速做出适配 Slack 的动图,内置约束规则和校验工具,少踩上传与播放坑,做表情包和演示都更省心。
接口设计评审
by alirezarezvani
审查 REST API 设计是否符合行业规范,自动检查命名、HTTP 方法、状态码与文档覆盖,识别破坏性变更并给出设计评分,适合评审接口方案和版本迭代前把关。
✎ 做API和架构方案时,它能帮你提前揪出接口设计问题并对齐最佳实践,评审视角系统,团队协作更省心。
相关 MCP 服务
Slack 消息
编辑精选by Anthropic
Slack 是让 AI 助手直接读写你的 Slack 频道和消息的 MCP 服务器。
✎ 这个服务器解决了团队协作中需要 AI 实时获取 Slack 信息的痛点,特别适合开发团队让 Claude 帮忙汇总频道讨论或发送通知。不过,它目前只是参考实现,文档有限,不建议在生产环境直接使用——更适合开发者学习 MCP 如何集成第三方服务。
by netdata
io.github.netdata/mcp-server 是让 AI 助手实时监控服务器指标和日志的 MCP 服务器。
✎ 这个工具解决了运维人员需要手动检查系统状态的痛点,最适合 DevOps 团队让 Claude 自动分析性能数据。不过,它依赖 NetData 的现有部署,如果你没用过这个监控平台,得先花时间配置。
by d4vinci
Scrapling MCP Server 是专为现代网页设计的智能爬虫工具,支持绕过 Cloudflare 等反爬机制。
✎ 这个工具解决了爬取动态网页和反爬网站时的头疼问题,特别适合需要批量采集电商价格或新闻数据的开发者。不过,它依赖外部浏览器引擎,资源消耗较大,不适合轻量级任务。