dsh-buddy-control:DSH 中控台,派活给 CodeBuddy / WorkBuddy 并做验收闭环

前言

在 DeepSeek Harness(DSH)里把任务交给本地 CodeBuddy CLI 或 WorkBuddy,常见做法是「派一次、拿结果」。若你还需要自己对照验收标准判定、不合格时带着修改意见让工人返工,并在缺模型、工具或 MCP 时补齐能力,就要在 DSH 侧多一层「监督」逻辑。社区插件 dsh-buddy-control(维护者 zzy-super,分类:工作流)把 DSH 当作中控台,工人当执行端,用台账和确定性检查把派活、验收、打回同一会话返工串成闭环;与 dsh-console 的 console_delegate(派一次、拿结果)可并存,本插件强调「派一次、判定结果、不合格则返工直到过验收」。

这是什么

dsh-buddy-control 是 DSH 的 Host 插件(无 UI 部分),通过 spawn 子进程调用本机已安装的 CodeBuddy CLI 和/或 WorkBuddy,DSH 负责拼任务与验收标准、锁定 DeepSeek 模型、跑检查、记录结论;工人进程内消耗自己的额度,DSH 主要承担派活、读结果与判定。插件自述为 Supervised local-agent dispatch for DeepSeek Harness。

项目为个人作品,与 DeepSeek、腾讯(CodeBuddy / WorkBuddy)无隶属或背书关系;插件自身不联网、不收集遥测、不持有模型或账号凭据,写操作限定在 ~/.codebuddy(写前备份)和 ~/.dsh/buddy-control,默认只出计划,完整边界见仓库 SECURITY.md。

和 console _delegate 的分工

方式 行为
dsh-console 的 console_delegate 派一次、拿结果
dsh-buddy-control 派一次、判定结果;不合格打回同一会话返工,并可诊断、补齐工人缺的能力

两个插件可以同时安装。

核心能力(已文档说明部分)

整体数据流:DSH 侧 buddy_run 锁模型并起子进程 → CodeBuddy / WorkBuddy 在独立会话中执行 → 产出与检查写入 ~/.dsh/buddy-control/runs/<runId>.json → buddy_review 做 accept / reject;reject 时通过 --resume <sessionId> 把 issues 送回工人原会话,检查项每轮复跑。

文档归纳的七个实现要点:

  1. 派活(buddy_run):任务、验收标准、交付约定拼成自包含 prompt(worker 不共享 DSH 上下文)。
  2. 模型锁定:从 codebuddy --help 的 supported 列表取版本号最高的 DeepSeek id;每次从 worker 的 providerData.requestModelId 核对实际请求,不符则 model.drift。
  3. 台账:每轮产出、检查、缺口、结论落盘,供打回续接。
  4. 会话续接:reject 不新开对话,在原 worker 会话里返工。
  5. 确定性验收(checks):支持 file-exists、file-contains、json-valid、command 等六种检查,评审时复跑,不依赖工人自述。
  6. 缺口诊断(buddy_gaps):区分「活没干好」与「工人缺能力」(登录、可执行文件、node 包、工具、MCP、权限、模型、上下文、超时等)。
  7. 设备发现 + 部署(buddy_discover / buddy_deploy):Windows 上走注册表、where、winget 等找真实安装位置;非 Windows 降级为按配置路径查找。

八个工具(buddy_doctor、buddy_discover、buddy_deploy、buddy_run、buddy_review、buddy_gaps、buddy_provision、buddy_status):前三个加 buddy_status 文档写明不消耗模型调用;出问题文档建议先跑 buddy_doctor,每条结果带 fix 和可脱敏粘贴的 report。

跨设备:buddy_discover 按主机名存设备画像于 ~/.dsh/buddy-control/devices/<主机名>.json;buddy_deploy 在 apply: true 且 acceptInstall: true 时装缺软件、收敛 MCP/插件/信任目录/模型,最后以真实 PONG 调用 + 模型核对验收,仅当返回 verified.ok: true 才算部署成功。

环境要求

项 说明
DSH 已安装并可加载 profile 插件
系统 Windows 10/11(设备发现走注册表 + where + winget);非 Windows 仅按配置路径找
Node ≥ 20(插件无第三方依赖,用 DSH 自带依赖即可)
工人 CodeBuddy CLI(npm i -g @tencent-ai/codebuddy-code)和/或 WorkBuddy 桌面版,装其一即可

安装与启用

官方 README 给出本地插件三步安装(Host 插件需放进 DSH 本地插件目录并执行 install.ps1 建立依赖链接,否则加载期会失败,buddy_doctor 也无法补救):

# 1. 放到 DSH 的本地插件目录
git clone <this-repo> "$HOME\.dsh\local-plugins\dsh-buddy-control"

# 2. 建依赖链接 + 装技能 + 自检
cd "$HOME\.dsh\local-plugins\dsh-buddy-control"
powershell -NoProfile -ExecutionPolicy Bypass -File .\install.ps1

# 3. 装进 profile(插件管理里 install_bundle 指向这个目录),然后重启 DSH

装完后先执行 buddy_doctor(),再 buddy_deploy({ apply: true, acceptInstall: true }) 收敛设备。

新机器可用仓库中的 bootstrap.ps1(默认从 GitHub 克隆到临时目录再拷贝到 ~/.dsh/local-plugins/dsh-buddy-control 并跑 install.ps1);完全离线可下载 zip 解压后 -Source <解压目录>。README 说明未把 irm ... | iex 作为主路径(部分网络会 502)。

当前 package 版本为 0.1.0,许可证 MIT。插件通过 DSH profile 的 install_bundle 指向本地目录启用,而非资料中出现的单一 dsh plugin add 命令行。

典型用法

业务侧收敛部署(装完插件后):

buddy_deploy({ apply: true, acceptInstall: true })

派活 → 验收 → 打回(README 闭环示例):

// 1. 派活:验收标准和可判定检查一起给
buddy_run({
  worker: "codebuddy",
  cwd: "D:/work/site",
  task: "把首页改成响应式,断点 640/1024",
  acceptance: "三档断点下无横向滚动;构建通过;不引入新依赖",
  checks: [
    { kind: "command", line: "npm run build", cwd: "D:/work/site" },
    { kind: "file-contains", path: "src/styles/home.css", pattern: "@media \\(max-width: 640px\\)" }
  ]
})

// 2. DSH 自己看产物,然后判定
buddy_review({
  runId: "b-20261030-222944-e5mu",
  verdict: "reject",
  issues: [{ severity: "blocker", where: "src/styles/home.css:120", problem: "640px 断点下 .grid 仍是 3 列,出现横向滚动", direction: "在 640px 断点把 .grid 改成 1 列" }],
  directions: "只改断点规则,不要动其它样式"
})

API 形态摘要:

buddy_run({ worker: "codebuddy", task: "...", acceptance: "...", checks: [...] })
buddy_review({ runId, verdict: "reject", issues: [{ where: "a.ts:12", problem: "...", direction: "..." }] })
buddy_review({ runId, verdict: "accept" })

换机时可在 buddy_deploy 的 profile 里传入 model、mcp、plugins、trustedDirs;缺 node / CodeBuddy CLI / WorkBuddy 时文档给出的安装方式为 winget install --id OpenJS.NodeJS.LTS、npm install -g @tencent-ai/codebuddy-code、winget install --id Tencent.WorkBuddy(需同时 apply: true 与 acceptInstall: true 才会真正安装)。

适用场景与注意

适合:已在 Windows 上使用 DSH,并希望把 CodeBuddy / WorkBuddy 当本地工人,由 DSH 写清验收标准、自动跑检查、不合格在同会话返工,必要时自动发现安装路径并用 winget/npm 补软件与配置的团队或个人。

注意:

  • 插件以当前 DSH 进程权限运行,安装前请阅读源码与 MIT 许可证,并理解其对 ~/.codebuddy 与 ~/.dsh/buddy-control 的写边界。
  • 非 Windows 上设备发现能力有限,部署与路径依赖配置更多。
  • 装不上或工具不出现:按 README 重跑 install.ps1 再 buddy_doctor;其它症状见仓库 TROUBLESHOOTING.md。
  • 社区目录 skillhub.cn 与 GitHub 仓库为独立分发渠道,与 DeepSeek / 幻方无官方从属关系;DSH 生态理念是「一切皆插件」。

结尾

dsh-buddy-control 把 DSH 固定在「派活 + 确定性验收 + 同会话返工 + 能力补齐」这一工作流上,工人侧 token 与上下文隔离,台账落在本机 JSON。进一步了解可打开目录页与源码仓库:

  • 目录页:https://www.skillhub.cn/plugins/zzy-super/dsh-buddy-control
  • GitHub:https://github.com/zzy-super/dsh-buddy-control
羽毛球分组比赛记分
小程序二维码

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

Xiaoye