MIT 的 DSH skill:在隔離 worktree 裡把有邊界的編碼任務交給無頭 CLI 執行器,並回傳結構化結果、真實 diff 與越界檢查。
DSH 整合
原生執行環境
作者聲明
安全稽核
未稽核
最後核實
2026-11-12
授權條款
MIT
01它能幫你完成什麼?
把邊界明確的編碼 / 重構 / 寫測試子任務交給更便宜的無頭 CLI 執行器,自己只負責規劃與審閱
一份結構化 `result.json`:執行器摘要、真實 `git diff` 補丁、改動檔案、測試結果、越界寫入的 `violations`,以及 `needs_human` 標記
想讓執行器 CLI 承擔量產工作、但 diff 複核、驗收指令與合併仍留在宿主端的 DSH 使用者
在隔離 worktree 裡執行委派任務,並依真實 diff 而不是執行器的自述來評審
一個獨立的 `wb-exec/<id8>` worktree,不提交、不推送、不自動合併,`change.patch` 與 `changed_files_git` 取自真實 `git diff`
需要人工審閱後才讓改動落地的團隊
02如何將外掛接入 DeepSeek Harness?
先決條件
- Python 3.10+,只用標準函式庫,README 明確表示不需要 `pip install`
- 同一台機器上裝好一個受支援的執行器 CLI:`workbuddy`(預設)、`codex`、`claude`、`aider`,或透過 `WB_CLI` / `WB_CLI_ARGV` 設定的 `custom`
- Git 為選用項目:沒有 Git 時退化為原地執行,也拿不到 diff
- 使用 `workbuddy` 後端時,需要帳號或方案允許使用 `deepseek-v4.1-flash`
安裝步驟
- 01
用 `dsh plugin --profile <profile> add github:Luminousyyh/skill-wb-exec` 安裝外掛套件,或在 DSH Desktop 的 Plugins → Plugin Market 裡安裝
$ dsh plugin --profile <profile> add github:Luminousyyh/skill-wb-exec
- 02
不裝外掛也可以:`git clone` 儲存庫後把 `skills/wb-exec` 複製到 Agent 的 skills 目錄,載入器會在 `<skills-root>/wb-exec/SKILL.md` 找到它
$ git clone
- 03
執行 `python <SKILL_DIR>/scripts/wb_exec.py doctor` 檢查 CLI、git、環境與狀態目錄
驗證整合成功
- `doctor` 回傳 JSON 且 `ok=true`,並給出解析到的 `cli`;當 `ok=false` 或 `cli_error` 非空時,README 要求停下來並把原始輸出交給使用者
03DSH 整合程度與能力邊界
DSH 外掛套件:由 `ctx.skills` provider 把 `skills/wb-exec/` 發布成宿主 Agent 可呼叫的 skill
路徑白名單(`owned_paths`)
一個任務包 JSON:`goal`、`context`、`inputs`、`owned_paths`、`acceptance`、`notes`→白名單之外的改動會寫進 `result.violations`,而不是被默默接受;空清單等於只允許新增檔案
空的 `owned_paths` 被執行為「只允許新增」,不是「不檢查」結構化擷取與 `needs_human` 路由
執行器的 stream-json 輸出→一份機器可讀的 `result.json`:`--json-schema` 約束的結果、git diff、越界檢查,以及結構化的 `needs_human` 物件
`stdout.jsonl` 與 `stderr.log` 合計上限 64 MiB(可用 `WB_EXEC_LOG_CAP` 覆寫),超限會終止子行程並把任務標為失敗遞迴防護與路徑級派送鎖
一次 dispatch 呼叫→一個 `job_id`,其 `owned_paths` 不與執行中的任務重疊
子行程會拿到 `WB_SUBAGENT=1`,再派送會被拒絕並以退出碼 3 結束;路徑重疊的派送以退出碼 4 和 `error: PATHS_LOCKED` 失敗非阻塞的監督指令
`dispatch`、`run`、`status`、`collect`、`cancel`、`jobs`→立即回傳的 `job_id`、可觀察的心跳與逾時,以及唯讀列出使用中佔用與近期歷史的 `jobs`
狀態放在 `~/.wb-exec/`(可用 `WB_EXEC_HOME` 更改),`jobs` 不會清理或釋放任何佔用
04適合誰?何時不該用?
適合
- 想讓執行器 CLI 承擔量產工作、但 diff 複核、驗收指令與合併仍留在宿主端的 DSH 使用者
- 需要人工審閱後才讓改動落地的團隊
不適合
- worktree 與 `owned_paths` 是隔離而非禁錮:無視邊界的行程不會被它攔下。在 workbuddy 後端上子指令還帶 `--permission-mode bypassPermissions`,真正有約束力的是白名單加隔離。
- 預設 workbuddy 後端寫死 DeepSeek V4.1 Flash、effort `max`,沒有 `--model` 或 `--effort` 開關;帳號拒絕該模型時任務直接失敗,README 明確要求不要換模型重試。
- 在非 Git 目錄裡任務原地執行(`isolated=false`),拿不到 diff,`owned_paths` 成為唯一防線。
- 路徑重疊的任務會被拒絕而不是排隊:`dispatch` 以退出碼 4 和 `PATHS_LOCKED` 失敗,README 要求用 `jobs` 查看並拆小任務,而不是去清鎖檔。
- 合併由宿主負責:`tests` 裡的 `pass` 不算獨立驗證,`git commit` / `git push` 只在使用者明確要求時執行。
05相容性、維護與安全提醒
- worktree 與 `owned_paths` 是隔離而非禁錮:無視邊界的行程不會被它攔下。在 workbuddy 後端上子指令還帶 `--permission-mode bypassPermissions`,真正有約束力的是白名單加隔離。
- 預設 workbuddy 後端寫死 DeepSeek V4.1 Flash、effort `max`,沒有 `--model` 或 `--effort` 開關;帳號拒絕該模型時任務直接失敗,README 明確要求不要換模型重試。
- 在非 Git 目錄裡任務原地執行(`isolated=false`),拿不到 diff,`owned_paths` 成為唯一防線。
- 路徑重疊的任務會被拒絕而不是排隊:`dispatch` 以退出碼 4 和 `PATHS_LOCKED` 失敗,README 要求用 `jobs` 查看並拆小任務,而不是去清鎖檔。
- 合併由宿主負責:`tests` 裡的 `pass` 不算獨立驗證,`git commit` / `git push` 只在使用者明確要求時執行。
MIT 原始碼;本文所有事實都來自記錄提交處的儲存庫 README,未做獨立安全稽核。
06常見問題
在 DeepSeek Harness 裡怎麼安裝 wb-exec?
用 `dsh plugin --profile <profile> add github:Luminousyyh/skill-wb-exec` 安裝外掛套件,或在 DSH Desktop 的 Plugins → Plugin Market 裡安裝;裝好後 `ctx.skills` provider 會把 `skills/wb-exec/` 發布成一個 skill。不裝外掛也可以 clone 儲存庫,把 `skills/wb-exec` 複製到 Agent 的 skills 目錄。
需要哪個執行器 CLI?
`workbuddy`(寫死的預設)、`codex`、`claude`、`aider`,或用 `WB_CLI` 加 `WB_CLI_ARGV` 範本設定的 `custom`,任選其一,而且必須裝在同一台機器上。少了它外掛照樣能裝,但 `doctor` 會回報 `ok=false`,skill 直接停下。
wb-exec 會替執行器提交或合併改動嗎?
不會。在 Git 儲存庫裡任務跑在 `wb-exec/<id8>` 分支的獨立 worktree 中,不提交、不推送、不自動合併。合併是宿主的工作:`git apply --check` → `git apply` → 自己跑驗收指令 → 回報。
兩個任務同時改同一批檔案會怎樣?
路徑級派送鎖會拒絕:`owned_paths` 與執行中任務重疊的第二次 dispatch 以退出碼 4 和 `error: PATHS_LOCKED` 失敗,並指出佔用者;不重疊的路徑仍可並行。`jobs` 只讀列出目前佔用。鎖檔損毀時會被拒絕,而不是當成空鎖處理。
被派送的執行器能再起一個 wb-exec 嗎?
不能。子行程會帶上 `WB_SUBAGENT=1`,腳本看到該變數就以退出碼 3 拒絕派送。README 也提醒不要在 WorkBuddy / CodeBuddy 工作階段內部呼叫 `dispatch`,否則子行程會和該工作階段的 daemon 衝突並靜默卡住。
07相關的 DSH 工作流程
archify
作者 tt-a1i
为编码智能体生成美观可验证的架构图、时序图与数据流图,输出自包含 HTML,支持动效与清晰导出。
openviking
作者 volcengine
为 AI 智能体打造的自进化上下文数据库,统一智能体记忆、知识 RAG 与技能。
aitoearn
作者 yikart
面向抖音、快手、小红书和视频号的 AI 内容发布工作流,提供相关平台与 MCP 工具集成。
learn-harness-engineering
作者 walkinglabs
Harness 工程新手教程,从 0 到 1 系统学习智能体工作流框架。
08資料與來源
`wb-exec` is a **DeepSeek Harness plugin (skill bundle)**: the host agent hands **coding / refactoring / test-writing**…
This repository is a **DSH plugin package** (`package.json` declares `dsh.bundle`). Once installed, a `ctx.skills` provi…
此頁面根據專案公開文件、儲存庫中繼資料與 DSH Plugins 的結構化解析所產生;最後核實於 2026-11-12。發現錯誤?提交更正。
最佳 DeepSeek Harness 外掛
從全目錄挑出的 12 個值得優先安裝的外掛,涵蓋各個分類。
