前言¶
DeepSeek Harness(DSH)可以在同一个进程里运行多个 Agent 会话。dsh-agent-message 是一个 DSH 插件:让运行在同一个进程里的不同 Agent 会话,像发消息一样互相收发信息。
它由 GengDaPeng 维护,许可证为 MIT。GitHub 仓库地址为:
https://github.com/GengDaPeng/dsh-agent-message
这是什么¶
dsh-agent-message 用于 DSH 里的独立会话通信:一个 Agent 会话可以向另一个 Agent 会话发送消息,并查询消息回执。
适用前提是目标会话未归档、存在于本机持久化里,并且属于当前 Harness 进程能够恢复和投递的范围。跨进程、跨机器通信不在本插件范围内。
核心功能¶
列出可发送会话¶
list_peer_agents 列出所有可发送的独立会话:未归档、排除真实子代理,含离线未打开。
发送消息¶
给指定会话 ID 发消息;默认使用 followup 创建独立的新 turn,离线时自动恢复后投递。
支持三种投递模式:followup、steer、inject。
查询消息回执¶
check_delivery 按需查询消息回执:
pending
claimed
discarded
unknown
@ 会话定位¶
在输入框开头键入 @ 选择目标会话。候选只显示会话标题和“运行中/空闲”。
可见的 Agent 消息卡片¶
relay 显示为左侧 Agent 消息卡片,消息头可打开发送方会话。
复制会话 ID¶
会话头部新增一键复制当前会话 ID 按钮。
安装与启用¶
安装命令:
dsh plugin --profile web add dsh-agent-message
兼容范围:
Node.js 24
DeepSeek Harness >=0.1.0-rc.6 <0.2.0
当前验证版本为:
Node.js 24.x
DeepSeek Harness 0.1.0-rc.6
插件运行在当前 DSH 进程里。安装前建议检查源码与 MIT 许可证。
典型用法¶
1、在会话 A 的输入框开头键入 @,从候选中选择目标会话;候选会显示标题和“运行中/空闲”。
2、@ 用于定位目标会话。例如:
@B 告诉他最后提交 PR draft 就停止
会发送。
@B 帮我分析他最新的对话结果
则不应向 B 发消息。
3、也可以让 Agent 调 list_peer_agents,再用完整会话 ID 直接发送。
4、监督场景下,可以说:
查一下我发给 <会话ID> 的消息状态
它会调 check_delivery。
限制与注意¶
- 目标会话必须未归档且存在于本机持久化里;归档会话一律拒绝发送。
- 工具只用于独立 Session 之间通信;真实子代理既不会出现在目标列表中,也不能作为调用方使用这些工具。
- 同一对 Session(不分发送方向)在滚动 60 秒内最多投递 10 条消息;第 11 条会在写入目标 Inbox 前被拒绝。该窗口只属于当前 Harness 进程,重启后清空。
- 自动恢复离线会话时会使用默认模型,不继承它上次手动切换的模型选择;恢复失败时消息不会被写入目标 Inbox。
- 不指定
messageId的批量回执依赖内存记账,只覆盖本进程最近 1000 条发送记录(FIFO 淘汰);进程重启后仍可凭已知messageId查询,但不再返回易失的sentAt和mode。 - 跨进程/跨机器通信不在本插件范围内。
结尾¶
dsh-agent-message 提供会话列表、消息发送、回执查询、@ 定位、消息卡片和复制会话 ID 等能力,适合在同一 DSH 进程内做 Agent 会话通信。
仓库地址:
https://github.com/GengDaPeng/dsh-agent-message