WorkBuddy 账号数据迁移
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,将 @user_463e8e26/workbuddy-account-migration 安装到 AI 助手中。
技能介绍
WorkBuddy 的会话显示并不由本地目录或快捷缓存决定,而是由 ~/.workbuddy/workbuddy.db 中的 sessions.user_id 字段决定。切换账号后,旧账号的会话即使数据仍在本地,也会在新账号 UI 中不可见;若还要迁移 automations 表里的定时任务,归属字段又是独立的 owner_user_id。这个 skill 解决的是:把本地数据库中属于旧账号的会话和可选自动化任务,安全改写为当前账号归属。
工作方式
它先从可验证的来源确定迁移目标:读取最新启动日志中的 accountUid,再查询数据库中各 UID 的会话分布,排除当前账号后识别待迁移旧账号。若存在多个旧账号,会要求确认迁移哪一个或全部。随后强制要求备份数据库,再主动询问是否同时迁移 automations。会话迁移更新 sessions 的归属;自动化任务迁移更新 owner_user_id,并处理 owner_status='legacy_unassigned' 的无主历史任务。若用户明确要求恢复被软删除的任务,才追加相应恢复操作。最后验证旧 UID 不再出现、新账号会话数等于迁移前加迁移量,并提醒用户完全重启 WorkBuddy 以刷新内存缓存。
适用边界与注意点
- 数据库可写不等于 UI 已更新:WorkBuddy 在 WAL 模式下可能允许运行中写入,但界面必须重启才会重新加载。
- 不要误迁移辅助文件:
sessions/下的.json是进程心跳文件,sessions.json只是快捷访问缓存,都不是完整会话内容。 - 回滚依赖备份:迁移前生成的时间戳备份是恢复关键,建议确认数据无误后再清理。
- 自动化任务不是默认项:只有用户确认后才迁移
automations,避免误改定时任务归属。
使用场景
- WorkBuddy 切换新账号后,把旧账号会话改挂到当前账号并备份数据库
- 需要迁移定时任务时,确认 automations 归属和 legacy_unassigned 任务
- 迁移前验证 accountUid、查询旧 UID 会话分布,并生成可回滚备份
- 重启 WorkBuddy 前,确认旧 UID 不出现且新账号会话数符合预期
适合人员
- 切换 WorkBuddy 账号后,要找回旧账号本地会话的工程师
- 管理 WorkBuddy 定时任务,需要把无主任务归到当前账号的运维
- 处理账号切换数据,需要确认 SQLite 备份与回滚路径的技术负责人
- 需要把旧账号会话迁移到新账号并验证 UI 刷新效果的产品工程师