dsh-agent-team-gui:在 DeepSeek Harness 里搭一支可复用的多模型 Agent 小队

前言

用 DeepSeek Harness(DSH)做单 Agent 对话已经够用,但一旦任务变长、角色变多——规划、实现、审核要分开,模型路由也要各走各的——很多人还是会回到「手动开多个会话」或「临时写一段 subagent 脚本」的老路上。问题是:这类编排往往是一次性的,换项目、换对话就要重来;跑在后台的长任务也缺少统一的可观测入口。

社区插件 dsh-agent-team-gui(维护者 toolclub)针对的正是这个缺口:把「多成员、多模型、有依赖关系」的工作流做成 DSH Web 里可持久保存、可跨对话复用的「小队」对象,并配上运行中心与 Token 洞察。它在 SkillHub 插件库 归类为「工作流」;GitHub 仓库当前约 129 stars(MIT 许可证)。SkillHub 是面向中国用户的社区目录站点,与 DeepSeek / 幻方无官方从属关系;安装命令与能力说明以仓库 README 为准。

这是什么

一句话:为 DeepSeek Harness 提供持久、可复用的多模型 Agent 小队 GUI——每个成员可独立配置模型、角色提示词、备用路由、输出 Token 上限和工具策略;在普通对话输入框旁选择已保存的小队后,由当前对话的主模型做有界规划、执行无环依赖图(DAG),最后综合各成员结果。

它解决的核心问题不是「再做一个聊天窗口」,而是把小队当成长期可用的产品对象:在 Settings → 小队 里创建一次,之后可在不同项目、不同对话中反复选用,而不必每次重新填派单表单。

核心功能与亮点

成员级模型与工具策略

规划者、实现者、审核者、领域专家可以绑定不同的 DSH provider/model 路由,并各自配置工具白名单/黑名单。凭证仍留在 DSH 配置里,不会复制进插件记录。成员还可设置 maxTokens 硬上限和可选的备用路由(用于一次重试)。

动态编排与有界 DAG

默认情况下,插件用当前对话的 provider/model 启动有界、无工具的规划子任务,根据成员角色生成分工与无环依赖图;就绪节点可按 maxConcurrency 并行,依赖节点只接收有界结构化交接,完整输出保存在持久运行历史中。若启用「固定顺序」,则走可重复的串行流水线,绕过 DAG 规划。

计划无效、有环或不可用时,会回退到确定性的角色专属任务分配,避免一次坏计划拖垮整支小队。

小队 / 单人 / 继承三态

对话旁可选择 Team(小队)Solo(单人)Inherited(继承项目默认);还可为「下一条消息」单独排队另一种模式。这些状态在页面刷新、Host 冷启动、在线重连后仍可操作,目录暂时为空时也不会悄悄删掉已保存的选择。

触发策略支持 始终 / 智能 / 手动:智能模式下规划器可跳过过于简单或不适合小队的任务;手动模式下普通发送保持单人,需要时再排队小队或由模型工具显式派发。

运行中心(Run Center)与 Token 洞察

每次执行在规划开始前即写入持久记录。运行中心展示 DAG、成员状态、审核/返工轮次、完整输出、错误、耗时、重试,并支持停止、整次或单成员重试、导出与筛选。

Token 用量复用 DSH 官方 tokenUsage 投影,分为非缓存输入、缓存读取、缓存写入、输出四个桶;规划、成员、审核、返工可分别归因。覆盖状态明确标为完整 / 部分 / 无计量,计量未到前 UI 显示「正在计量…」而非假零。插件不伪造价格——Harness provider 未通过稳定契约公布单价时,不会猜测费用。

质量门禁、后台运行与版本管理

可选质量门禁指定审核人、返工负责人、标准与最多 2 轮返工。前台运行结束后主 Agent 才综合有界交接;后台运行立即返回简短确认,并在运行中心持续可见;若存在 DSH 官方 Jobs 服务,同一运行也会注册到官方界面并共享取消逻辑。

小队支持版本快照、无凭证「配方(recipe)」导入导出,以及定义备份的合并/替换预览。v0.5 起禁止从 URL 拉取配方,需使用已审查的本地 JSON,以降低 SSRF 风险。

安装与启用

前置条件(据官方 README):

  • DeepSeek Harness >=0.1.0-rc.5 <0.2.0(当前 CI 验证 rc.6)
  • Web profile
  • Node.js >=22.19.0 <23>=24.0.0(不支持 Node 23)
  • pnpm
  • 至少一条已配置好的 DSH provider/model 路由

推荐安装命令(固定 v1.0.1 tag):

dsh plugin --profile web add -w github:toolclub/dsh-agent-team-gui#v1.0.1
dsh --profile web

Git 依赖会执行仓库的 prepare 构建。pnpm 10+ 首次可能要求授权构建;按提示在 Web profile 的 pnpm-workspace.yaml(通常为 ~/.dsh/profiles/web/pnpm-workspace.yaml)中仅放行本包后,重复上述固定版本命令:

allowBuilds:
  dsh-agent-team-gui: true

安装或更新后若 DSH Web 已在运行,需重启进程。验证 bundle 是否载入:

dsh --profile web --dump-config | grep -E "agent-team-gui|dsh-agent-team-gui"

预期输出应同时包含 dsh-agent-team-gui bundle 层与 agent-team-gui 行。

若终端找不到 dsh,可在 Harness 源码目录使用 pnpm dsh --version,并将文中 dsh ... 替换为 pnpm --dir /absolute/path/to/deepseek-harness dsh ...

安全提示allowBuilds 允许 Git 依赖在本机执行构建,安装前应审查源码并固定 tag 或完整 commit SHA;已编译的 release tarball 则不需要 Git prepare 权限。

卸载

dsh plugin --profile web remove dsh-agent-team-gui

删除包不会自动清除 DSH 存储后端中的持久插件表。

典型用法:五步创建第一个小队

  1. Settings → 成员库 创建可复用成员:选择已配置的 provider/model,写清单一角色提示词,按需设备用路由,只授权该角色需要的工具。
  2. Settings → 小队 创建小队并选成员:不启用「固定顺序」则默认动态编排;启用则得到可重复串行流水线。
  3. 配置触发(始终 / 智能 / 手动)、成员选择(全部或自适应子集)、响应模式(前台或后台),以及可选的恢复、预算、审核策略。
  4. 在对话输入框旁选择 小队 / 单人 / 继承;可为下一条消息单独排队,或设置项目默认小队。
  5. 像平时一样发送任务;打开 小队运行 查看计划、阶段、成员输出、错误、重试与 Token 计量。

进阶起点:仓库提供不含凭证的 全栈交付配方,可先预览,再把其中的 your-provider / your-model 占位路由映射到本机 DSH 配置。

模型工具 dispatch_to_squad 仍可用于显式派发:接受小队 ID 或唯一名称、任务及可选分工/顺序;返回给模型的内容有界,完整运行记录可通过运行中心或导出获取。

适用场景与注意事项

适合谁

  • 需要在 DSH Web 里长期维护「规划 + 实现 + 审核」等多角色流水线,且希望各角色走不同模型或工具策略的团队。
  • 希望长任务可观察、可取消、可重试,并需要按成员归因 Token 用量的 DSH 用户。
  • 需要把小队定义导出、分享给同事(无凭证配方),或在多项目间复用同一套成员配置的场景。

注意事项

  • 仅 Web profile 提供 Settings GUI;无 headless 设置界面。导出的 Host service 可供其他进程内插件在提供必要 service 后调用。
  • 插件以当前 dsh 进程权限运行;成员被授权的工具即其能力上限,安装前请阅读源码与 MIT 许可证,并按最小权限配置工具。
  • DSH 与插件均处预稳定阶段,建议固定 Harness 与插件版本;声明兼容 >=0.1.0-rc.5 <0.2.0
  • 软小队 Token 预算只能阻止后续调度,无法在阈值处精确截断已在运行的 provider;单成员 maxTokens 才是 provider 硬上限。
  • 定义导出含成员 system prompt 与路由名;运行导出还含用户任务与成员输出,分享前需自行脱敏。
  • 本地持久存储包含角色提示词、路由名、对话/项目标识、任务与输出等,请保护 DSH home 目录。

结尾

如果你已经在 DSH 里配好了多条模型路由,却还在为「多 Agent 协作只能临时拼凑」发愁,dsh-agent-team-gui 把小队做成可保存、可观测、可版本化的工作流对象,是值得纳入试装清单的工作流类插件。

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

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

小夜