dsh-kimicode-swarm:DeepSeek Harness 批量並行子 Agent 調度插件

前言

在 DeepSeek Harness(DSH)中,有些任務可以拆成多個互不依賴的子任務。如果逐條串行處理,批量派發和狀態觀察會比較不直觀。

dsh-kimicode-swarm 針對這個場景,把 Kimi Code Swarm 模式移植到 DSH,提供 swarm_batch 工具、/swarm 命令和聊天內即時進度條。它由 hongyue0721 維護,許可證爲 MIT。

下面介紹它的核心能力、安裝方式、典型用法和已知限制。

這是什麼

dsh-kimicode-swarm 是 DSH 插件,用於批量並行子 Agent 調度。

它的核心鏈路是:Agent 判斷任務是否值得拆分,使用 swarm_batch 批量生成子任務,子 Agent 並行執行,聊天內展示運行狀態。/swarm 命令則用於一次性進入 Swarm 模式,完成探索邊界、拆解子任務、批量派發、彙總結果後自動退出。

核心能力

swarm_batch 工具

swarm_batch 使用 prompt_template + items 批量生成子任務,最多 128 項。

items 中的每一項可以帶 model 或 type。如果之前已有任務啓動過,可以使用 resume_agent_ids 做斷點續做。

swarm_batch 參數包括:

  • description
  • subagent_type
  • model
  • prompt_template
  • items
  • resume_agent_ids

按任務指定模型時,可以給某一項寫:

{
  "item": "...",
  "model": "deepseek-v4-pro"
}

也可以給整批傳 model 字段。

模型分配順序如下:

  1. item 級或整批顯式 model 優先。
  2. 其次按 type 命中設置映射表。
  3. 最後繼承調用者模型。

自適應調度

調度先以 5 個併發開始,每 700ms 爬坡 1 個。

遇到限流時執行指數退避,例如 3s、6s、12s。調度容量可以收縮,也可以恢復。

取消行爲如下:

  • 用戶取消時保留已完成結果。
  • 單個任務超時只失敗該任務。

/swarm 命令

/swarm <任務> 是一次性 Swarm 模式,用於:

  1. 探索邊界。
  2. 拆解子任務。
  3. 批量派發。
  4. 彙總結果。
  5. 自動退出模式。

示例:

/swarm 審查這三個模塊的代碼並給出修復建議

聊天內即時進度條

host 端通過 SSE /swarm-events 廣播全量快照,瀏覽器端用 EventSource 訂閱,並渲染運行中、排隊、完成狀態。

進度只用於展示,不寫入會話日誌。

安裝與啓用

先安裝插件:

dsh plugin --profile web add dsh-kimicode-swarm

安裝後重啓 dsh web:

dsh web

新會話中可以看到 swarm_batch 工具和 /swarm 命令。

由於插件會接入當前 dsh 環境並註冊工具與命令,安裝前應檢查源碼與許可證。

典型用法

1、直接描述任務,讓 Agent 自行判斷是否值得批量並行;或明確要求「用 swarm 批量派發」。

2、使用快捷命令發起一次性 Swarm 模式:

/swarm 審查這三個模塊的代碼並給出修復建議

3、按任務指定模型:給 items 的某項寫:

{
  "item": "...",
  "model": "deepseek-v4-pro"
}

也可以整批傳 model 字段。

配置

配置可走 profile patch 的 entry config,或 ~/.dsh/settings.yaml 的 swarm: 段。

已給出的配置項包括:

  • enabled
  • announceToAgent
  • modelMappingEnabled
  • modelMapping

示例結構如下:

swarm:
  enabled: true
  announceToAgent: true
  modelMappingEnabled: false
  modelMapping:
    - type: <type>
      model: <model>

其中 modelMapping 用於按 type 命中映射表。未顯式指定模型時,最後會繼承調用者模型。

已知限制

  • 設置頁卡片受宿主白名單限制:dsh-host-apiproxy 的 WEB_SETTINGS_NAMESPACES 硬編碼白名單會導致插件自注冊設置命名空間返回 settings-not-exposed;GUI 編輯待宿主放開後啓用。
  • 子 Agent 執行期間不回報中間 token,進度條只展示啓動/完成狀態,不是 token 級流式。
  • 無文件鎖:多子 Agent 寫衝突靠任務拆分規避。
  • 進度僅用於展示,不寫入會話日誌。

小結

dsh-kimicode-swarm 適合在 DSH 中處理可拆分、可並行、需要批量派發子 Agent 的任務。它提供 swarm_batch 批量工具、/swarm 一次性命令,以及聊天內進度展示,適合希望並行派發子 Agent 並觀察狀態的開發者。

相關鏈接:

  • GitHub:https://github.com/hongyue0721/dsh-kimicode-swarm
  • 目錄頁(來自插件線索,未獨立覈實):https://www.skillhub.cn/plugins/hongyue0721/dsh-kimicode-swarm
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜