前言¶
在 DeepSeek Harness(DSH)裏用 Agent Teams 協作時,Lead 會把工作登記到看板上,但真正「誰空閒誰接活、同時跑幾個、寫同一批路徑的任務不要疊在一起」往往還要人盯着手動 fork 或口頭指派。沒有統一隊列時,並行度要麼靠猜,要麼容易讓兩個隊友改重疊的 write scope。
下面介紹社區插件 dsh-agent-team-scheduler(維護者 Rinai-R):在 Team Lead 會話裏由人執行 /dispatch on 後,把已就緒、且符合規則的任務分發給空閒隊友,並在 WIP 上限與 write scope 提示下避免衝突寫。插件當前版本 0.1.2,許可證 MIT;DSH 生態是「一切皆插件」,目錄頁在 skillhub.cn,與 DeepSeek / 幻方無官方從屬關係。
這是什麼¶
dsh-agent-team-scheduler 是 DSH 第三方插件,分類爲工作流。README 的定位是:A dispatch queue for DeepSeek Harness Agent Teams, armed by a person.(由人「上膛」的 Agent Teams 分發隊列。)
Lead 用 team_dispatch_set 登記任務;人在 Lead 會話裏啓動隊列後,就緒工作會分給空閒隊友,且寫範圍(write scope)重疊的任務不會同時跑。它不負責創建隊友或 worktree,也不替代 Agent Teams 本身的協作協議。
核心功能¶
以下行爲均來自項目 README,衝突時以倉庫文檔爲準。
人工啓用(Human armed)
只有人能在 Lead 會話裏執行 /dispatch on 啓動分發;模型不能自行打開隊列。
有界並行(Bounded)
默認最多同時運行兩個「隊友持有」的任務。可用 /dispatch wip <n> 調整 WIP 上限。
按 hint 隔離寫範圍(Isolated by hint)
write scope 有重疊的任務會等待;若任務未標註 scope,除非任務爲只讀,否則會等待。
不是重試循環(Not a retry loop)
隊友處於 inactive 不視爲任務完成; delivery 不確定時不會自動再發一遍。
重啓後暫停(Paused on restart)
進程重啓後分發默認關閉,需再次執行 /dispatch on。
安裝與啓用¶
環境要求¶
- DeepSeek Harness 版本:
>=0.2.1-rc.5且<0.3.0(與package.json中engines.dsh一致)。 - 在同一 profile 中已啓用 Agent Teams。
安裝插件¶
在 dsh 裏打開 Plugins → Install a third-party plugin,輸入插件名:
dsh-agent-team-scheduler
或在終端執行(資料中的官方命令,profile 爲 web 示例):
dsh plugin --profile web add dsh-agent-team-scheduler
若安裝到 desktop profile,需先退出 Desktop,安裝完成後重啓 dsh。
插件以當前 dsh 進程的權限運行;安裝前應自行查看 GitHub 源碼 與 MIT 許可證,確認符合你的安全與合規要求。
在 Lead 會話裏啓用分發¶
進入 Team Lead 會話後,可用 slash 命令控制隊列:
/dispatch on
/dispatch status
/dispatch off
/dispatch wip <n>
Lead 登記任務時使用工具 team_dispatch_set(由 Lead 側調用,具體字段以 DSH Agent Teams 文檔爲準)。
典型用法¶
- 確認 DSH 版本與 Agent Teams 已在當前 profile 打開,並完成插件安裝與重啓。
- 在 Lead 會話中通過
team_dispatch_set把任務登記進分發隊列。 - 執行
/dispatch on啓動隊列(必須由人執行)。 - 用
/dispatch status查看狀態;需要調整並行度時用/dispatch wip <n>。 - 暫停或結束分發時用
/dispatch off;進程重啓後需重新/dispatch on。
適用場景與限制¶
適合誰
已在用 DSH Agent Teams、希望 Lead 集中登記任務、由人控制「何時開始自動分給空閒隊友」,並希望在 WIP 與 write scope hint 層面減少並行寫衝突的團隊。
README 明確寫明的限制(Limits)
- 單進程:調度邏輯綁定當前 dsh 進程。
- Lead 必須在線:Lead 會話需要保持可用。
- Write scope 是 hint,不是鎖:隔離依賴任務上的 scope 標註,不能當作文件系統級互斥。
- 不創建隊友或 worktree:僅調度已有 Team 結構內的任務。
GitHub 上該倉庫目前約 2 stars;功能與邊界以 README 與發行版爲準,使用前建議關注 Issues 更新。
結尾¶
dsh-agent-team-scheduler 把 Agent Teams 裏「就緒任務 → 空閒隊友」的流轉做成可開關的隊列:人負責 /dispatch on,插件負責 WIP 與 write scope 層面的排隊。若你在同一 DSH 版本段內跑多隊友協作,可按上文命令安裝並在 Lead 會話裏試 /dispatch status。