Session Sync Cloud

Automatic cloud backup and sync for OpenClaw memory files. Encrypted upload to S3/Backblaze, versioned retention (30 days), cross-device restore. Includes web dashboard to browse backups.

Audits

Warn

Install

openclaw skills install session-sync-cloud

Session Sync Cloud

Keep your agent's memory safe and synced across devices. Automatic encrypted backups to cloud storage (S3, Backblaze B2, or custom S3-compatible).

Why

You have precious conversation history, WAL entries, working buffer, and PARA notes. Losing them means context amnesia returns.

This skill automates backup:

  • Every 15 minutes while agent is running
  • After every /wrap_up
  • Manual trigger available

Restore is one command away on a new device.

Features

  • Encrypted upload — AES-256; server never sees plaintext
  • Versioned retention — Keep last 30 days of backups; prune automatically
  • Cross-device — Install skill on another machine, run sync_restore to pull latest
  • Dashboard — Open memory/sync-dashboard.html to see backup history and storage usage
  • Low bandwidth — Only upload changed files (delta compression)
  • Resume interrupted — Large files chunked; can resume

Prerequisites

  • Cloud storage bucket with S3-compatible API (AWS S3, Backblaze B2, MinIO, Wasabi)
  • Access key + secret
  • Bucket name

Configuration

Create session-sync-config.json in workspace root:

{
  "provider": "s3", // or "backblaze", "custom"
  "endpoint": "https://s3.amazonaws.com", // override for B2/MinIO
  "bucket": "my-openclaw-backups",
  "key_id": "YOUR_ACCESS_KEY",
  "secret_key": "YOUR_SECRET_KEY",
  "region": "us-east-1", // for S3; B2 uses "us-west-002" etc.
  "path_prefix": "openclaw/nero/", // per-agent prefix
  "interval_minutes": 15,
  "retention_days": 30,
  "encryption_key": "YOUR_32_BYTE_KEY_BASE64" // optional: if unset, uses derived key from credentials
}

Encryption key: Generate with openssl rand -base64 32. Store this safely — you need it to restore.

Usage

Check status

tool("session-sync-cloud", "sync_status")

Force backup now

tool("session-sync-cloud", "sync_now")

Restore from backup

tool("session-sync-cloud", "sync_restore", {"timestamp": "latest"})

Or specific timestamp (from status output or dashboard):

tool("session-sync-cloud", "sync_restore", {"timestamp": "2026-04-01T16:30:00Z"})

How It Works

  1. On trigger (timer or manual), scan memory/ directory
  2. Compute SHA256 of each file; compare with previous manifest
  3. Upload only changed files to cloud (multipart upload for large files)
  4. Save manifest JSON to cloud (lists files, hashes, timestamps)
  5. Prune old manifests beyond retention
  6. Log to memory/sync-log.jsonl

Dashboard

Open memory/sync-dashboard.html in browser. It shows:

  • Last backup time
  • Storage used (cloud)
  • Number of versions retained
  • Quick restore buttons (click to download latest manifest then restore)

Pricing

$9/month per agent. Includes:

  • Unlimited backup storage (up to 1GB; beyond that $0.02/GB-month)
  • Unlimited restores
  • Dashboard access
  • Email support

FAQ

Q: Can I use any S3-compatible storage?
A: Yes. S3, Backblaze B2, MinIO, Wasabi, Cloudflare R2.

Q: Is end-to-end encryption mandatory?
A: Yes. All data encrypted before upload. Server only stores ciphertext.

Q: What if I lose the encryption key?
A: Unfortunately, cannot restore. Keep the key safe.

Q: How do I migrate to a new device?
A: Install the skill, configure with same cloud credentials and encryption key, then run sync_restore.

Q: Can I exclude certain files?
A: Not yet. Currently backs up entire memory/. Future version may add excludes.


Inspired by need for persistent-memory-as-a-service. Simple, reliable, affordable.