Agent Skills
返回列表
🔒

WorkBuddy 数据搬家助手

IT 运维与安全 更新于 2026.08.29

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_9158472b/migrate-workbuddy-data。

技能介绍

解决什么问题

WorkBuddy 默认把所有用户级数据放在 ~/.workbuddy/(Windows 下即 C:\Users\<user>\.workbuddy\),内容包括运行时组件(Node.js / Python)、记忆体、技能、会话记录以及 SQLite 数据库 workbuddy.db 和 settings.json。这套东西通常会占到 300MB 到 1GB,对于 C 盘空间紧张的机器来说是不小的负担,也是用户反馈里出现频率很高的一类问题。

这个技能要解决的就是「数据目录搬家」这件事:把 .workbuddy 整体挪到其他盘,同时让 WorkBuddy 本身完全无感知,不需要改配置、不需要重装,原本在 C:\ 下的路径依然有效。

技能如何工作

核心思路是利用 Windows 的目录联接 Junction(mklink /J),而不是符号链接。Junction 有两个关键优势:

  • 不需要管理员权限,普通用户就能创建
  • 对应用完全透明,WorkBuddy 仍然读写原来的路径,实际数据落在新盘上

技能提供了两个等价的脚本,用户按习惯选择:

  • scripts/migrate_workbuddy.bat:双击运行,输出为纯英文以避免编码问题,适合普通用户
  • scripts/migrate_workbuddy.ps1:PowerShell 版本,彩色输出,错误处理更完善,适合高级用户

两个脚本执行同样的六步流程:

  1. 检查 WorkBuddy 进程未运行
  2. 验证源目录存在
  3. 清理旧备份和空目标目录
  4. 用 robocopy 完整复制数据
  5. 验证目标完整性(检查 settings.json 等关键文件)
  6. 将源目录重命名为备份,再创建 Junction

执行完成后,WorkBuddy 可以正常启动,所有数据实际存放在新位置。验证无误后,可以删掉 C 盘上的备份目录释放空间——技能建议用户先观察几天再删。

适用边界与注意点

有几件事必须提前说清楚:

  • WorkBuddy 必须完全关闭,包括系统托盘图标,否则文件被占用,复制和重命名都会失败
  • 目标盘至少预留 1GB 空间
  • Junction 只支持 Windows,Linux / macOS 不适用这套方案
  • .bat 脚本必须使用纯 ASCII 英文。cmd.exe 默认用 GBK 编码解析 bat 文件,即使文件里写了 chcp 65001 也救不回来——脚本在执行到该命令之前就已经解析完了
  • robocopy 的退出码规则特殊:0–7 都算成功(0=无变化、1=成功复制、2=多余文件、3=两者都有),8 及以上才算失败,脚本里已按此逻辑处理

另外要明确哪些内容不在迁移范围内:云端记忆存储在服务器端,属于只读内容;工作区记忆本来就位于用户自己的项目目录里,不需要移动。本技能只搬迁用户级数据目录 ~/.workbuddy/。

万一迁移后 WorkBuddy 出现异常,可以用 rmdir 删除 Junction 再从备份目录恢复,回滚路径是明确的。

使用场景

  • C 盘只剩几百 MB,需要把 WorkBuddy 的 `.workbuddy` 目录整体搬到 D 盘并让应用无感知地继续运行
  • 用户想更换 WorkBuddy 数据存储位置,但不知道数据具体存在哪、能不能挪动
  • 磁盘扩容后重新划分分区,要把 WorkBuddy 运行时、记忆体和 SQLite 数据库迁移到新盘
  • 团队需要统一把多台 Windows 机器上的 WorkBuddy 数据目录从系统盘迁出以释放空间

适合人员

  • C 盘空间告急、需将 WorkBuddy 数据目录迁到其他盘的 Windows 开发者
  • 需要在不重装、不改配置的前提下释放 C 盘空间的技术运维人员
  • 想弄清 WorkBuddy 数据存在哪里、能否更换位置的普通用户
  • 需要为多台 Windows 工作站批量迁移 WorkBuddy 数据的企业 IT 管理员