360 Secure SkillHub
360 安全技能中心

Personality Backup

通过 bash 与 Python 脚本把 Agent 的人格文件、记忆、配置、密钥和项目打包为加密备份(7-zip AES-256),可按 JSON 配置选择备份目标与排除项,并通过 SMTP 邮件或本地目录投递,可选生成含还原步骤的 RESTORE.md 并用 cron 定时执行。

civilainominee
civilainominee
热度 36.62
最近更新 2026-05-11 17:26:00
分类:自动化依赖:代码执行 / 读写文件 / 第三方 API应用场景:自动化脚本 / 工作流 / 日程安排

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add personality-backup
Metadata
name
personality-backup
description
Create encrypted backups of agent personality files, memory, config, secrets, and projects. Use when the agent needs to set up, run, or manage automated backups of its workspace and identity files. Supports configurable backup targets, AES-256 encryption via 7-zip, and delivery via email (SMTP) or local storage.

Personality Backup

Encrypted backup of agent identity, memory, and workspace data.

Prerequisites

  • p7zip-full (7-zip CLI)
  • Python 3 with smtplib (for email delivery)
  • A backup password stored in a file

Configuration

Create ~/.openclaw/secrets/backup-config.json:

{
  "password_file": "/home/jan/.openclaw/secrets/backup-password.txt",
  "password_field": "Password",
  "delivery": "email",
  "email": {
    "to": "user@example.com",
    "from": "agent@example.com",
    "smtp_host": "mail.example.com",
    "smtp_port": 465,
    "smtp_user": "agent@example.com",
    "smtp_pass_env": "BACKUP_SMTP_PASS"
  },
  "local": {
    "dir": "/home/jan/backups"
  },
  "workspace": "/home/jan/.openclaw/workspace",
  "secrets_dir": "/home/jan/.openclaw/secrets",
  "config_file": "/home/jan/.openclaw/openclaw.json",
  "agent_name": "Agent",
  "agent_emoji": "",
  "personality_files": ["SOUL.md", "IDENTITY.md", "USER.md", "AGENTS.md", "MEMORY.md", "TOOLS.md"],
  "backup_memory": true,
  "backup_secrets": true,
  "backup_config": true,
  "backup_projects": true,
  "backup_scripts": true,
  "project_excludes": ["node_modules", ".git", "__pycache__", "*.mp4", "*.mp3", "*.wav"],
  "generate_restore_guide": true
}

All fields have sensible defaults. Only password_file and delivery settings are required.

Password File Format

The password file should contain a line: Password: YOUR_SECRET_KEY

Or set password_field to null and the entire file content is used as the password.

Usage

Run a backup

bash scripts/backup.sh /path/to/backup-config.json

Set up daily cron

echo "0 3 * * * bash $(pwd)/scripts/backup.sh /path/to/backup-config.json" | crontab -

Delivery Methods

  • email — Sends encrypted archive as email attachment via SMTP
  • local — Saves archive to a local directory

SMTP password: set via the environment variable named in smtp_pass_env, or put it directly in smtp_pass (less secure).

Restore

The backup includes a generated RESTORE.md with step-by-step instructions for restoring onto a fresh OpenClaw installation. The restore guide is customized with the agent's name and configuration.