前言¶
DeepSeek Harness(DSH)把「一切皆插件」贯彻得很彻底:模型、工具、界面能力都可以按需拼装。但对实际开发来说,单会话 Agent 往往力不从心——审查代码要分安全、性能、产品多条线,调研竞品要并行抓取,写文档又要前后端分工。自己手写多 Agent 编排、任务队列和状态机,成本不低;接一套独立 Workflow 引擎,部署和维护又更重。
社区插件 dsh-agent-teams(npm 包名 @nanmicoder/dsh-agent-teams)走了一条更贴近 DSH 原生体验的路:让当前会话当「队长」,自动拉起可续聊的子 Agent 成员,把目标拆成带依赖的任务,并提供持久化状态、共享调度器和 Web 活动面板。该插件由 NanmiCoder(作者 Relakkes)维护,在 SkillHub 插件库 归类为工作流,GitHub 仓库 NanmiCoder/dsh-agent-teams 采用 MIT 许可证;截至 2026-08-25,GitHub 显示约 962 star、82 fork,npm 最新版本为 0.1.13。需要说明的是,SkillHub 与 DeepSeek Harness 官方并无从属关系,它只是社区整理的插件目录之一。
这是什么¶
dsh-agent-teams 是 DeepSeek Harness 的 AgentTeams 协作插件。一句话定位:用自然语言描述目标,当前 DSH 会话成为队长,创建一支由子 Agent 组成的团队,按依赖关系分工执行,最后由队长汇总结果。
它解决的核心痛点是:在 Harness 内部完成多 Agent 编排,而不必额外搭建 Workflow 引擎。插件自带团队协议、10 个协作工具、文件持久化、自动任务调度,以及 Web GUI 里的实时活动面板(分段进度、成员树、可交互任务 DAG)。
核心功能与亮点¶
根据官方 README 与仓库文档,已核实的主要能力如下:
- 队长式委派:当前会话负责建队、分配角色、汇总最终结果,流程清晰。
- 可续聊成员:成员是 DSH 可继续唤醒的子 Agent,适合多轮聚焦跟进,而不是一次性脚本。
- 带依赖的任务拆分:任务有明确状态(如
running / idle / ready),前置依赖未完成时不能领取,避免乱序执行。 - 自动调度与安全接管:空闲成员自动领取下一项就绪任务;转派会撤销旧 attempt;进程冷重启后,调度器会重试遗留的开放任务。
- 成员直达消息:成员通过持久化邮箱直接联系队友或队长,无需队长逐条中转。
- 实时 Web 活动面板:Web UI 展示团队进度与任务 DAG;团队归档后仍保留完整成员与任务历史。面板文案随 Harness 官方 locale 在中英文间切换。
- Slash 命令入口:注册
/agent-teams命令,Web GUI 的 slash 菜单可直接选用;headless CLI 下以/agent-teams开头的用户消息也会触发协议。 - 默认零交互建队:成员默认沿用队长当前 LLM 路由;只有明确提出异构分工(如「后端用 A 模型、前端用 B 模型」)时,才为特定成员指定
provider+model。
安装与启用¶
使用前请确认本机已安装 DeepSeek Harness。插件要求 Node ^22.19.0 或 >=24(见仓库 package.json)。
方式一:npm 安装(官方 README 推荐,适合 Web Profile)¶
dsh plugin --profile web add @nanmicoder/dsh-agent-teams@latest
方式二:从 GitHub 源码安装¶
社区目录 deepseek-harness-plugin.com 给出的命令为:
dsh plugin add github:NanmiCoder/dsh-agent-teams
如需可复现安装,可固定 commit:
dsh plugin add github:NanmiCoder/dsh-agent-teams#<commit-hash>
方式三:本地源码构建¶
git clone https://github.com/NanmiCoder/dsh-agent-teams.git
cd dsh-agent-teams
pnpm install
pnpm build
dsh plugin --profile web add .
安装完成后,检查组合配置并启动 Web UI:
dsh --profile web --dump-config
dsh web
安全提示:DSH 插件以当前 dsh 进程权限运行。安装前建议浏览 GitHub 源码与 LICENSE,确认符合你的信任策略。
典型用法示例¶
自然语言拉团队¶
安装并重启 DSH 后,可直接在对话中描述目标,例如官方 README 中的示例:
使用 AgentTeams 审查 v0.5.3 之后的提交,分别从性能、安全和产品角度分工,最后输出一份汇总报告。
队长会创建团队、添加角色成员、拆分任务并协调执行,最终汇总成一份报告。
Slash 命令¶
在 Web GUI 中选择 slash 菜单里的 agent-teams,或直接输入:
/agent-teams 调研三家竞品的定价页
命令会以普通用户消息形式保留在聊天记录中,同时触发 AgentTeams 协议。
可选配置¶
默认即可使用。若需在 Profile 中覆盖成员行为,可参考:
- id: agent-teams
config:
stateDir: .agent-teams
memberProvider: spawn
memberModel: deepseek-v4
memberMaxDepth: 1
maxMembers: 8
其中 memberProvider 指子 Agent 运行后端(spawn / fork),不是 LLM provider。设置 slashCommand: false 可关闭 /agent-teams 的确定性激活,仅保留自然语言触发。
团队状态默认保存在工作区下的 .agent-teams/ 目录;Web 面板读取该目录并与实时子 Agent 活动合并展示。
适用场景与注意事项¶
适合谁用
- 已在用 DeepSeek Harness Web 界面,希望把「多角色并行 + 任务依赖 + 结果汇总」留在同一会话里完成的开发者。
- 需要代码审查、竞品调研、文档分工等可拆成多子任务的场景,又不想自建编排系统的人。
使用边界(官方文档已说明)
- 一个队长同一时间只能带一个活动团队。
- 状态为文件持久化,在单个 DSH 进程内串行操作;多个进程同时改同一团队不保证一致。
- 活动面板展示持久化状态;模型偶尔可能完成工作但未按协议更新任务状态,需人工留意。
- 插件依赖 DSH 子 Agent、Web Client 等 peer 包,请保持 Harness 与插件版本相对匹配。
结语¶
如果你已经在 DeepSeek Harness 里做复杂任务,却还在手动切换多个对话窗口来模拟「团队分工」,dsh-agent-teams 值得试一次:一句目标、一支队伍、一块活动面板,把多 Agent 协作收进 Harness 原生流程里。