前言¶
在 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 送回工人原會話,檢查項每輪復跑。
文檔歸納的七個實現要點:
- 派活(
buddy_run):任務、驗收標準、交付約定拼成自包含 prompt(worker 不共享 DSH 上下文)。 - 模型鎖定:從
codebuddy --help的 supported 列表取版本號最高的 DeepSeek id;每次從 worker 的providerData.requestModelId覈對實際請求,不符則model.drift。 - 臺賬:每輪產出、檢查、缺口、結論落盤,供打回續接。
- 會話續接:reject 不新開對話,在原 worker 會話裏返工。
- 確定性驗收(
checks):支持file-exists、file-contains、json-valid、command等六種檢查,評審時復跑,不依賴工人自述。 - 缺口診斷(
buddy_gaps):區分「活沒幹好」與「工人缺能力」(登錄、可執行文件、node 包、工具、MCP、權限、模型、上下文、超時等)。 - 設備發現 + 部署(
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