当用户提到以下需求时,使用此 skill:
python3 ~/.workbuddy/skills/wb-migrate/scripts/wb_migrate.py scan
python3 ~/.workbuddy/skills/wb-migrate/scripts/wb_migrate.py backup --output ~/Desktop
python3 ~/.workbuddy/skills/wb-migrate/scripts/wb_migrate.py info <backup.tar.gz>
> 自动检测源/目标平台差异并给出建议
python3 ~/.workbuddy/skills/wb-migrate/scripts/wb_migrate.py restore <backup.tar.gz>
python3 ~/.workbuddy/skills/wb-migrate/scripts/wb_migrate.py restore <backup.tar.gz> --dry-run
python3 ~/.workbuddy/skills/wb-migrate/scripts/wb_migrate.py restore <backup.tar.gz> --auto-map
> 自动:检测源/目标 OS → 映射 sessions.cwd → 合并 user_id → 重命名 projects → 校验
目标账号 user_id 无法自动检测时:
python3 ~/.workbuddy/skills/wb-migrate/scripts/wb_migrate.py restore <backup.tar.gz> --auto-map --target-user-id <uuid>
python3 ~/.workbuddy/skills/wb-migrate/scripts/wb_migrate.py restore <backup.tar.gz> --force
#windows运行bat
@echo off
REM wb-migrate — WorkBuddy 数据迁移工具 (Windows)
REM 用法: wb-migrate.bat scan|backup|restore|info|migrate [参数...]
setlocal
set SCRIPT_DIR=%~dp0
set PYTHON_SCRIPT=%SCRIPT_DIR%scripts\wb_migrate.py
REM 查找 Python
where python >nul 2>&1
if %ERRORLEVEL% EQU 0 (
set PYTHON=python
) else (
where python3 >nul 2>&1
if %ERRORLEVEL% EQU 0 (
set PYTHON=python3
) else (
echo 错误: 未找到 Python,请先安装 Python 3.9+ 并添加到 PATH
exit /b 1
)
)
"%PYTHON%" "%PYTHON_SCRIPT%" %*
从旧账号/旧设备恢复到新账号/新设备时,自动处理:
sessions.cwd 路径映射 (/Users/alice/ ↔ C:\Users\Alice\)user_id 合并 (源账号 → 当前账号)workspaces.path 更新projects/ 目录名重命名 (匹配新 cwd 编码).workbuddy/memory/ 结构workspaces 表,避免跨版本字段差异导致恢复失败~/.workbuddy 目录首次恢复时同样执行路径映射user_id 合并;目标账号未产生任何会话时,用 --target-user-id 显式指定每次恢复完成后自动检查:
workbuddy.db.backup-{ts})| 模块 | 路径 | 说明 |
|---|---|---|
| ------ | ------ | ------ |
| 数据库 | workbuddy.db | Sessions, Automations, Workspaces |
| Skills | skills/ | 用户创建的所有 Skills |
| 项目数据 | projects/ | 对话历史 (jsonl) |
| 连接器 | connectors/ | MCP 连接器配置 |
| 会话状态 | sessions/ | 活跃会话 |
| 本地存储 | local_storage/ | 键值存储 |
| 追踪日志 | traces/ | 执行历史 |
| 任务列表 | tasks/ | 任务管理 |
| 团队配置 | teams/ | 团队结构 |
| 文件历史 | file-history/ | 文件版本 |
| 身份文件 | SOUL.md 等 | 配置与偏好 |
恢复时采用以下策略避免数据覆盖:
在执行迁移任务时,需要了解以下关键知识:
| 平台 | cwd 示例 | project 目录名 |
|---|---|---|
| ------ | --------- | --------------- |
| Windows | C:\Users\Alice\WorkBuddy\xxx | c-Users-Alice-WorkBuddy-xxx |
| macOS | /Users/alice/WorkBuddy/xxx | Users-alice-WorkBuddy-xxx |
user_id 字段隔离,不同账号不可见~/.workbuddy/projects/// wb-migrate backup --output ~/Desktop
# 切换账号,建议新账号先创建一次任意会话
wb-migrate restore ~/Desktop/wb-backup-*.tar.gz --auto-map
# macOS 上
wb-migrate backup --output ~/Desktop
# 传输到 Windows 后
wb-migrate restore D:\backup.tar.gz --auto-map
# 如果之前没加 --auto-map 导入,重新导入
wb-migrate restore backup.tar.gz --auto-map
--force 可强制覆盖--auto-map共 1 个版本