Releases: ashbrener/openclaw-workspace-sync
v2.4.1 — Security: remove curl|sudo install path
Security fix: removed curl|sudo install path. See openclaw/clawhub#1376
v2.4.0
Breaking change
localPathdefault changed from"shared"to""(workspace root). Most users want to sync the entire workspace, not a subfolder. If you relied on the"shared"default, explicitly set"localPath": "shared"in your config.
Safety fix
- Absolute paths rejected:
localPathmust now be a relative path. Absolute paths like"/"are rejected with a clear error. Previously,localPath: "/"causedpath.join(workspace, "/")to resolve to/, making rclone sync the entire container filesystem to the remote and deleting files from cloud storage.
Docs
- Config table updated with clear
localPathexplanation - Common pitfalls section updated with absolute path warning
- Example configs updated to remove
localPath: "/"
v2.3.1
Bug fix
- Session hooks now respect sync mode. The
onSessionStartandonSessionEndhooks were hardcoded to runbisyncregardless of the configured mode. Now they correctly dispatch:mailboxruns push,mirrorruns pull,bisyncruns bisync. This caused unexpected bisync attempts when mode was set tomailbox.
v2.3.0
What's new
- Encrypted backup feature — stream encrypted snapshots (tar | openssl | rclone rcat) of your entire agent system to S3, R2, B2, or any rclone backend. Zero local temp files, automatic retention pruning.
- Nested config format — new
{ sync: {}, backup: {} }config structure (flat format still supported for backward compatibility). - README restructured — sync and backup presented as equal peers with a "What's included" overview table, better section ordering, and clearer navigation.
- Vertical backup diagram — backup pipeline Mermaid diagram now renders top-down for better readability.
See the README for full documentation.
v2.1.4
v2.1.3
v2.1.1
What's new in 2.1.x
Mailbox sync mode (v2.1.0)
New mailbox mode — the safest sync pattern. The agent workspace pushes to the cloud; users drop files in _outbox/ to send them to the agent's _inbox/.
Each sync cycle:
rclone syncpushes the workspace to the cloud (excluding_inbox/and_outbox/)rclone movedrains the cloud_outbox/into the workspace_inbox/, deleting from cloud after transfer
On startup, the plugin bootstraps both directories automatically.
Three modes now available:
mailbox— push + inbox/outbox (safest, recommended)mirror— remote→local one-way (safe)bisync— bidirectional (advanced)
Mermaid diagrams rendered for npm (v2.1.1)
Added a prepublish script that renders Mermaid flowcharts to SVG so diagrams display correctly on npmjs.com (npm doesn't render Mermaid natively). GitHub continues to render the Mermaid source blocks directly.
Dropbox setup docs (v2.1.0)
- Added Redirect URI step (
http://localhost:53682/) — required for rclone OAuth to work with Dropbox scoped apps (fixes #1) - Clarified that
remotePathmust be""when using app folder scoped Dropbox apps (fixes #2)
New rclone operations
runMove— wrapsrclone move(used for mailbox drain)runMkdir— wrapsrclone mkdir(used for mailbox bootstrap)
v1.4.6
Critical Fix
--resyncis never automatic. The plugin will never auto-resync — not in the periodic sync manager, not inrunBisyncretry logic.--resynconly happens when the user explicitly passes it via CLI. Previously, a failed sync could trigger repeated--resynccycles that copied the entire remote back to local, undoing deletions.
Fixes
- Concurrency guard: If a sync is still running when the periodic timer fires, the cycle is skipped instead of starting a second parallel sync.
- Minimal default excludes: Only
**/.DS_Storeis excluded by default. All other patterns (.git,node_modules, etc.) are the user's choice via config. - Auto-clear stale lock files: Detects and clears stale rclone lock files before retrying.
--max-lock 15mexpires locks older than 15 minutes. - Resilient sync:
--recoverand--resilientflags for automatic recovery from interrupted syncs. - Real-time streaming output: Rclone output streamed line-by-line; errors/warnings at
infolevel, details atdebug. - Configurable timeout:
timeoutconfig option (seconds, default 1800 / 30 min). - Verbose via core flag: Controlled by OpenClaw's
--verbose/--log-level debug.
Docs
- Prominent
--resyncwarning in README and SKILL.md explaining that it is destructive and should only be used when explicitly needed. - Updated config reference, auto-recovery docs, and troubleshooting.
v1.3.1 — First stable release
OpenClaw Workspace Cloud Sync Plugin
Bidirectional workspace sync between your OpenClaw agent and cloud storage via rclone.
Install
openclaw plugins install openclaw-workspace-syncFeatures
- Bidirectional sync via rclone bisync — changes flow both ways
- Config-driven setup — no manual rclone.conf editing needed
- Session hooks — auto-sync on session start/end
- Background sync — interval-based periodic sync (zero LLM cost)
- Bundled agent skill — the agent can trigger sync operations
- CLI commands —
openclaw workspace setup/sync/status/authorize/list
Supported Providers
| Provider | Config value | Auth method |
|---|---|---|
| Dropbox | dropbox |
OAuth token |
| Google Drive | gdrive |
OAuth token |
| OneDrive | onedrive |
OAuth token |
| S3/R2/Minio | s3 |
Access keys |
| Any rclone backend | custom |
rcloneType + rcloneOptions |
All providers are fully config-driven. The custom provider gives access to all 70+ rclone backends (SFTP, B2, Mega, pCloud, Azure Blob, etc.).
Links
- npm: openclaw-workspace-sync
- Docs: README
- Meta issue: openclaw/openclaw#18106