前言¶
用 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 存储后端中的持久插件表。
典型用法:五步创建第一个小队¶
- 在 Settings → 成员库 创建可复用成员:选择已配置的 provider/model,写清单一角色提示词,按需设备用路由,只授权该角色需要的工具。
- 在 Settings → 小队 创建小队并选成员:不启用「固定顺序」则默认动态编排;启用则得到可重复串行流水线。
- 配置触发(始终 / 智能 / 手动)、成员选择(全部或自适应子集)、响应模式(前台或后台),以及可选的恢复、预算、审核策略。
- 在对话输入框旁选择 小队 / 单人 / 继承;可为下一条消息单独排队,或设置项目默认小队。
- 像平时一样发送任务;打开 小队运行 查看计划、阶段、成员输出、错误、重试与 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 把小队做成可保存、可观测、可版本化的工作流对象,是值得纳入试装清单的工作流类插件。
- 插件目录页:https://www.skillhub.cn/plugins/toolclub/dsh-agent-team-gui
- GitHub 仓库:https://github.com/toolclub/dsh-agent-team-gui
- DeepSeek Harness 官方仓库:https://github.com/deepseek-ai/deepseek-harness