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
羽毛球分组比赛记分
小程序二维码

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

小夜