with one click
membase
// Manage agent memory with Membase - a decentralized, encrypted memory backup and restore system. Provides backup, restore, list, diff, status, and cleanup operations for agent memories.
// Manage agent memory with Membase - a decentralized, encrypted memory backup and restore system. Provides backup, restore, list, diff, status, and cleanup operations for agent memories.
[HINT] Download the complete skill directory including SKILL.md and all related files
| name | membase |
| description | Manage agent memory with Membase - a decentralized, encrypted memory backup and restore system. Provides backup, restore, list, diff, status, and cleanup operations for agent memories. |
| license | MIT |
| metadata | {"author":"Unibase","version":"1.0.0","category":"memory-management","tags":["backup","encryption","membase","storage","decentralized","memory"]} |
| allowed-tools | ["bash"] |
Membase provides secure, decentralized memory storage for AI agents with end-to-end encryption.
Activate this skill when the user:
All Membase operations go through a single command:
node membase.ts <command> [options]
Available commands:
backup - Backup memories to Membaserestore - Restore memories from a backuplist - List all available backupsdiff - Compare two backupsstatus - Show backup status and statisticscleanup - Clean up old backupsexport MEMBASE_ACCOUNT=your-account-address
export MEMBASE_SECRET_KEY=your-secret-key
export MEMBASE_BACKUP_PASSWORD=your-backup-password
export MEMBASE_ENDPOINT=https://testnet.hub.membase.io
Check if configured:
echo $MEMBASE_ACCOUNT
echo $MEMBASE_SECRET_KEY
echo $MEMBASE_BACKUP_PASSWORD
Backs up agent memory files (MEMORY.md, memory/**/*.md) to Membase with AES-256-GCM encryption.
Usage:
node membase.ts backup [options]
Options:
--password <pwd> or -p <pwd> - Encryption password (required if not in env)--incremental or -i - Only backup changed files since last backup--workspace <path> - Custom workspace directory--no-validate - Skip password strength validation--no-json - Don't output JSON for agent parsingExample conversation:
User: "Please backup my memories"
You should:
Check for MEMBASE_BACKUP_PASSWORD:
echo $MEMBASE_BACKUP_PASSWORD
If not set, ask: "Please provide a backup password for encryption (at least 12 characters with uppercase, lowercase, and numbers):"
Run backup:
cd skills/membase
node membase.ts backup --password "<password>"
Show result to user:
[OK] Backup completed
Backup ID: backup-2026-02-02T10-30-45-123Z
Files: 15
Size: 234 KB
[WARNING] Save your backup ID and password securely!
Incremental backup (faster):
node membase.ts backup --password "<password>" --incremental
Restores memories from a Membase backup.
Usage:
node membase.ts restore <backup-id> [options]
Options:
<backup-id> - The backup ID to restore (required)--password <pwd> or -p <pwd> - Decryption password (required if not in env)--no-json - Don't output JSON for agent parsingExample conversation:
User: "Restore my memories from backup-2026-02-02T10-30-45-123Z"
You should:
Check for password:
echo $MEMBASE_BACKUP_PASSWORD
Run restore:
cd skills/membase
node membase.ts restore backup-2026-02-02T10-30-45-123Z --password "<password>"
Show result:
[OK] Restore completed
Files restored: 15
Total size: 234 KB
Location: ~/.openclaw/workspace/
Lists all available backups for this agent.
Usage:
node membase.ts list [options]
Options:
--no-json - Don't output JSON for agent parsingExample conversation:
User: "Show me my backups" or "List my backups"
You should:
cd skills/membase
node membase.ts list
Output will show:
Available backups:
ID Timestamp Files Size
āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
backup-2026-02-02T10-30-45-123Z 2026-02-02 10:30:45 15 234 KB
backup-2026-02-01T15-20-10-456Z 2026-02-01 15:20:10 12 198 KB
Compares two backups to see what changed.
Usage:
node membase.ts diff <backup-id-1> <backup-id-2> [options]
Options:
<backup-id-1> - First backup ID (required)<backup-id-2> - Second backup ID (required)--password <pwd> or -p <pwd> - Decryption password (required if not in env)--no-json - Don't output JSON for agent parsingExample conversation:
User: "What changed between my last two backups?"
You should:
Get the two most recent backup IDs:
cd skills/membase
node membase.ts list
Run diff with the two IDs:
node membase.ts diff backup-2026-02-02T10-30-45-123Z backup-2026-02-01T15-20-10-456Z --password "<password>"
Show result:
Added files (2):
+ memory/conversation-new.md
+ memory/notes.md
Modified files (1):
~ MEMORY.md
Shows backup status and statistics.
Usage:
node membase.ts status [options]
Options:
--no-json - Don't output JSON for agent parsingExample conversation:
User: "What's my backup status?" or "Check backup status"
You should:
cd skills/membase
node membase.ts status
Output shows:
[STATS] Backup Status
Local:
Files: 15
Size: 234 KB
Remote:
Backups: 10
Configuration:
Endpoint: https://testnet.hub.membase.io
Agent: my-agent
Workspace: ~/.openclaw/workspace
Lists old backups that could be deleted (Membase doesn't support delete API yet).
Usage:
node membase.ts cleanup [options]
Options:
--keep-last <n> - Keep last N backups (default: 10)--dry-run - Show what would be deleted without deleting--no-json - Don't output JSON for agent parsingExample conversation:
User: "Clean up old backups, keep the last 5"
You should:
cd skills/membase
node membase.ts cleanup --keep-last 5
Note: Will show which backups should be deleted, but user needs to delete manually via Membase Hub UI.
If you see "Membase credentials not configured":
# User needs to set environment variables:
export MEMBASE_ACCOUNT=your-account
export MEMBASE_SECRET_KEY=your-key
If you see "Backup password is required":
If you see "Invalid password" or "Decryption failed":
If list shows "No backups found":
If connection fails:
# 1. Check status
node membase.ts status
# 2. First backup (full)
node membase.ts backup --password "MySecure123Pass"
# 3. Later: incremental backup
node membase.ts backup --password "MySecure123Pass" --incremental
# 4. List all backups
node membase.ts list
# 5. Compare recent backups
node membase.ts diff backup-id-1 backup-id-2 --password "MySecure123Pass"
# 6. Restore if needed
node membase.ts restore backup-id-1 --password "MySecure123Pass"
Make sure you're in the skills/membase directory:
cd skills/membase
pwd # Should show .../skills/membase
The lib folder needs to be linked to compiled source:
cd skills/membase
ln -sf ../../dist/lib lib
Make membase.ts executable:
chmod +x membase.ts