这里的「小队」是什么
DSH Agent Team GUI(dsh-agent-team-gui,GitHub Releases 当前为 v1.1.0)把多模型小队做成可复用的产品对象,而不是一次性的派单表单。你先在 Settings → Teams → 成员库 定义成员——名称、角色提示词、主/备用 provider·model 路由、按成员的 maxTokens,以及最小权限的工具允许/禁止表——再在 Settings → Teams 把这些成员组装成具名小队。小队、版本、配方与运行历史跨项目、跨对话持久保存,刷新页面、Host 冷启动与在线重连后仍可操作。
这是 AllDSH 里第二个多代理小队插件,不是 NanmiCoder Agent Teams 的皮肤。Agent Teams 把当前会话变成队长,每次用自然语言重新拉起名册与 DAG;本插件则先落盘小队定义:触发策略、固定顺序(或动态 DAG)、并发、质量门禁与交接上限都挂在已保存的小队上。配方导出一个小队及其成员、不含凭证,可作为本地 JSON 分享,再在导入时重映射路由。
本包是 TypeScript,并携带 Web 客户端半边(dsh.client.platform: web,注入六个 @deepseek-ai/dsh-client-* 入口),以及 Host 侧导出的 AgentTeamService——附带 Zod schema 与进程内定义/派单/版本/配方/运行 API。DSH 本身仍处预稳定期,请把这些 API 也当作 developer preview。
编排、三态模式与运行中心
关闭 固定顺序 时,插件在当前对话路由上启动一个有界、无工具的规划子任务,返回经校验的无环分工与依赖图。就绪 DAG 节点最多按 maxConcurrency 并发;依赖成员只收到有界的结构化交接(默认每份摘要 16,000 字符,可配置 1,000–32,000)。固定顺序是显式串行覆盖,不做 DAG 规划。触发策略为 始终 / 智能 / 手动;成员选择为 全部成员 / 自适应 子集。执行为串行或有界并行;上下文为 spawn、fork,或仅串行可用的 chain。
输入框旁的对话模式是三种持久状态:小队(本对话持续使用某个具名小队)、单人(持久退出,即使项目有默认小队也不启用)、继承(删除对话覆盖,跟随项目默认)。另有独立、崩溃安全的下一条消息一次性选择,只消费一次。目录暂时为空或请求失败时,插件不会悄悄删除已保存的选择。
每次执行都会在规划前写入持久记录。小队运行 / 运行中心 展示前台/后台阶段、耗时、child ID、完整输出、有界交接、停止、有链接的整队或单成员重试、导出与受保留策略保护的清理。重试会创建链接的不可变运行并重放原分工与 DAG,不会让模型重新发明流程。若子运行在交付非空纯文本后以 stopReason: "error" 结束,该成员仍按已完成计并显示协议交付警告;空输出、超时、max-tokens 等其他非完成原因仍算失败。
可选质量门禁指定一名审核人、一名返工负责人、审核标准和 0..2 次返工。未通过时只能重跑该返工负责人再交指定审核复查,不能随意创建 Agent 或递归。官方 DSH Jobs 可选 peer 存在时,后台运行共享取消钩子;否则插件退到进程内后台执行,Host 重启后未完成记录被统一标为 已中断。保留默认关闭(historyMaxRuns: 0、historyMaxAgeDays: 0、versionMaxPerSquad: 0),升级不会静默删历史。
Token 用量复用 DSH 官方 tokenUsage 投影的四个桶——非缓存输入、缓存读取、缓存写入、输出——规划、成员、审核与返工可分别归因。覆盖状态明确为完整/部分/无计量;Provider 首次上报前 UI 显示「正在计量…」,不伪造零值或价格。Token 不是金钱。
安全边界把排他角色与禁止委派写在用户内容摘录之前。被委派的会话不能再次派小队;嵌套的 DSH subagent 工具(含重命名注册项)在小队子成员中被拒绝。自动路径与模型工具共享绑定到最近人类消息的持久 claim,重复工具调用不会制造大量重复小队。
版本、配方与定义备份
每个已保存小队版本都包含所有引用成员的不可变快照。恢复前必须预览;共享成员会影响其他小队时会明确警告。配方只包含一个小队及其成员,从不携带 provider 凭证;导入支持复制或合并、冲突预览,以及主/备用路由分别重映射。定义备份导出 Agent 与小队;导入先预览再选合并或替换,替换会在确认前列出删除、悬空模式/项目默认清理与受影响小队。跨表写入串行执行,验证失败、取消或存储故障时做补偿回滚。
首次运行概要
仓库自带全栈交付配方(规划 → 实现工程师 → 质量审核)。文档中的首跑路径:在「配方与数据」导入本地配方 JSON;把 your-provider / your-model 占位映射到 DSH 中已配置的路由;仅为演示可临时设为始终 + 全部成员;在空临时项目里选中小队与「始终使用小队」;发送一个有界小任务;再打开小队运行查看计划、成员交付、审核与真实 Token 覆盖,确认后才算完成。README 明确说明该演示不承诺固定耗时或节省比例。
安装路径:发布包,不是 Git prepare
包带有 prepare 脚本(以及等价的 prepack),会跑完整 TypeScript 构建。因此 Git 安装(github:toolclub/dsh-agent-team-gui#v1.1.0)会触发该构建,且在 pnpm 10+ 上还需要在 Web profile 的 pnpm-workspace.yaml 中按提示授权精确包键的 allowBuilds。本地 checkout 应先 pnpm install --frozen-lockfile、pnpm run preflight,再 dsh plugin --profile web add -w .。
推荐路径是已编译的发布 tarball(已包含 Host 与浏览器产物):
dsh plugin --profile web add -w https://github.com/toolclub/dsh-agent-team-gui/releases/download/v1.1.0/dsh-agent-team-gui-1.1.0.tgz
dsh --profile web
安装或升级后请重启已运行的 DSH Web 进程,刷新浏览器,打开 Settings → Teams。公开 npm 注册表上没有名为 dsh-agent-team-gui 的包(2026-09-16 为 404),不要用 npm install 或按包名 add。从更旧 Harness 线升级时,v1.1.0 正是修复加载期 source.subscribe 失败、迁移连接恢复与 Session API、把 RPC 改到已认证 /api/agentTeamGui 路由(握手 v5)并保留既有定义与运行库的版本。可用 dsh --profile web --dump-config 确认 dsh-agent-team-gui bundle 与 agent-team-gui Host row 均在。卸载:dsh plugin --profile web remove dsh-agent-team-gui——不会自动删除持久插件表。
运行要求
- 仅 Web profile——Settings 界面与插件 bundle 都是 web 平台;没有 headless Settings 面。
- 声明兼容 DSH
>=0.1.5-rc.1 <0.1.6-0;CI 与 v1.1.0 发布说明按 0.1.5-rc.1 验证(CLI 可能显示该版本,内部包可解析到0.1.5-rc.2)。DSH 与本插件都未稳定,请固定版本。 engines要求 Node^22.19.0 || >=24.0.0;README 另注明不支持 Node 23。包管理器声明为 pnpm(清单中为pnpm@9.15.4)。- DSH 中至少配置好一条 provider/model 路由。凭证留在 DSH;配方与导出从不复制它们。
- 运行时依赖:
react与zod。peer 为 Web profile 常见的@deepseek-ai/*集合;@deepseek-ai/dsh-jobs可选。 - RPC 走
/api/agentTeamGui,受 DSH 浏览器会话 Cookie 与 Host/Origin 校验保护。远程配方 URL 已禁用。安全问题请走 SECURITY.md,不要在公开 Issue 里贴密钥。 - 仓库自身 CI 覆盖 Node 22.19 与 24、全新 DSH
0.1.5-rc.1Web profile、键盘/无障碍/重连路径、精确 Git revision 安装及社区插件 doctor——以上来自其 README,不是 AllDSH 的复测结论。
已知限制
- 仅 Web profile。 无 CLI/headless 小队编辑器;其他进程内插件仍可调用导出的
AgentTeamService。 - 软 Token 预算不是杀开关。 它只阻止后续调度,无法在准确阈值中断正在运行的 provider;按成员的
maxTokens才是硬上限。 - 模型工具触发(
dispatch_to_squad)是 best-effort——DSH 未暴露toolChoice;有保障的普通发送模式由 Host 驱动,且按持久消息幂等。 - 远程配方 URL 已禁用。 只导入本地 JSON,刻意避免不完整的 SSRF 防护面。
- 存储持久且在本地,包含角色提示词、路由名、任务、输出与 Token 用量——请保护
$DSH_HOME。卸载包不会自动删除插件表。 - 没有保存原计划的旧运行无法忠实重试,会得到明确拒绝;旧 v0.4 定义仍可读,但编辑时必须满足 v0.5 新写入上限。
- 没有第三方安全审计记录;SECURITY.md 是私下报告通道,不是已发布的扫描结果。
与 Agent Teams(NanmiCoder)的分工
两者都在 Harness Web 内编排多代理工作。如果你要「当前对话即队长」:临时目标、先计划后 Approve 暂存、可继续队员、斜杠命令、不关心可复用团队产品对象——用 Agent Teams。如果你要「小队是跨项目复用的保存配置」:按成员模型与工具策略、无凭证配方、版本快照、带官方 Token 桶的运行中心、重放原 DAG 的重试、可选具名质量门禁——用本插件。两者解决的产品形态不同,任一 README 都未声称取代对方。
Settings 一览
成员字段: 名称与角色提示词(持久身份与专属范围);主 provider/model(现有 DSH 路由;凭证仍在 DSH);可选备用路由供一次重试;传给 provider 的单次硬 maxTokens;已注册 DSH 工具的允许/禁止(递归小队/subagent 工具仍禁用)。
小队字段: 成员与协作说明;固定顺序(关闭才走动态 DAG);执行/上下文(spawn、fork 或仅串行的 chain);触发与选择;前台综合或可观察后台运行;规划上下文与有界规划 Token 上限;恢复策略(继续、停止、一次重试+超时与备用路由);最大并发与基于 provider 上报的软小队 Token 预算;交接摘要上限;质量门禁(指定审核人、返工负责人、标准、≤2 次返工)。Host 默认值写在唯一的 agent-team-gui profile row(defaultProvider: spawn、defaultExecutionMode: serial、defaultContextMode: spawn,保留策略默认为 0)。
什么时候用
当「规划 → 实现 → 审核」同一形态反复出现在多个项目里,且你希望每个席位用各自模型路由、Token 可分别归因时,用它。从仓库自带的全栈交付配方开始,把 your-provider / your-model 占位映射到自己的路由,首跑可设为始终 + 全部成员,确认计划质量后再退回智能/自适应。适合代码评审闭环、多视角调研,以及需要停止/重试而不重提示整个小队的长时后台交付。
如果你只需要「一次临时目标的一个队长」(Agent Teams 已覆盖),需要硬性强制成本上限而非软调度限制,或无法使用 Web profile,就不要装它。
本页不主张什么
这里不声称任何基准、延迟或节省比例;仓库导览 GIF 使用合成演示数据。星标(175)与 fork(5)是 2026-09-16 的目录策展数字,不代表维护速度保证。安全状态对 AllDSH 为 unverified,且来源中未见任何第三方审计结论。本目录的 dshTarget 是 README 与发布说明中的声明范围原文,不是本目录独立完成的兼容性测试。

