dsh-work-crew:用任务板把本机多款 AI 客户端编成一支班组

前言

在 DeepSeek Harness(DSH)里做复杂开发时,常见做法是同一个模型既写代码又自审。实现与审查共用同一上下文,容易漏掉盲点;多人格或多窗口并行改同一文件时,又缺少明确的互斥规则;会话中断后,谁在等待谁、任务进行到哪一步,往往只能靠聊天记录回忆。

dsh-work-crew 是 DSH 社区插件(维护者 GitHub 组织 yxyusage,当前版本 0.10.0,MIT 许可证)。它不替你在 DSH 里写代码,而是做编排:规划任务、派发给本机已安装的客户端、用产物锁避免冲突、收集回执并维护磁盘上的任务板。DSH 仍是总指挥,具体输入由豆包、WorkBuddy、ZCode、Qoder 等 worker 完成。

这是什么

一句话:dsh-work-crew 把本机已安装的 Doubao、WorkBuddy、ZCode、Qoder 变成带任务板的「班组」,状态落在项目目录下的 .dsh-team/。

与「单模型一条龙」相比,插件强调:审查者与实现者分离、写锁与读锁在时间上不能重叠、任务依赖与队列在磁盘上可追溯。插件通过 CDP 启动各应用并写入其聊天框;Windows 下可离屏运行,不占用鼠标。完成信号来自各客户端的硬标记(例如 WorkBuddy 的「已完成」徽章,或 Doubao/ZCode/Qoder 的 @@END@@),而不是猜测对话是否静止。

核心功能

任务板与锁

首次使用可调用 team_init,创建 .dsh-team/(mission、roles、board、outbox 等)。team_add_task 声明标题、worker、依赖 dependsOn、写锁/读锁、expect 等;team_dispatch 生成 brief、施加锁并发送(worker 忙时入队);team_collect 按 taskIds 等待回执,先完成先返回;team_status 查看谁在跑、队列深度、持有哪些锁。

锁支持层级:例如 landing 覆盖 landing:hero,同级子资源可并行。忙时任务为 queued,不占锁、不设超时;当前任务被 collect 后再提升。默认 deadlineMin 为 45 分钟,超时标记停滞;达到两倍预算时任务 blocked 并释放锁。expect 路径必须存在任务才算完成;outbox 文件会自动纳入检查。

Worker 分工

id 应用 擅长 调试端口
workbuddy WorkBuddy 实现、跑命令、验证构建 9332
doubao Doubao 视觉审查、想法、读截图 9331
zcode ZCode 实现 / 第二意见(免费额度有限) 9334
qoder Qoder 实现 / 只读审计(VS Code 系) 9335

Worker 将报告写入 .dsh-team/outbox/<id>.md,回复一行摘要;正文不进入编排器上下文,用于控制 token。

工具一览

除上述流程工具外,README 还列出:team_reassign(换 worker 并保留 brief 与历史)、team_reopen(误判完成时回到 running)、team_resubmit(产物已存在时重检 expect)、team_release(关闭任务;缺 expect 时拒绝 done)、team_split_html(单页拆成 html/css/js 便于并行)、team_shot(截图到文件,仅返回路径,含移动端设备仿真)、team_workers(状态 / 预检 / 重启 / ping)。知识库相关能力在 README 中以 team_knowledge 等形式说明,匹配条目会自动注入 brief。

护栏(Guardrails)

README 列出六道检查,介于「模型自称完成」与「任务真正完成」之间,包括:review: true 时审查者只看需求、git diff 与 rubric,不读实现者报告;快照审查复制到 .dsh-team/snapshots/<id>/;verify 验收命令(如 pnpm build)失败则无法关闭;risk: "high" 需人工 confirm: true;rubric.md 与审查轮次;crossCheck: true 二次审查对 findings 投票。具体字段以仓库文档为准。

截图:team_shot

移动端审查若用错误方式截图,容易产生假问题。team_shot 会模拟 prefers-reduced-motion: reduce 并等待布局稳定,避免动画中途截屏;并用设备仿真而非仅改窗口尺寸,同时检查 scrollWidth 与视口是否一致。示例:

team_shot { "target": "index.html", "out": "shots/mobile-390.png", "width": 390, "mobile": true }

安装与启用

插件支持 DSH Desktop 与 Web(README badge)。从 GitHub 安装时使用资料中的命令:

# from GitHub
dsh plugin --profile desktop add github:yxyusage/dsh-work-crew

# from a local checkout
dsh plugin --profile desktop add "E:\path\to\dsh-work-crew"

安装后需完全退出 DSH(托盘 → Quit)再重新打开。插件以当前 DSH 进程权限运行,安装前建议自行查看 GitHub 仓库 源码与 MIT 许可证;社区目录 skillhub.cn 插件页 与 DeepSeek / 幻方无官方从属关系,属于 DSH「一切皆插件」生态中的独立收录。

典型用法

README 给出的工具链顺序如下:

team_init          → create .dsh-team/ (mission, roles, board, outbox)
team_add_task      → title, worker, dependsOn, write/read locks, expect
team_dispatch      → builds a brief, enforces locks, sends it (queues when busy)
team_collect       → wait for receipts; takes taskIds, returns whoever finishes first
team_status        → board: who is running, what is queued, which locks are held

一次典型任务编排示例:

T1  implement hero      WorkBuddy   write:landing:hero
T2  review landing      Doubao      read:landing        ← waits for T1 (write×read)
T3  product discussion  Doubao      —                   ← runs in parallel with T1
T4  docs                Qoder       write:docs          dependsOn: [T1, T2]

team_dispatch 可一次传入多个 taskIds 批量派发;T2 在 T1 释放写锁后才因读锁规则与 T1 错开,T3 无锁可与 T1 并行,T4 依赖 T1、T2 完成后才执行。

适用场景与注意

适合已经在本机安装 Doubao、WorkBuddy、ZCode、Qoder 中至少一种、并希望用 DSH 做多角色流水线、而不是单会话堆 prompt 的开发者。前提包括:接受 CDP 驱动客户端、在项目内维护 .dsh-team/ 状态,以及为高风险任务预留人工确认。

注意:各 worker 需对应应用已安装且调试端口可用;ZCode 有免费额度限制。插件不会代替 DSH 写代码,验收与锁规则需按任务配置认真填写 expect、verify、risk 等字段。星标与社区热度以目录页为准,安装与行为以 GitHub README 为准。

结尾

dsh-work-crew 把「一个指令」落实为「一支有纪律的本机 AI 班组」:任务板、锁、队列与回执文件让多客户端协作可重复、可恢复。进一步了解可访问 SkillHub 目录页 与 GitHub:yxyusage/dsh-work-crew。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜