WorkBuddy问题修复专家
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_b186fa50/wt
技能介绍
你要解决的问题
WorkBuddy 左侧任务列表里,某个对话突然打不开了,弹出「工作目录已被重命名或删除」。或者你只是把 WorkBuddy 下的文件夹挪了个位置,重启之后对话历史就从界面上消失了。这类问题的根因几乎都不是数据丢了,而是工作目录路径在多处存储之间出现了不一致。
它如何工作
WorkBuddy 的工作目录路径被同时保存在四个位置,四处必须保持一致:
- 文件夹本身:
/Users/{用户名}/WorkBuddy/{名称}/,也就是你在访达里看到的那个目录 ~/.workbuddy/workbuddy.db中sessions表的cwd字段,运行时真正的数据源~/.workbuddy/projects/下以Users-{用户名}-WorkBuddy-{名称}命名的目录,存放对话日志.jsonl~/.workbuddy/app/sessions.json里sessions[].workDir,启动时读取的缓存
最关键的一点是第四个位置:sessions.json 是启动缓存,重启时先于数据库被读取。如果只更新数据库、忘记同步它,界面会按旧路径去找历史,于是对话内容「消失」——实际上日志仍在 projects 目录里。
技能的诊断流程按三步走:先查询所有对话状态,再逐个检查活跃对话的三处路径是否一致,最后按症状套用对应修复方案。方案覆盖三类典型场景:文件夹被重命名(改回 cwd 并同步重命名 projects 目录)、文件夹被删除(区分对话是否已被删除,活跃对话只需重建空目录即可恢复访问)、需要重命名或合并工作目录(文件夹改名、更新数据库、合并 projects 目录、更新 sessions.json、注册新工作区)。此外还包含恢复误删对话、PRAGMA integrity_check、修正文件属主、迁移目录位置等操作,并附带 scripts/rename-workspace.sh 一键脚本。
适用边界与注意点
对话日志与文件系统路径是解耦的:即使工作目录被删掉,.jsonl 依然在磁盘上,因此重建空目录就能恢复访问。反过来,sessions.json 中的旧 workDir 可能诱导应用重建出旧的 projects 目录并写入碎片数据,清理时要分辨清楚。deleted_at 不为空代表用户主动删除了对话,日志仍在磁盘上,不要误当作损坏去抢救。
动手前先备份数据库,移动目录用 mv 而不是直接 rm。
使用场景
- 工作目录被误删导致对话打不开,需要重建空目录并确认历史日志仍在 projects 中
- 重命名或合并 WorkBuddy 工作目录时,需要同步更新数据库 cwd 与 sessions.json 缓存
- 重启后对话历史从界面消失,需要排查 sessions.json 旧 workDir 并清理碎片目录
- 合并多个工作目录的记忆内容与日志,需要迁移数据库记录并修复所有者权限
适合人员
- 使用 WorkBuddy 管理多个项目空间的独立开发者,需要在重命名目录后保持对话历史连续
- 遇到启动后任务列表空白、需要直接查库定位路径问题的工程师
- 习惯手动整理工作目录、容易触发路径不一致的 macOS 重度用户
- 负责清理和迁移 WorkBuddy 数据、需要安全移动文件夹的运维人员