WorkBuddy 数据迁移 Skill
概述
将一台电脑上的 WorkBuddy 全部关键数据(身份、记忆、技能、设置、模型配置、连接器凭证、自动化任务、数据库),打包为便携 .zip 文件,在新电脑上完整恢复。实现「换电脑不丢人格」。
适用场景
- 换新电脑,需要迁移所有 WorkBuddy 配置
- 注册了新 WorkBuddy 账号,想复用旧账号的 Skills 和习惯
- 定期备份 WorkBuddy 数据(防灾)
- 团队内共享 Skills 和自动化模板
迁移的数据范围
| 类别 | 路径 | 说明 |
|---|---|---|
| 身份文件 | SOUL.md IDENTITY.md USER.md |
WorkBuddy 人格/名字/用户信息 |
| 用户记忆 | MEMORY.md |
跨项目偏好与习惯 |
| 用户技能 | skills/ (整个目录) |
所有用户级安装的 Skill |
| 设置 | settings.json |
沙箱、插件等偏好 |
| 模型配置 | models.json |
自定义模型和 API Key(含敏感信息) |
| MCP 配置 | .mcp.json |
MCP 服务器配置 |
| 连接器 | connectors/ (整个目录) |
各连接器凭证和状态 |
| 自动化 | automation-backups/ + workbuddy.db |
自动化任务定义与运行历史 |
工作流
阶段一:在源电脑导出数据
-
确认源数据目录:WorkBuddy 数据默认在
~/.workbuddy/(Windows:C:\Users\<用户名>\.workbuddy\) -
运行导出脚本:
bash python scripts/export.py [输出路径]
- 不指定输出路径时,默认在当前目录生成workbuddy-backup-YYYYMMDD-HHMMSS.zip
- 脚本会自动对 SQLite 数据库执行 WAL checkpoint 确保数据完整性
- 导出过程会标记含 API Key 的文件,提醒注意安全 -
安全提醒:导出包包含
models.json(API Keys)和connectors/(OAuth tokens),务必妥善保管,不要上传到公开位置。 -
验证导出包:
bash python -c "import zipfile; z=zipfile.ZipFile('backup.zip'); z.printdir()" -
将 .zip 文件传输到新电脑(U盘/网盘/局域网等)
阶段二:在新电脑恢复数据
-
确认 WorkBuddy 已安装,但先关闭 WorkBuddy 进程(避免数据库锁冲突)。
-
先预览(推荐):
bash python scripts/import.py backup.zip --dry-run
查看将要导入的内容,确认无误。 -
执行导入:
bash python scripts/import.py backup.zip
脚本会:
- 自动备份新电脑上已有的数据到~/.workbuddy/_pre_migrate_backup_<timestamp>/
- 智能合并settings.json、.mcp.json、skills/、connectors/(增量添加,不覆盖已有)
- 数据库文件直接替换(含所有自动化任务)
- 导入后给出操作指引 -
启动 WorkBuddy,验证:
- Skills 列表是否完整
- 对话中是否记住了你的偏好(MEMORY.md)
- 自动化任务是否恢复
- 连接器是否需要重新认证 -
后续清理:确认一切正常后,可删除
~/.workbuddy/_pre_migrate_backup_*备份目录。
仅导出 Skills(不含敏感数据)
如果需要分享 Skills 给他人而不泄露 API Keys,只复制 ~/.workbuddy/skills/ 目录即可:
# 打包 Skills
zip -r workbuddy-skills-only.zip ~/.workbuddy/skills/
注意事项
- 关闭 WorkBuddy:导入/导出数据库时务必关闭 WorkBuddy,否则 SQLite 可能被锁定。
- API Key 安全:
models.json包含明文 API Key。传输时使用加密通道,不要通过不安全的网盘分享。 - 路径兼容:如果设置或 Skill 中有硬编码的绝对路径(如
E:\workdata\),在新电脑上可能需要手动调整。 - 连接器重认证:部分连接器在新机器上可能需要重新登录认证(OAuth token 绑定机器)。
- 数据库大小:超过 200MB 的数据库会被跳过,需要手动迁移。
- Skills 不覆盖:如果新电脑已有同名 Skill,不会被覆盖(保留较新版本),避免版本回退。
脚本说明
| 脚本 | 用途 |
|---|---|
scripts/export.py |
从当前机器导出所有数据为 .zip |
scripts/import.py |
从 .zip 恢复到当前机器 |
两个脚本均为纯 Python 标准库实现,无需额外依赖,可在任意 Python 3.8+ 环境运行。
常见问题
Q: 导入后 Skills 不生效?
A: 重启 WorkBuddy。Skills 在启动时加载。
Q: 自动化任务不见了?
A: 确认导入时 WorkBuddy 已关闭(数据库被锁可能导致写入失败)。重新导入一次。
Q: 连接器显示未连接?
A: 连接器的 OAuth token 可能绑定源机器。需要在新机器上重新授权连接。
Q: 只想迁移部分数据?
A: 解压 .zip 后手动挑选需要的文件/目录,复制到 ~/.workbuddy/ 对应位置。