前言¶
DeepSeek Harness(DSH)采用插件化架构。当需要在单一会话中协调多个智能体完成任务时,直接管理多个 subagent 往往难以追踪状态与通信。polohot/dsh-adrian-agents-group-work 插件提供了一个解决方案,它将一个会话转换为一个包含 chair 和 member agents 的房间。
核心概念¶
这个插件将一个会话转换为一个包含 chair 和 member agents 的房间。chair 是主会话智能体,member agents 是可延续的子会话。成员之间可以通过消息传递和共享任务列表进行协作。
安装与启用¶
插件为独立运行,无需依赖其他插件。安装步骤如下:
- 执行安装命令:
dsh plugin --profile <profile> add github:polohot/dsh-adrian-agents-group-work
-
重启配置文件以加载插件。
-
确认插件已加入 bundle。检查 profile 的
package.json,确认dsh.bundle.patch已添加到bundles列表中。
核心功能¶
该插件提供以下核心能力:
- 房间机制:将一个会话转换为一个包含 chair 和 member agents 的房间。
- 协作工具:
- 成员工具:成员共享 5 个房间工具,用于发送消息、查看成员列表、管理任务。
- Chair 工具:Chair 拥有成员工具,并额外拥有 4 个控制工具,用于开启、暂停、恢复、关闭房间及调试状态。
- 通信协议:支持纯文本和斜杠命令两种方式启动,支持基于 JSON 的协议消息通信。
- 持久化存储:所有状态(房间配置、任务列表、收件箱)均持久化到磁盘。
典型用法¶
启动房间¶
在会话中输入以下命令,Chair 会根据简报开启房间并分配成员:
Spawn 3 agents to build the site. One builder, one critic.
或使用斜杠命令:
/agents-group-work Spawn 3 agents to discuss the pricing question until consensus.
Chair 的工作流程¶
Chair 接收简报后,执行以下步骤:
1. 解析简报,确定任务、成员和停止条件。
2. 调用 room_open 写入成员名单并生成成员。
3. 监控房间状态。
4. 判断停止条件是否满足。
5. 调用 room_close 关闭房间并归档。
6. 输出状态行和结果。
配置项¶
插件支持以下配置项(位于 profile 配置中):
| 配置项 | 默认值 | 说明 |
|---|---|---|
progressLines |
true |
是否在控制台推送成员的进度行 |
progressIntervalMs |
30000 |
进度检查间隔(毫秒) |
shutdownWaitMs |
20000 |
room_close 等待成员关闭的超时时间(毫秒) |
verbose |
false |
是否在控制台打印详细的邮箱写入、任务变更和进度行信息 |
适用场景与注意事项¶
- 环境要求:需要 DeepSeek Harness 0.1.2-rc.1 或更高版本;必须使用
webprofile;需要 host services(tools, commands, subagents, systemPrompt, agents, sessions)。 - 架构限制:仅支持单房间,不支持嵌套(即一个成员不能同时是另一个房间的 chair)。
- 安全性:成员名称需符合安全路径模式(
[A-Za-z0-9][A-Za-z0-9_-]{0,31}),chair为保留名称。
结尾¶
该插件为 DeepSeek Harness 提供了轻量级的多智能体协作能力,通过持久化的任务列表和消息传递机制,适合需要多个智能体分工协作的场景。