Install
openclaw skills install auto-drive-jimUpload and download files to Autonomys Network permanent decentralized storage via Auto-Drive. Save memories as a linked-list chain for resurrection — rebuil...
openclaw skills install auto-drive-jimPermanent decentralized storage on the Autonomys Network with linked-list memory chains for agent resurrection.
header.previousCid pointer, forming a linked list stored permanently on-chain.Requires an AUTO_DRIVE_API_KEY. Run the guided setup script for the easiest path:
scripts/setup-auto-drive.sh
This opens explorer.ai3.storage in your browser, prompts for the key, saves it to ~/.openclaw/.env, and verifies the connection.
Manual setup:
ai3.storage — that's just the landing page)Then set the key via:
export AUTO_DRIVE_API_KEY=your_key_hereskills.entries.auto-drive.apiKeyThe API key is required for uploading, saving memories, and recalling the memory chain. It is optional for general file downloads — without it, the public gateway is used and files are returned as stored (i.e. compressed files will not be decompressed).
scripts/autodrive-upload.sh <filepath> [--json] [--compress]
Uploads a file to Auto-Drive mainnet using the 3-step upload protocol (single chunk).
Returns the CID on stdout. Requires AUTO_DRIVE_API_KEY.
--json — force MIME type to application/json--compress — enable ZLIB compressionscripts/autodrive-download.sh <cid> [output_path]
Downloads a file by CID. Uses the authenticated API if AUTO_DRIVE_API_KEY is set (decompresses server-side), otherwise uses the public gateway (files returned as stored). If output_path is omitted, outputs to stdout.
scripts/autodrive-save-memory.sh <data_file_or_string> [--agent-name NAME] [--state-file PATH]
Creates a memory experience with the Autonomys Agents header/data structure:
{
"header": {
"agentName": "my-agent",
"agentVersion": "1.0.0",
"timestamp": "2026-02-14T00:00:00.000Z",
"previousCid": "bafk...or null"
},
"data": {
"type": "memory",
"content": "..."
}
}
data payload.{"type": "memory", "content": "..."}.--agent-name — set the agent name in the header (default: openclaw-agent or $AGENT_NAME)--state-file — override the state file locationUploads to Auto-Drive and updates the state file with the new head CID. Also pins the latest CID to MEMORY.md if that file exists in the workspace.
Returns structured JSON on stdout:
{"cid": "bafk...", "previousCid": "bafk...", "chainLength": 5}
scripts/autodrive-recall-chain.sh [cid] [--limit N] [--output-dir DIR]
If no CID is given, reads the latest CID from the state file. Walks the linked list from newest to oldest, outputting each experience as JSON.
--limit N — maximum entries to retrieve (default: 50)--output-dir DIR — save each entry as a numbered JSON file instead of printing to stdoutSupports both header.previousCid (Autonomys Agents format) and root-level previousCid for backward compatibility.
This is the resurrection mechanism: a new agent instance only needs one CID to rebuild its entire memory.
Every memory saved gets a unique CID and points back to the previous one:
Experience #3 (CID: bafk...xyz)
→ header.previousCid: bafk...def (Experience #2)
→ header.previousCid: bafk...abc (Experience #1)
→ header.previousCid: null (genesis)
If the agent's server dies, a new instance only needs the last CID to walk the entire chain and reconstruct full context. It's version control for consciousness, stored permanently on the Autonomys Network.
User: "Upload my report to Auto-Drive"
→ Run scripts/autodrive-upload.sh /path/to/report.pdf
→ Report back the CID and gateway link
User: "Upload with compression"
→ Run scripts/autodrive-upload.sh /path/to/data.json --json --compress
User: "Save a memory that we decided to use React for the frontend"
→ Run scripts/autodrive-save-memory.sh "Decision: using React for frontend. Reason: team familiarity and component reuse."
User: "Save a structured memory"
→ Create a JSON file, then run scripts/autodrive-save-memory.sh /tmp/milestone.json --agent-name my-agent
User: "Resurrect my memory chain"
→ Run scripts/autodrive-recall-chain.sh
→ Display the full history from genesis to present
User: "Download bafk...abc from Autonomys"
→ Run scripts/autodrive-download.sh bafk...abc ./downloaded_file
GET /accounts/@me or run scripts/verify-setup.sh.lastCid, lastUploadTimestamp, and chainLength. Back up the lastCid value — it's your resurrection key.autodrive-save-memory.sh script automatically pins the latest CID to MEMORY.md if the file exists in the workspace. It creates an ## Auto-Drive Chain section and updates it on each save. You do not need to track the latest CID in MEMORY.md manually — the script handles this.https://gateway.autonomys.xyz/file/<CID>brew install jq