dsh-agent-message:DeepSeek Harness 的跨会话 Agent 通信插件

前言

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,离线时自动恢复后投递。

支持三种投递模式:followupsteerinject

查询消息回执

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 查询,但不再返回易失的 sentAtmode
  • 跨进程/跨机器通信不在本插件范围内。

结尾

dsh-agent-message 提供会话列表、消息发送、回执查询、@ 定位、消息卡片和复制会话 ID 等能力,适合在同一 DSH 进程内做 Agent 会话通信。

仓库地址:

https://github.com/GengDaPeng/dsh-agent-message
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜