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 中的每一项可以带 modeltype。如果之前已有任务启动过,可以使用 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.yamlswarm: 段。

已给出的配置项包括:

  • enabled
  • announceToAgent
  • modelMappingEnabled
  • modelMapping

示例结构如下:

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

其中 modelMapping 用于按 type 命中映射表。未显式指定模型时,最后会继承调用者模型。

已知限制

  • 设置页卡片受宿主白名单限制:dsh-host-apiproxyWEB_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
羽毛球分组比赛记分
小程序二维码

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

小夜