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`
安裝步驟
- 01
安裝預建置的 npm 套件:`dsh plugin --profile web add dsh-team-control`
$ dsh plugin --profile web add dsh-team-control
- 02
可選再加裝 GUI 看板:`dsh plugin --profile web add dsh-team-control-ui`
$ dsh plugin --profile web add dsh-team-control-ui
- 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
- 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 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 派發能約束這份開銷,但不會消除它。
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 裡已存的事件與任務看板會怎麼處理。
07相關的 DSH 工作流程
archify
作者 tt-a1i
为编码智能体生成美观可验证的架构图、时序图与数据流图,输出自包含 HTML,支持动效与清晰导出。
openviking
作者 volcengine
为 AI 智能体打造的自进化上下文数据库,统一智能体记忆、知识 RAG 与技能。
aitoearn
作者 yikart
面向抖音、快手、小红书和视频号的 AI 内容发布工作流,提供相关平台与 MCP 工具集成。
learn-harness-engineering
作者 walkinglabs
Harness 工程新手教程,从 0 到 1 系统学习智能体工作流框架。
08資料與來源
给 DeepSeek Harness 的 Agent Team 加一个独立 sidecar——成员上限可配、DAG 依赖自动派发、按成员分配 DSH 权限预设(permission presets)、成员审批转发给 Lead 决定、事件流可…
sidecar 是独立 Node 进程(`bin/dsh-team.mjs`,默认只监听 `127.0.0.1:4317`),由 Host 插件按需拉起;每个成员都是一个真的 DSH 子会话。
`dsh-plugin/` | DSH Host bundle:20 个 `team_*` + 4 个 `board_*` 工具 + sidecar 生命周期 + 子会话成员调度 + 审批转发
此頁面根據專案公開文件、儲存庫中繼資料與 DSH Plugins 的結構化解析所產生;最後核實於 2026-11-14。發現錯誤?提交更正。
最佳 DeepSeek Harness 外掛
從全目錄挑出的 12 個值得優先安裝的外掛,涵蓋各個分類。
