WorkBuddy 标签关闭器
你能解决什么
WorkBuddy 顶部那排标签关不掉,是因为它们来自两个不同的数据源,UI 上没有提供关闭入口。本 skill 自动判别类型并分别处理。
两类标签根因
| 类型 | 是什么 | 数据源 | 关闭方案 |
|---|---|---|---|
| A 类 | Agent 子任务 / 会话标签(如 agent-250c37ea、专家对话) |
~/.workbuddy/projects/<工程>/<会话>/subagents/*.jsonl |
归档 .jsonl → 重启生效 |
| B 类 | 云端下发的常驻团队专家(如 laozhu/laosha 超级合伙人) |
~/.workbuddy/app/cache/experts/manifest.json(expertType=="team",每次启动从腾讯云 COS 下载) |
从 manifest 移除该团队 + 锁只读防覆盖 → 重启生效 |
> ⚠️ 标签栏是 WorkBuddy 客户端渲染逻辑(打包在 app.asar),无法在 UI 上加关闭按钮,只能通过清理数据源实现。
自动识别与分流逻辑
收到关闭指令后,按下面顺序处理:
- 先扫 A 类:遍历
projects/*/subagents/*.jsonl,有则归档(无风险,直接做)。 - 再扫 B 类:解析
manifest.json,找出所有expertType=="team"的条目。
- 若用户意图是「全清」(--apply-manifest)或指定了名字(--names)→ 执行 manifest 移除 + 锁只读。
- 否则只列出检测到的团队专家,不误删(删官方团队有风险,需用户一句话确认)。
触发与调用
| 用户说 | 调用 |
|---|---|
| 关闭本窗口标签 / 关掉当前窗口标签 | python close_tabs.py --mode current |
| 关闭所有窗口标签 / 清理标签页 / 关闭这些标签 | python close_tabs.py --mode auto |
| (auto 基础上)把常驻团队也关了 | python close_tabs.py --mode auto --apply-manifest |
| 只关某个团队(如 laozhu/laosha) | python close_tabs.py --mode auto --names "laozhu,laosha" |
| 仅处理云端团队专家 | python close_tabs.py --mode manifest --names "..." |
| 先预演看看会改什么(不实际改动) | python close_tabs.py --dry-run --mode auto |
| 恢复(manifest 还原+解锁) | python close_tabs.py --mode restore |
| 恢复时连归档的 A 类日志一起还原 | python close_tabs.py --mode restore --restore-subagents |
close_tabs.py 位于本 skill 的 scripts/ 目录,用托管 Python 运行(路径用 ~ 自动推导,跨用户/跨机器可用):
C:/Users/Administrator/.workbuddy/binaries/python/versions/3.13.12/python.exe <skill>/scripts/close_tabs.py --mode auto
执行后须知
- 必须重启 WorkBuddy 标签才消失(标签栏启动时从内存加载)。
- 数据零损失:A 类归档在
_archived_subagents_<时间戳>/;B 类 manifest 备份为.bak。均可恢复。 --dry-run:任何危险操作前先加它,确认要改的范围再去掉重跑。- B 类风险提示:锁只读后,WorkBuddy 官方更新专家市场时本地不会自动同步;需要时执行
--mode restore解锁一次即可。
兜底排查
若重启后标签仍在:
1. 再跑一次 --mode auto,看是否还有未归档的 .jsonl 或未移除的 team。
2. 检查是否还有其他窗口正在产生新子任务(关掉其他窗口再重启)。
3. 极少数情况标签来自已禁用的插件目录(plugins/.../_disabled_*),需手动移走并重载。
版本说明
- v3(当前):路径改用
~推导跨机器可用;新增--dry-run预演、--restore/--restore-subagents一键恢复;归档 move 带异常保护;current模式可自动探测最近活跃工程;结尾输出操作汇总。 - v3.1(当前):改 manifest 前软探测 WorkBuddy 是否仍在运行并提示;
--restore-subagents还原后自动清理空归档目录树。 - v3:路径改用
~推导跨机器可用;新增--dry-run预演、--restore/--restore-subagents一键恢复;归档 move 带异常保护;current模式可自动探测最近活跃工程;结尾输出操作汇总。 - v2:A/B 类自动识别 + manifest 移除 + 锁只读。