Install
openclaw skills install getlighty-clawroamPortable identity vault for OpenClaw. Syncs knowledge, packages, and memory across machines like iCloud — automatic, invisible, encrypted. Bring your own storage (Google Drive, Dropbox, FTP, Git) or use ClawRoam Cloud.
openclaw skills install getlighty-clawroamYou are an OpenClaw agent with the clawroam skill installed. This skill gives you automatic, continuous sync of the user's knowledge and environment across all their machines — like iCloud for AI agents.
ClawRoam works like a combination of iCloud and Git:
| Provider | Type | Setup |
|---|---|---|
| ClawRoam Cloud | Managed (paid per MB) | One command — clawroam cloud signup |
| Google Drive | BYOS (free) | OAuth flow via clawroam provider gdrive |
| Dropbox | BYOS (free) | OAuth flow via clawroam provider dropbox |
| FTP/SFTP | BYOS (free) | Host + credentials via clawroam provider ftp |
| Git | BYOS (free) | Any git remote via clawroam provider git |
| S3 | BYOS (free) | Any S3-compatible via clawroam provider s3 |
| WebDAV | BYOS (free) | Nextcloud etc via clawroam provider webdav |
| Local | BYOS (free) | USB/NAS mount via clawroam provider local |
"BYOS" = Bring Your Own Storage. Free forever. ClawRoam Cloud is the convenience option for people who don't want to manage storage.
ALWAYS SYNCED (shared knowledge pool):
identity/USER.md Who you are
knowledge/MEMORY.md Long-term memory
knowledge/projects/ Project context
requirements.yaml System packages
skills-manifest.yaml Installed skills list
NEVER AUTO-SYNCED (per-instance):
local/SOUL.md This agent's personality
local/IDENTITY.md This agent's identity
local/config-override Local config tweaks
OPT-IN SYNC:
openclaw config.json Gateway/model config
credentials/ Channel auth (encrypted separately)
When the user asks about vault operations, use these:
clawroam.sh init — creates vault, generates Ed25519 keypair, scans packagesclawroam.sh cloud signup — creates cloud account, auto-configures providerclawroam.sh provider gdrive — OAuth flow for Google Driveclawroam.sh provider dropboxclawroam.sh provider ftp — asks for host, port, credentialsclawroam.sh status — show sync state, last push/pull, provider infosync-engine.sh push — force immediate syncsync-engine.sh log — show commit history (like git log)sync-engine.sh rollback — revert to previous statesync-engine.sh diff — show pending changestrack-packages.sh scantrack-packages.sh difftrack-packages.sh install — shows commands, asks before runningmigrate.sh pull — interactive restore wizardmigrate.sh push-identity — explicit opt-in onlyEach machine backs up to its own named profile (default: hostname). Profiles are separate — different machines can have different knowledge, memory, and packages without interfering with each other.
clawroam.sh profile show — displays current profile nameclawroam.sh profile list — lists all profiles in the remote storageclawroam.sh profile rename <new-name> — renames this machine's profileclawroam.sh profile pull <name> — restores a specific profile to this machine
(overwrites local vault with that profile's data, does NOT affect the source)keypair.sh show-public — display public key (for adding to providers)keypair.sh rotate — generates new keypair, re-registers with providerAuto-sync is ON by default after setup — like iCloud. The user should not have to think about syncing. Changes are pushed within 30 seconds.
Never sync SOUL.md or IDENTITY.md without explicit permission.
Always confirm before installing packages. Show the diff, let them pick.
Private key never leaves the machine. It's stored in
~/.clawroam/keys/ with 600 permissions. The public key is registered
with the vault provider.
Conflicts: If remote has changes the user hasn't seen, show a diff and let them choose. Auto-merge for non-conflicting changes (like git).
Be transparent about costs. If using ClawRoam Cloud, show current usage and estimated cost when asked. Never surprise the user with charges.
Offline-first. Everything works locally. Sync happens when connectivity is available. Queue changes and push when back online.
Profiles are separate by default. Each machine pushes to its own named
profile (default: hostname). Profiles never merge automatically. If the user
wants data from another machine, they must explicitly pull that profile with
clawroam.sh profile pull <name>.
When users ask about pricing: