返回目錄

skill-wb-exec

精選清單收錄維護狀態: 活躍

luminousyyh/skill-wb-exec

将有范围限制的编码任务交给 WorkBuddy 或 CodeBuddy 命令行智能体,并返回结构化结果和实际差异;支持路径白名单与 worktree 隔离。

前往 GitHub
$ dsh plugin --profile <profile> add github:Luminousyyh/skill-wb-exec

155

星數

0

Fork

Python

語言

MIT

授權條款

2026-10-27

建立於

2026-11-08

最近推送

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`

安裝步驟

  1. 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

  2. 02

    不裝外掛也可以:`git clone` 儲存庫後把 `skills/wb-exec` 複製到 Agent 的 skills 目錄,載入器會在 `<skills-root>/wb-exec/SKILL.md` 找到它

    $ git clone

  3. 03

    執行 `python <SKILL_DIR>/scripts/wb_exec.py doctor` 檢查 CLI、git、環境與狀態目錄

驗證整合成功

  • `doctor` 回傳 JSON 且 `ok=true`,並給出解析到的 `cli`;當 `ok=false` 或 `cli_error` 非空時,README 要求停下來並把原始輸出交給使用者

03DSH 整合程度與能力邊界

DSH 整合原生執行環境

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` 只在使用者明確要求時執行。
2026-10-272026-11-08v1.4.0

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 衝突並靜默卡住。

08資料與來源

  • 作者聲明github.comf02c7f259bab…

    `wb-exec` is a **DeepSeek Harness plugin (skill bundle)**: the host agent hands **coding / refactoring / test-writing**…

  • 作者聲明github.comf02c7f259bab…

    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 個值得優先安裝的外掛,涵蓋各個分類。

DSH Plugins 是獨立的 DeepSeek Harness 外掛目錄,與 DeepSeek 官方無關,也不代表官方背書。第三方外掛未經安全稽核,安裝前請審查原始碼。

每週取得最新的 DeepSeek Harness 外掛,絕不濫發。