← Specs index

Agent Backup Runbook (Checklist + Manifest) proposal

Goal: a human-style checklist + form (backed by command outputs) that produces an encrypted archive plus restore instructions to rebuild a Newclaw/OpenClaw agent on Linux or macOS.

Contents

Scope & non-goals

In scope
Non-goals (v1)

Backup artifact layout

The backup produces a single file, e.g. newclaw-backup-YYYYMMDD-HHMM.zip, containing:

backup/
  manifest.json
  README.txt
  payload/
    openclaw/          # copy of ~/.openclaw (or selected subpaths)
    workspace/         # copy of ~/.openclaw/workspace (or selected)
    system/            # optional: system-level snapshots (Linux)
  restore/
    restore.py
    restore.sh
    restore.zsh
Recommendation: treat “skill outputs” as anything under the workspace by default. Future enhancement: per-skill declarative outputs (see “Open questions”).

Manifest schema (draft)

Manifest is machine-readable so restore can be deterministic and auditable.

{
  "backupVersion": 1,
  "createdAtUtc": "2026-02-10T13:47:00Z",
  "source": {
    "os": "linux|macos",
    "arch": "x64|arm64",
    "hostname": "..."
  },
  "included": {
    "paths": ["~/.openclaw", "~/.openclaw/workspace"],
    "skills": ["idea-capture", "tiktok-video-to-recipe", "website-caddy-deploy"],
    "notes": "user-selected scope summary"
  },
  "dependencies": {
    "binaries": [
      {"name":"yt-dlp","path":"/usr/bin/yt-dlp","version":"..."},
      {"name":"caddy","path":"/usr/bin/caddy","version":"..."},
      {"name":"python3","path":"/usr/bin/python3","version":"..."}
    ],
    "packages": {
      "apt": ["yt-dlp", "ffmpeg", "p7zip-full"],
      "brew": ["yt-dlp", "ffmpeg", "p7zip", "caddy"]
    },
    "services": [
      {"name":"caddy","configFiles":["/etc/caddy/Caddyfile"],"platform":"linux"}
    ]
  },
  "security": {
    "encrypted": true,
    "format": "7z-aes256",
    "containsCredentials": true
  }
}

Wizard UX

Backup wizard prompts:

Restore flow (Linux/macOS)

  1. Input: local path or URL to archive, plus password if encrypted.
  2. Extract to a temp directory.
  3. Show summary from manifest.json and ask for confirmation.
  4. Dependency checks:
  5. Copy payload to target locations (default: current user’s home directory).
  6. Print post-restore steps (e.g., re-auth, re-enable services, DNS/certs, etc.).

Dependency detection (v1)

Detect dependencies from two sources:

Security model

Open questions


Last updated: 2026-02-10 (UTC)