WorkBuddy 记忆保险箱 · 一键换机无损迁移
> 一句话:换电脑、重装系统、升级 WorkBuddy,你的「记忆 + 自写技能 + 秘钥」一键带走,不丢不漏。
🚨 痛点:你的 AI 大脑,说没就没
WorkBuddy 的数据目录(~/.workbuddy)在重度使用后会膨胀到 7.8GB+,但其中:
| 真实占比 | 内容 | 能不能丢 |
|---|---|---|
| 6.5GB+ | logs traces binaries(Python/Node 运行时) plugins *-marketplace blobs changes-* workspace(会话历史) cache … |
✅ 全可重生/纯垃圾 |
| ~194MB | 某个技能自带的 ffmpeg 二进制 |
✅ 可下载 |
| ~2MB | 你写的技能 + 记忆 + 配置 + 秘钥 | ❌ 这才是命根子 |
传统做法要么「整个目录拷 7.8GB 还拷了一堆垃圾」,要么「重装后记忆全丢、技能重装、令牌重配」——两头不讨好。
本技能只搬那 2MB 的命根子,其余让机器自己长回来。
✨ 它能做什么
- 极速瘦身备份:扫描后只打包
agent_created: true的自写技能 +MEMORY.md+ 工作区记忆 +mcp.json/credentials/settings.json/rules/hooks+secrets/(加密)。实测从 7.8GB → 约 2MB。 - 智能排除:自动跳过
logs/traces/binaries/plugins/*-marketplace/blobs/changes-*/workspace/cache/...等 22 类可再生/垃圾目录;技能内ffmpeg、node_modules、单文件 >50MB 也一律不备。 - 秘钥加密同步:
secrets/用你的口令加密成secrets.enc(PBKDF2-HMAC-SHA256 + AES/Fernet),没口令谁也解不开。 - 还原即体检:还原前扫描目标机 OS / Python / Node;还原后冒烟测试(
MEMORY.md可读、技能可加载、mcp.json合法、秘钥可解密)。 - 依赖自愈清单:还原后列出「需智能体自行重建」的可下载依赖(如 ffmpeg),不备份、不下载,用到对应技能时智能体自动补齐。
🛡️ 安全设计
- 秘钥加密强度:PBKDF2 200,000 迭代派生密钥 + AES-256(Fernet),离线暴力破解成本极高。
- 口令从不在命令行回显;支持
--passphrase-env从环境变量读取(CI / 自动化场景)。 - 归档可放心存网盘 / 资料库 / U 盘——没有口令,秘钥就是废数据。
🚀 一键用法
> 运行环境:任意 Python 3.8+,需 cryptography(缺失时脚本自动 pip install,无需手动)。
备份(生成极小加密归档):
python backup.py --out wb-backup.zip --passphrase "你的强口令"
# 或先预览再决定:
python backup.py --dry-run --passphrase "你的强口令"
# 或口令走环境变量(更安全):
python backup.py --out wb-backup.zip --passphrase-env WB_PASS
还原(换机/重装后,一条命令无损恢复):
python restore.py --archive wb-backup.zip --passphrase "你的强口令"
# 还原到指定目录(测试/多实例):
python restore.py --archive wb-backup.zip --passphrase "你的强口令" --home /tmp/wb-new/.workbuddy --ws-roots /tmp/ws
# 预览不落地:
python restore.py --archive wb-backup.zip --passphrase "你的强口令" --dry-run
🔄 换机标准流程
- 旧机:
python backup.py --out <日期>-wb.zip --passphrase <口令>,把 zip 存到网盘/资料库/U盘。 - 新机:装好 WorkBuddy,把 zip 拷过来,
python restore.py --archive <zip> --passphrase <口令>。 - 脚本自动:校验口令 → 扫描新机环境 → 还原记忆/技能/配置/秘钥 → 冒烟测试 → 打印「依赖自愈清单」。
- 打开 WorkBuddy:记忆、自写技能、MCP 配置、秘钥全部就位;首个用到 ffmpeg 的技能时智能体会自动拉取。
📦 归档结构(透明可审计)
<name>-wb.zip
├── MANIFEST.json # 备份清单:每项大小/来源/排除项说明/时间戳
├── store/ # 明文关键项
│ ├── MEMORY.md
│ ├── memory/
│ ├── skills/<你的自写技能>/
│ ├── config/ # mcp.json / credentials / settings.json / rules / hooks …
│ └── workspaces/<工作区>/.workbuddy/memory/
└── secrets.enc # 加密秘钥(salt + Fernet 密文)
⚠️ 注意
- 记住口令——遗忘则秘钥永久无法还原(这是加密的代价,也是安全的保证)。
- 默认只备你自写的技能(
agent_created: true)。系统/市场技能本就可重装,无需备份;如需全量加--all-skills(脚本预留)。 credentials等个别项若本机不存在会自动跳过,不影响其他项。
🎯 适用人群
- 频繁换机 / 重装系统的 WorkBuddy 重度用户
- 担心「AI 记忆随电脑报废」的创作者、开发者、研究者
- 需要把「自写技能 + 长期记忆 + 秘钥」作为资产安全托管的人