dsh-dynamic-multiagent:在 DSH 里用任务图编排子智能体

前言

在 DeepSeek Harness(DSH)里做复杂任务时,单会话模型往往要同时承担规划、检索、改代码和复核。把这些步骤硬塞进一轮对话,工具权限难以按角色收窄,也无法在依赖明确时并行执行。社区插件 dsh-dynamic-multiagent(维护者 Silasvanceneo,分类:工作流)把当前会话模型当作 Leader,在需要时把任务拆成无环依赖图,由多个子智能体按节点角色、模型、推理力度和工具集分别执行,并提供设置页与会话级开关。本文介绍其定位、能力与安装用法,事实以 GitHub 仓库 README 与 package.json 为准。

这是什么

dsh-dynamic-multiagent 是面向 DSH 的动态多智能体编排插件:Leader 可将任务分解为子智能体任务图,每个节点可配置角色、模型、reasoning effort 和工具;附带设置界面,并支持全局与会话级开关。插件版本在 package.json 中为 0.2.0,许可证 MIT;要求 Node.js >=20,dsh 版本范围为 >=0.1.0-rc.6 <0.2.0 || >=0.2.1-rc.3 <0.3.0。社区目录页:skillhub.cn 插件页。

核心功能

按需委派与任务图

Leader 的提示词会说明何时拆分任务更划算(独立子任务、不同专长、独立复核、大阅读量等),何时由 Leader 自己完成。任务以无环依赖图组织:就绪节点可并行运行,节点会收到其依赖节点的结果。文档中提到的模式包括并行、流水线、执行加复核、多级团队等。

角色与工具映射

内置 13 种角色(如 explore、librarian、worker、code-reviewer、qa-executor 等)。每个子智能体只获得该角色对应的 dsh 工具(read、grep、edit、bash、web_search 等);复核类角色为只读,并返回结构化结论。

按节点的模型与推理力度

可按节点、角色或任务类别路由模型与 reasoning effort;力度会与各模型实际提供的选项校验。显式指定模型不支持的力度会在提交计划时被拒绝。

设置页与开关

设置页提供健康检查、模型选择、路由表、skills、运行历史(含任务图视图)以及提示词预览。支持全局关闭编排,以及在 composer 旁按会话覆盖(Multi-agent 芯片)。

工具接口与可恢复运行

Leader 通过一组工具与编排层交互,例如:

工具 用途
dynamic_multiagent_status 无 run id 时返回可用模型、路由默认、角色等;有 run id 时返回图、结果与事件
dynamic_multiagent_start 开启一次运行并记录用户约束
dynamic_multiagent_plan 校验图(id、无环依赖、角色、模型、effort)并返回各节点配置
dynamic_multiagent_execute 经宿主 ctx.subagents 提供方执行图
dynamic_multiagent_derive_role 在基础角色上派生更窄的工具与写权限
dynamic_multiagent_cancel 取消运行及未完成子任务

计划、分配、结果与事件会持久化,可在 UI 中查看并取消运行。每个子智能体是普通 dsh subagent,使用角色专用提示词,而非 Leader 的提示词。

高级:自定义连接

支持将 OpenAI 兼容或 Anthropic 端点注册为 dsh 模型路由(高级用法,详见 README)。

安装与启用

DSH 生态里插件通过独立社区目录分发,与 DeepSeek / 幻方无官方从属关系;安装前建议查看仓库源码与 MIT 许可证。插件在当前 dsh 进程的权限下运行子智能体与工具调用。

DeepSeek Harness Desktop

在应用内打开 Plugins → Add plugin,输入 dsh-dynamic-multiagent 并确认,安装后出现在 Installed plugins。README 注明:若在已安装 Desktop 的机器上用 dsh plugin --profile web add … 会装进 CLI 的 web profile,而非 Desktop,Desktop 应使用应用内安装。

dsh CLI(web profile)

dsh plugin --profile web add dsh-dynamic-multiagent
dsh web

启动后打开 Settings → Multi-agent(多智能体)。

从源码安装(可选)

git clone https://github.com/Silasvanceneo/dsh-dynamic-multiagent.git
cd dsh-dynamic-multiagent
npm install && npm run build
dsh plugin --profile web add /absolute/path/to/dsh-dynamic-multiagent

配置在 UI 中编辑,默认写入 ${DSH_HOME}/dynamic-multiagent/config.json(~/.dsh 为默认 DSH_HOME)。部署相关项可写在 profile 的 cordis.patch.yml 中,例如:

- id: dynamic-multiagent
  config:
    dataDir: ${DSH_HOME}/dynamic-multiagent
    subagentProvider: spawn
    exposeTools: true

典型用法

README 给出的快速上手步骤如下。

  1. 打开设置页,Overview 中子智能体提供方(spawn)应显示为就绪。
  2. 在 Models 中开启子智能体可用的 dsh 模型并标记能力;跳过则所有子节点继承会话模型。
  3. 在 Routing 中可按角色或类别选择模型与 reasoning effort,例如 explore 用廉价模型且 effort off,code-reviewer 用较强模型且 max。
  4. 在会话中给出适合拆分的任务,例如:Survey how errors are handled across this repository, fix the three worst cases, and have the fixes reviewed independently.

Leader 会读取目录、提交计划、用一两句话说明计划、执行并核对结果后汇报;进度体现在 composer 芯片与 Runs 页签。

开关行为摘要:Enable orchestration 关闭时,任何会话都不会注入 Leader 提示词与上述六个工具;On for new conversations 控制无单独设置的会话默认值;composer 旁的 Multi-agent 可对本会话覆盖,选 Follow default 可清除覆盖。

适用场景与注意

适合需要在 DSH 内做「探索 → 实施 → 独立复核」等多阶段、且希望按角色限制工具与按节点选模型的开发者。不适合期望完全无插件、单模型单轮完成全部工作的极简流程。

使用前应确认 dsh 与 Node 版本满足 engines 要求。dsh 0.2.x 对子智能体的 reasoningEffort 有原生支持;0.1.x 下子节点主要继承 provider、模型与输出上限,插件会在该子智能体的每次请求上重新应用 effort(README 说明)。关闭某会话的编排后,Leader 相关段落与工具对该 agent 不可见,且子智能体不会看到编排工具;覆盖设置存在插件数据目录,而非 dsh 会话日志中。

链接

以上能力均来自仓库 README 与 package.json;若版本或 dsh 兼容范围有更新,以 GitHub 为准。

羽毛球分组比赛记分
小程序二维码

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

Xiaoye