Workbuddy问题修复专家

SKILL开发
开发 未标注权限 许可证不明确
安装这个技能

诊断和修复WorkBuddy任务无法访问、对话记忆丢失、空间丢失等路径映射和数据库问题

一句话选型结论

按资料字段整理

Workbuddy问题修复专家是开发类的 Agent Skill,安装方式未标注,权限级别未标注,许可证不明确,有可直接复制的安装命令。技能本质是给模型读的说明书,效果取决于模型与客户端;装完先用一个小任务验证,再放进正式流程。

分类开发 安装方式未标注 权限级别未标注权限 许可证许可证不明确
累计安装 未标注 本周 未标注
GitHub 星标 未标注 仓库 未标注
下载量 未标注 技能市场下载数
权限级别 未标注权限 安装前请确认风险范围
许可证 许可证不明确 未说明

安装

未标注
在支持 Skills 的客户端里执行,装完问一句「你有哪些技能」验证
skillhub install user_b186fa50/wt
  1. 1
    确认客户端支持

    确认你的客户端支持 Skills(Claude、Codex、Cursor 等),并升级到较新的版本。

  2. 2
    拿到技能文件

    执行上面的命令安装;也可以把仓库里的 SKILL.md 手动放进客户端的 skills 目录。

  3. 3
    刷新技能列表

    重新打开客户端,或刷新技能列表,让新放进来的技能被加载。

  4. 4
    验证是否生效

    问一句「你有哪些技能」,确认列表里出现它,再拿一个小任务试跑。

技能档案

开发
字段来自技能仓库与公开索引,中文说明由本站标注
作者 / 维护方user_b186fa50仓库 未标注 · 版本 未标注
宿主客户端未标注技能可被这些客户端加载
安装方式未标注安装包 community
权限级别未标注权限安装前请确认风险范围
许可证未说明许可证不明确,商用前请自行确认条款
仓库可用性available技能仓库当前是否可访问
最近核验未标注上游最后核验时间 · 数据更新 1791701496
正文体量13.3 KBSKILL.md 原文大小,越大说明说明书写得越细

典型使用场景

3 类
按分类整理的常见用法,具体以 SKILL.md 为准
写代码与改 bug

按需求补代码、定位并修掉报错。

读仓库与生成改动

让模型读懂项目结构,再给出可落地的改动。

跑测试与排查故障

按现象排查问题,补测试用例并复跑。

选择建议

装之前先看这几条
按条目字段给出的判断,不替你决定用不用

值得选的地方

  • 有可直接复制的安装命令,不用自己翻文档找入口。

先想清楚的地方

  • 没有标注权限级别,实际能做什么要装好后确认。
  • 许可证不明确,商用或二次分发前先到仓库确认条款。
  • 没有做站内核验,内容以作者仓库为准。
  • 技能只是说明书,实际效果取决于模型与客户端,装完先用小任务试一遍。

更适合

  • 需要在开发场景里给模型补一套做法的人。
  • 愿意先读一遍 SKILL.md、确认它会让模型做什么的人。

不太适合

  • 对许可证要求很严、必须明确可商用的人。
  • 只想装完就自动变强、不打算看说明书的人。

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
技能权限级别安装方式累计安装宿主客户端安装命令
Workbuddy问题修复专家当前 未标注权限 未标注 未标注 未标注 有
技能审查员 浏览器控制 ClawHub 市场 877.9 万 OpenClaw 有
Vercel React 最佳实践 浏览器控制 GitHub 仓库 849.1 万 Codex、Claude、Cursor 有
GitHub 代码协作 联网访问 ClawHub 市场 763.3 万 OpenClaw 有
网页设计指南 联网访问 GitHub 仓库 668.6 万 Codex、Claude、Cursor 有
本体论 只读 ClawHub 市场 663.7 万 OpenClaw 有

SKILL.md 全文

13.3 KB
模型实际读到的说明书原文,来自技能仓库

修复 WorkBuddy 的任务

适用场景

当 WorkBuddy 左侧任务列表中的对话打不开、提示"工作目录已被重命名或删除"、或需要重命名/合并/修复工作目录时使用。

核心架构(必须理解)

WorkBuddy 的工作目录路径存储在四处,四者必须一致:

# 位置 路径 说明
1 文件夹本身 /Users/{用户名}/WorkBuddy/{名称}/ 实际的工作目录,用户在访达中看到的
2 数据库 sessions.cwd ~/.workbuddy/workbuddy.db → sessions 表 cwd 字段 真正的数据源,运行时以此为准
3 projects 目录 ~/.workbuddy/projects/Users-{用户名}-WorkBuddy-{名称}/ 对话日志(.jsonl)存放处,目录名 = cwd 路径把 / 替换为 -
4 sessions.json 缓存 ~/.workbuddy/app/sessions.json → sessions[].workDir 启动时读取的缓存,重启时如果不同步会导致对话历史丢失

关键认知:
- ~/.workbuddy/app/sessions.json 是启动缓存,WorkBuddy 重启时先读它。如果 workDir 指向旧路径,对话历史会找不到(✅ 已验证:重命名目录后只更新数据库不更新 sessions.json,重启后对话内容消失)
- 重命名工作目录时必须同时更新四处:文件夹 + 数据库 cwd + projects 目录 + sessions.json workDir
- 对话日志(.jsonl)存储在 projects 目录下,与文件系统的工作目录路径独立——即使工作目录被删除,对话日志仍然存在
- 数据库中 deleted_at 字段不为空表示对话已被用户删除,但日志数据仍在磁盘上
- 重启后 WorkBuddy 可能基于 sessions.json 的旧 workDir 重建旧 projects 目录并写入碎片数据,需清理

诊断流程

第 1 步:查询所有对话状态

sqlite3 ~/.workbuddy/workbuddy.db \
  "SELECT substr(id,1,8) as id, cwd, custom_title, 
   CASE WHEN deleted_at IS NOT NULL THEN '已删除' ELSE '活跃' END as status,
   datetime(created_at/1000, 'unixepoch', 'localtime') as created
   FROM sessions ORDER BY created_at DESC;"

第 2 步:逐个检查路径一致性

对每个活跃对话,检查三处是否一致:

# 检查工作目录是否存在
ls -d "{cwd路径}" 2>&1

# 检查 projects 目录是否存在
ls -d ~/.workbuddy/projects/Users-{用户名}-WorkBuddy-{名称}/ 2>&1

# 检查对话日志是否存在
ls ~/.workbuddy/projects/Users-{用户名}-WorkBuddy-{名称}/*.jsonl 2>&1

第 3 步:根据症状定位问题

参见下方"问题清单与修复方案"。


问题清单与修复方案

问题 1:文件夹被重命名(✅ 已验证)

症状:对话提示"工作目录已被重命名或删除"

原因:用户在访达中直接重命名了文件夹,但数据库中的 cwd 仍指向旧路径

修复:更新数据库 cwd + 重命名 projects 目录

# 0. 备份数据库
cp ~/.workbuddy/workbuddy.db ~/.workbuddy/workbuddy.db.bak

# 1. 查询对话 ID 和旧路径
sqlite3 ~/.workbuddy/workbuddy.db \
  "SELECT id, cwd FROM sessions WHERE deleted_at IS NULL;"

# 2. 更新数据库 cwd(用实际的新文件夹名)
sqlite3 ~/.workbuddy/workbuddy.db \
  "UPDATE sessions SET cwd = '/Users/{用户名}/WorkBuddy/{新名}' WHERE id = '{完整ID}';"

# 3. 重命名 projects 目录
mv ~/.workbuddy/projects/Users-{用户名}-WorkBuddy-{旧名} \
   ~/.workbuddy/projects/Users-{用户名}-WorkBuddy-{新名}

# 4. 验证
sqlite3 ~/.workbuddy/workbuddy.db \
  "SELECT substr(id,1,8), cwd FROM sessions WHERE id = '{完整ID}';"

问题 2:文件夹被删除(✅ 已验证)

症状:对话提示"工作目录已被重命名或删除",且用户确认文件夹已删

两种情况:

情况 A:对话也被删除了(deleted_at 不为空)
- 对话日志仍在 projects 目录中,空的工作目录可安全删除
- 无需修复,对话已从列表移除

情况 B:对话仍活跃(deleted_at 为空),但工作目录被误删
- 重建空目录即可恢复访问:

mkdir -p "{cwd路径}"
  • 对话历史不会丢失(存在 projects 目录中)

问题 3:需要重命名工作目录(✅ 已验证)

修复:文件夹改名 + 更新数据库 + 重命名 projects 目录 + 更新 sessions.json

# 0. 备份
cp ~/.workbuddy/workbuddy.db ~/.workbuddy/workbuddy.db.bak
cp ~/.workbuddy/app/sessions.json ~/.workbuddy/app/sessions.json.bak

# 1. 重命名文件夹
mv "/Users/{用户名}/WorkBuddy/{旧名}" "/Users/{用户名}/WorkBuddy/{新名}"

# 2. 更新数据库
sqlite3 ~/.workbuddy/workbuddy.db \
  "UPDATE sessions SET cwd = '/Users/{用户名}/WorkBuddy/{新名}' WHERE id = '{完整ID}';"

# 3. 重命名 projects 目录
mv ~/.workbuddy/projects/Users-{用户名}-WorkBuddy-{旧名} \
   ~/.workbuddy/projects/Users-{用户名}-WorkBuddy-{新名}

# 4. 更新 sessions.json 缓存(关键!不更新重启后对话历史会消失)
# 用 Edit 工具把 sessions.json 中对应 conversationId 的 workDir 改为新路径

⚠️ 踩坑记录:只更新数据库不更新 sessions.json,WorkBuddy 重启后会读取 sessions.json 的旧 workDir,导致:
- 对话历史在界面中消失(数据仍在 projects 目录中)
- WorkBuddy 可能基于旧 workDir 重建旧 projects 目录并写入碎片数据
- 需要更新 sessions.json + 清理旧 projects 目录


**注意**:如果改的是当前正在使用的对话目录,改完后当前会话会异常,必须重启 WorkBuddy。

### 问题 4:合并多个工作空间(✅ 已验证)

**场景**:把两个空间(如 cc等工具 + openclaw)合并成一个(工具问答)

**限制**:两个独立对话无法真正合并为一个对话,只能让它们共享同一工作目录

**步骤**:
```bash
# 0. 备份
cp ~/.workbuddy/workbuddy.db ~/.workbuddy/workbuddy.db.bak

# 1. 创建新文件夹,合并内容
mkdir -p "/Users/{用户名}/WorkBuddy/{新名}/.workbuddy/memory"
cp -R "/Users/{用户名}/WorkBuddy/{旧名1}/.workbuddy/memory/"* "/Users/{用户名}/WorkBuddy/{新名}/.workbuddy/memory/"
cp -R "/Users/{用户名}/WorkBuddy/{旧名2}/.workbuddy/memory/"* "/Users/{用户名}/WorkBuddy/{新名}/.workbuddy/memory/"

# 2. 更新数据库:两个对话都指向新目录
sqlite3 ~/.workbuddy/workbuddy.db \
  "UPDATE sessions SET cwd = '/Users/{用户名}/WorkBuddy/{新名}' WHERE id = '{ID1}';"
sqlite3 ~/.workbuddy/workbuddy.db \
  "UPDATE sessions SET cwd = '/Users/{用户名}/WorkBuddy/{新名}' WHERE id = '{ID2}';"

# 3. 合并 projects 目录
mkdir -p ~/.workbuddy/projects/Users-{用户名}-WorkBuddy-{新名}
cp -R ~/.workbuddy/projects/Users-{用户名}-WorkBuddy-{旧名1}/* \
       ~/.workbuddy/projects/Users-{用户名}-WorkBuddy-{新名}/
cp -R ~/.workbuddy/projects/Users-{用户名}-WorkBuddy-{旧名2}/* \
       ~/.workbuddy/projects/Users-{用户名}-WorkBuddy-{新名}/

# 4. 旧文件夹移至废纸篓(不要用 rm)
osascript -e 'tell application "Finder" to delete POSIX file "/Users/{用户名}/WorkBuddy/{旧名1}"'
osascript -e 'tell application "Finder" to delete POSIX file "/Users/{用户名}/WorkBuddy/{旧名2}"'

# 5. 注册新空间
sqlite3 ~/.workbuddy/workbuddy.db \
  "INSERT OR REPLACE INTO workspaces (path, last_opened_at) VALUES ('/Users/{用户名}/WorkBuddy/{新名}', strftime('%s','now') * 1000);"

问题 5:恢复已删除的对话(⚠️ 未验证)

场景:对话被删除(deleted_at 不为空),但用户想恢复

理论修复:清除 deleted_at 字段

sqlite3 ~/.workbuddy/workbuddy.db \
  "UPDATE sessions SET deleted_at = NULL WHERE id = '{完整ID}';"

⚠️ 未验证警告:此操作未在用户电脑上验证过。执行前必须告知用户:
- 这是理论上的恢复方法,未经实际验证
- 可能需要同时检查 workDir 路径是否存在
- 可能需要重启 WorkBuddy 才能生效
- 建议先备份数据库

问题 6:对话日志文件(.jsonl)损坏或丢失(⚠️ 未验证)

症状:对话在列表中显示,但点击后内容为空或报错

可能原因:
- .jsonl 文件被意外删除
- 文件写入时被中断导致格式损坏
- 磁盘错误导致文件损坏

⚠️ 未验证警告:以下修复方案未经实际验证,执行前需让用户确认:
- 检查 projects 目录下是否有 .jsonl 文件
- 如果文件存在但损坏,尝试用 head/tail 查看损坏位置
- 如果文件丢失,可能需要从备份恢复
- 没有简单的修复方法,可能需要联系 WorkBuddy 支持

问题 7:workbuddy.db 数据库损坏(⚠️ 未验证)

症状:WorkBuddy 无法启动,或所有对话都打不开

检查:

sqlite3 ~/.workbuddy/workbuddy.db "PRAGMA integrity_check;"

⚠️ 未验证警告:以下方案未经验证:
- 如果有备份,恢复备份:cp ~/.workbuddy/workbuddy.db.bak ~/.workbuddy/workbuddy.db
- 如果没有备份,尝试修复:sqlite3 ~/.workbuddy/workbuddy.db ".recover" > recovered.sql
- 重建数据库:sqlite3 ~/.workbuddy/workbuddy.db.new < recovered.sql
- 可能丢失部分会话元数据

问题 8:权限问题导致无法访问(⚠️ 未验证)

症状:WorkBuddy 提示权限错误

检查:

ls -la ~/.workbuddy/workbuddy.db
ls -la "/Users/{用户名}/WorkBuddy/{名称}/"

⚠️ 未验证警告:以下方案未经验证:

# 修复所有者
sudo chown -R {用户名}:staff ~/.workbuddy/
sudo chown -R {用户名}:staff "/Users/{用户名}/WorkBuddy/"

问题 9:projects 目录缺失但 cwd 正确(⚠️ 未验证)

症状:工作目录存在,数据库路径正确,但对话内容为空

检查:

ls ~/.workbuddy/projects/Users-{用户名}-WorkBuddy-{名称}/ 2>&1

⚠️ 未验证警告:以下方案未经验证:
- 如果目录不存在,尝试创建空目录:mkdir -p ~/.workbuddy/projects/Users-{用户名}-WorkBuddy-{名称}/
- 对话历史可能已丢失,新对话可以从当前工作目录开始
- 不确定 WorkBuddy 是否会自动重建

问题 10:移动工作目录到其他位置(✅ 已验证原理)

场景:用户想把工作目录从 WorkBuddy/ 移到别处(如桌面)

风险:会导致对话打不开

修复:移动后需同步更新数据库 cwd + 重命名 projects 目录

# 移动文件夹
mv "/Users/{用户名}/WorkBuddy/{名称}" "/Users/{用户名}/新位置/{名称}"

# 更新数据库
sqlite3 ~/.workbuddy/workbuddy.db \
  "UPDATE sessions SET cwd = '/Users/{用户名}/新位置/{名称}' WHERE id = '{完整ID}';"

# 重命名 projects 目录(projectKey = cwd 路径所有 / 替换为 -)
mv ~/.workbuddy/projects/Users-{用户名}-WorkBuddy-{名称} \
   ~/.workbuddy/projects/Users-{用户名}-新位置-{名称}

建议:不要随意移动工作目录,在目标位置新建空间更安全。


修复后的蒸馏流程

每次完成一次修复后,按以下流程更新本 Skill:

  1. 判断是否为新问题:如果遇到的问题已在"问题清单"中,只需更新已有方案
  2. 标记验证状态:
    - ✅ 已验证:在用户电脑上实际操作过且成功的方案
    - ⚠️ 未验证:理论上可行但未经实际验证的方案
  3. 更新 SKILL.md:在对应的问题条目下补充:
    - 实际遇到的症状
    - 验证过的修复步骤
    - 踩过的坑和注意事项
  4. 如果问题全新:在"问题清单"中新增条目,按格式填写

操作原则

  1. 始终先备份数据库:cp ~/.workbuddy/workbuddy.db ~/.workbuddy/workbuddy.db.bak
  2. ⚠️ 未验证的操作必须让用户确认:遇到标记为"⚠️ 未验证"的方案时,先告知用户风险,获得明确同意后才执行
  3. 删除用废纸篓不用 rm:osascript -e 'tell application "Finder" to delete POSIX file "..."'
  4. 路径含中文/空格必须加双引号
  5. 一次只改一个对话:批量操作容易出错
  6. 改完后重启 WorkBuddy:退出应用再重新打开才能生效
  7. 修复完成后蒸馏:把这次修复的经验更新到本 Skill 中

回滚

如果修复出错:

# 恢复数据库
cp ~/.workbuddy/workbuddy.db.bak ~/.workbuddy/workbuddy.db

# 改回文件夹名
mv "/Users/{用户名}/WorkBuddy/{新名}" "/Users/{用户名}/WorkBuddy/{旧名}"

# 改回 projects 目录
mv ~/.workbuddy/projects/Users-{用户名}-WorkBuddy-{新名} \
   ~/.workbuddy/projects/Users-{用户名}-WorkBuddy-{旧名}

一键脚本

参见 scripts/rename-workspace.sh——用于重命名工作目录的一键脚本。

```

常见问题

5 问
答案由本站依据条目字段整理
Workbuddy问题修复专家怎么安装?

在支持 Skills 的客户端里执行:skillhub install user_b186fa50/wt。安装方式为未标注。装完刷新技能列表或重开客户端。

Workbuddy问题修复专家支持哪些客户端?

资料没有标注宿主客户端,但只要客户端支持 Skills(Claude、Codex、Cursor 等),一般都能加载。

Workbuddy问题修复专家权限高吗,安全吗?

权限级别为未标注权限。安装前先看它会读取或写入哪些内容。

Workbuddy问题修复专家收费吗?

本站不代收费用,也没有标注具体价格。是否收费取决于技能本身和所用的模型或客户端,正式使用前按作者说明确认。

Workbuddy问题修复专家用什么许可证?

许可证标注为 未说明(许可证不明确)。商用或二次分发前请到仓库确认条款原文。

热门专题

按场景挑技能
全部专题 →

技能内容以作者仓库为准;分类、权限级别与许可证状态的中文说明为中文整理,最近核验 未标注。