返回目錄

dsh-team-control

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

hunmer/dsh-team-control

DSH 的 Agent Team 控制平面:成员上限可配、DAG 自动派发、四域强制权限、SSE 实时面板

前往 GitHub
$ dsh plugin --profile web add dsh-team-control

15

星數

1

Fork

TypeScript

語言

MIT

授權條款

2026-10-28

建立於

2026-11-13

最近推送

MIT 開源的 DSH Host 外掛加回環 sidecar:用 DAG 派發、權限預設、Lead 掌管的審批、任務看板與 SSE 觀測來跑 agent 團隊。

DSH 整合

原生執行環境

作者聲明

安全稽核

未稽核

最後核實

2026-11-14

授權條款

MIT

01它能幫你完成什麼?

  • 在一個 DeepSeek Harness 工作階段裡跑多 agent 團隊,成員數有上限、任務按相依順序派發

    成員都是真正的 DSH 子工作階段;任務隨 DAG 相依滿足自動派發,`team_status` 能看成員狀態與 DAG 關鍵路徑

    需要多個 agent 一起交付同一份產出、又不想手動管理每個子工作階段的 DSH 使用者

  • 把審批權留在 Lead 手上,而不是交給背景行程自動放行

    需要審批的成員動作會轉發給 Lead,用 `team_approve`(allow / deny)決定;sidecar 的 `approval` 表只做鏡像與稽核

    必須能說清一次 agent 執行中誰批准了什麼事的團隊

  • 邊跑邊看,跑完還能拿到可稽核的報告

    `127.0.0.1:4317/panel` 面板(Trace / DAG / 審批)由 SSE 推送、斷線用 `lastEventId` 續傳,另可用 `team_report` 匯出 Markdown 執行報告與稽核表

    需要回放或解釋一次團隊執行為何如此的操作者與審查者

02如何將外掛接入 DeepSeek Harness?

先決條件

  • Node.js ≥ 22.15——README 說明相依於 `node:sqlite` ≥ 22.5 與 Worker 的 `module.registerHooks` ≥ 22.15,實測版本 v24.22
  • 一個可以安裝外掛的 DSH profile(README 的指令一律用 `--profile web`)
  • 零相依、零建置,不需要 `npm install`

安裝步驟

  1. 01

    安裝預建置的 npm 套件:`dsh plugin --profile web add dsh-team-control`

    $ dsh plugin --profile web add dsh-team-control

  2. 02

    可選再加裝 GUI 看板:`dsh plugin --profile web add dsh-team-control-ui`

    $ dsh plugin --profile web add dsh-team-control-ui

  3. 03

    改用本機原始碼:`git clone https://github.com/hunmer/dsh-team-control.git ~/dsh-team-control`,再執行 `dsh plugin --profile web add "$HOME/dsh-team-control/dsh-plugin"`(看板再加 `.../dsh-plugin-ui`)

    $ git clone https://github.com/hunmer/dsh-team-control.git ~/dsh-team-control

  4. 04

    重新啟動 DSH(或到「設定 → 外掛」裡停用/啟用一次),`team_*` 工具與兩個獨立入口才會出現

驗證整合成功

  • 重新啟動後 `team_*` 工具以及「編排」「任務看板」兩個獨立入口出現
  • `node demo/run-demo.mjs` 跑 3 成員 + DAG + 一次審批 + 一次 interrupt/resume;`node tests/run-all.mjs` 跑 AC-01 ~ AC-19 全量驗收

復原

  • `dsh plugin --profile web remove dsh-team-control`——UI 套件同理

03DSH 整合程度與能力邊界

DSH 整合原生執行環境

DSH Host 外掛(`dsh-plugin/` bundle)提供 20 個 `team_*` 與 4 個 `board_*` 工具,按需拉起監聽 `127.0.0.1:4317` 的本機 sidecar 行程,並透過 `subagents.startActivation` 驅動真正的 DSH 子工作階段

  • 團隊編排工具(`team_*`)

    自然語言下的任務,模型據此呼叫 `team_create` / `team_spawn` / `team_task` / `team_status` / `team_report` / `team_approve`→一支由真正的 DSH 子工作階段組成的團隊,帶成員上限、DAG 相依,以及含驗收標準的成員任務簡報

    會拉起額外的 DSH 子工作階段,消耗模型額度首次呼叫時啟動 sidecar 行程把事件與任務狀態寫進 sidecar 的 SQLite 儲存
  • 審批轉發給 Lead

    成員子工作階段觸發 `permissionPreset` = ask 的動作→請求轉發給 Lead,由 `team_approve` 決定 allow / deny,並落到宿主的 `allowed-once` / `rejected`

    sidecar 的 `approval` 表鏡像並稽核每一次決定
  • 工作區層級任務看板(`board_*`)

    排到同一個 sidecar 上的任務→按 `todo → planning → planned → inprogress → done / failed` 推進的佇列,先規劃後執行,與團隊編排共用一套事件流

    看板狀態持久化在 sidecar 的 SQLite 資料庫裡
  • SSE 面板與 CLI 觀測

    sidecar 的事件流→`/panel` 裡看 Trace、DAG 與審批,斷線後靠 `lastEventId` 續傳;等價入口是 `dsh-team` CLI 的 `status` / `dag` / `logs` / `report`

    面板建置產物由 sidecar 同源託管
  • 事件溯源與狀態重建

    每一次狀態變更都寫成 `event`→`member_state` 作為物化檢視,崩潰後可完整重建,事件流可回放

    狀態寫入工作區內 sidecar 的 SQLite 資料庫

04適合誰?何時不該用?

適合

  • 需要多個 agent 一起交付同一份產出、又不想手動管理每個子工作階段的 DSH 使用者
  • 必須能說清一次 agent 執行中誰批准了什麼事的團隊
  • 需要回放或解釋一次團隊執行為何如此的操作者與審查者

不適合

  • 需要 Node.js ≥ 22.15(`node:sqlite` ≥ 22.5、Worker 的 `module.registerHooks` ≥ 22.15);README 實測 v24.22,並說明專案零相依、零建置。
  • 工具 / skill / MCP 的組合由 DSH `agentPreset` 決定:團隊設預設、成員可覆寫,但只有 `fresh` 成員支援獨立預設,因為 `fork` 繼承 Lead 的組合。

05相容性、維護與安全提醒

  • 需要 Node.js ≥ 22.15(`node:sqlite` ≥ 22.5、Worker 的 `module.registerHooks` ≥ 22.15);README 實測 v24.22,並說明專案零相依、零建置。
  • sidecar 是獨立 Node 行程,只監聽 `127.0.0.1:4317`,由 Host 外掛按需拉起;面板與 CLI 透過 REST + SSE 存取這個回環位址。
  • 工具 / skill / MCP 的組合由 DSH `agentPreset` 決定:團隊設預設、成員可覆寫,但只有 `fresh` 成員支援獨立預設,因為 `fork` 繼承 Lead 的組合。
  • 每個成員都是真正的 DSH 子工作階段,所以一次團隊執行會在 Lead 之外再起 N 個模型工作階段;成員上限與 DAG 派發能約束這份開銷,但不會消除它。
2026-10-282026-11-11作者未說明

MIT · 僅有 README 證據,無 GitHub Release,未做安全稽核

06常見問題

在 DeepSeek Harness 裡怎麼安裝 dsh-team-control?

執行 `dsh plugin --profile web add dsh-team-control`,要 GUI 看板再加 `dsh plugin --profile web add dsh-team-control-ui`。之後重新啟動 DSH(或在「設定 → 外掛」裡停用/啟用一次),`team_*` 工具與「編排」「任務看板」兩個入口才會出現。需要 Node.js ≥ 22.15,沒有 `npm install` 也沒有建置步驟。

sidecar 會把權限接管過去嗎?

不會。`permissionPreset` 落實到成員子工作階段,審批請求由外掛轉發給 Lead,sidecar 的 `approval` 表只做鏡像與稽核——`team_approve` 對應宿主的 `allowed-once` 或 `rejected`。

在 DSH 裡「成員」到底是什麼?

是真正的 DSH 子工作階段:外掛用 `subagents.startActivation` 把它拉起來,成員跑完用 `team_report_task` 回寫,sidecar 據此推進相依、喚醒下一波。也正因為如此,N 個成員的團隊會額外跑 N 個模型工作階段。

怎麼確認裝好了、又怎麼看執行過程?

`node demo/run-demo.mjs` 會跑一個 3 成員 DAG,含一次審批與一次 interrupt/resume;`node tests/run-all.mjs` 跑 AC-01 ~ AC-19 全量驗收。執行時外掛拉起 sidecar 後,面板在 `http://127.0.0.1:4317/panel`,`team_report` 還能匯出 Markdown 執行報告與稽核表。

怎麼移除?

`dsh plugin --profile web remove dsh-team-control`,UI 套件同理。README 只給了移除指令,沒有說明 sidecar 裡已存的事件與任務看板會怎麼處理。

08資料與來源

  • 作者聲明github.com1bc7d8835e98…

    给 DeepSeek Harness 的 Agent Team 加一个独立 sidecar——成员上限可配、DAG 依赖自动派发、按成员分配 DSH 权限预设(permission presets)、成员审批转发给 Lead 决定、事件流可…

  • 作者聲明github.com1bc7d8835e98…

    sidecar 是独立 Node 进程(`bin/dsh-team.mjs`,默认只监听 `127.0.0.1:4317`),由 Host 插件按需拉起;每个成员都是一个真的 DSH 子会话。

  • 作者聲明github.com1bc7d8835e98…

    `dsh-plugin/` | DSH Host bundle:20 个 `team_*` + 4 个 `board_*` 工具 + sidecar 生命周期 + 子会话成员调度 + 审批转发

此頁面根據專案公開文件、儲存庫中繼資料與 DSH Plugins 的結構化解析所產生;最後核實於 2026-11-14。發現錯誤?提交更正。

🏆

最佳 DeepSeek Harness 外掛

從全目錄挑出的 12 個值得優先安裝的外掛,涵蓋各個分類。

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

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