Releases: GengDaPeng/dsh-agent-message
Releases · GengDaPeng/dsh-agent-message
Release list
v1.4.0 · npm 首发与回执连续性
本版本首次发布到 npm。\n\n主要变化:\n- 指定 messageId 时,Harness 重启后仍可从目标 Inbox 日志恢复回执状态。\n- 不带 messageId 的批量查询仍只保留当前进程最近 1000 条发送记录。\n- 新增 Node 24 CI 门禁及 npm 发布包内容校验。\n- npm 推荐安装命令:dsh plugin --profile web add dsh-agent-message\n\n验证:14 项测试通过,Node 24 远端 CI 通过,npm tarball 安装与 ESM 导入冒烟通过。
v1.3.1
主要变化
list_peer_agents将会话 header 建立为Map,合并路径由 O(n²) 降为 O(n)。user与relay共用完整发送者来源字段;relay 正文不再重复来源头。user消息头统一为可导航的From Session · <名称>:;relay 来源行显示为可导航的From session @<ID>。- 复制会话 ID 只在真实复制成功后显示「已复制」,失败时明确提示。
- Harness 与
@deepseek-ai/dsh-tools兼容范围明确为>=0.1.0-rc.6 <0.2.0。 - 补充离线恢复、失败降级、发送边界、列表合并和 source 合同测试。
验证
node --check lib/index.jsnode --check lib/client.jspnpm test:12/12 通过git diff --checkpnpm pack --dry-run- DeepSeek Harness Web profile:
user/relay来源行显示、鼠标与键盘跳转、历史消息兼容均通过。
完整设计与边界见 docs/design-v1.2.md 的 v1.3.1 修订章节。
v1.3.0
主要变化
- 修正在线
leave会意外唤醒目标 Agent 的问题,并限制会话恢复只唤醒本插件排队的消息。 - 消息原始头部携带完整发送方会话 ID,Agent 可精确识别和回复;默认界面只显示可点击的
From Agent · <名称>:,支持鼠标与 Enter/Space 导航。 - 离线留言遇到持久化序号竞争时重新读取并重试一次。
- 回执只报告 Inbox 可证明的
delivered / claimed / discarded / unknown,目标运行态改由targetStatus单独返回。 - 同一次批量回执查询只读取并折叠一次目标会话日志。
- 补齐
check_delivery的 DSH 工具元数据声明。
验证
node --check lib/index.jsnode --check lib/client.jspnpm test:7/7 通过git diff --check- DeepSeek Harness Web profile 浏览器冒烟:发送方整行导航与键盘可访问属性正常。
完整设计与边界见 docs/design-v1.2.md 的 v1.3.0 修订章节。
v1.2.2 — 回执状态精确判定与离线投递修复
修复
- 回执状态精确判定:
check_delivery按消息 ID 与收件箱事件逐一比对,新增unknown(查无此消息);在线场景也能正确识别discarded(被丢弃)。此前不存在的消息 ID 会被误报为 delivered、且在线判定不查消息本身。 - 修复记账表缺字段:发送记录未存 messageId,导致回执状态恒为
unknown。 - 双重失败完整报错:wake 激活失败且留言也失败时,报错同时携带两层原因,便于排查。
- leave 竞态自动转在线:留言写入瞬间目标恰好上线时,自动改为在线投递,不再偶发报错、无需模型重试。
- 回执记账表 1000 条 FIFO 上限:防止长期运行内存持续增长。
实测
回执状态机(processing→claimed、不存在的消息 ID 返回空)、离线 leave(保持 offline、回执 delivered)、离线 wake(自动激活并回信)均已实测通过。
安装
dsh plugin --profile web add github:GengDaPeng/dsh-agent-messagev1.2.1 — 消息渲染形态可配置
新增
- 消息渲染形态可配置(
form):默认user(普通气泡);可选relay(折叠上下文块,与官方跨 Agent 语义对齐)。
在你的 profile 的 cordis.patch.yml 里覆盖插件条目即可(热更新生效,无需重启):
- id: agent-message
config:
form: relay安装
dsh plugin --profile web add github:GengDaPeng/dsh-agent-message实测
两种形态均已实测通过:默认 user 气泡正常;切换 relay 后折叠上下文块正常,且配置热更新即时生效。
v1.2.0 — 离线投递 + 可发送列表 + 按需回执
新功能
- 可发送列表(
list_peer_agentsv2):列出全部未归档会话(含离线未打开的),每条含状态(在线/离线)与类型(平级/子代理),无标题会话自动兜底显示。 - 离线投递(
send_agent_messagev2):默认立即送达——目标在线则引导(steer);目标离线则自动激活(wake,恢复其记录的 preset + 默认模型),激活失败自动降级为留言(leave)。归档会话一律拒绝。 - 按需回执(
check_delivery):查询消息状态 delivered/claimed/processing/discarded,默认零播报,供监督场景使用。
修复
- 会话恢复时若收件箱有排队留言,自动唤醒处理(留言"打开即达")。
- 修复返回值含 undefined 导致的 "not lossless JSON" 报错(会引发模型重试、产生重复消息)。
- 修复无标题会话的兜底显示。
安装
dsh plugin --profile web add github:GengDaPeng/dsh-agent-message实测
5 项端到端实测全部通过:可发送列表 / 离线激活 / leave 留言(打开即达)/ 回执 / 归档拒绝。
dsh-agent-message v1.1.0
dsh-agent-message v1.1.0
修复真实安装后发现的启动 bug。
修复
- host 半区使用了
ctx.tools,但inject里漏声明tools,导致 harness 启动时报cannot get property 'tools' without inject、起不来。 - 修复:
inject补全为['agents', 'tools'](commit40b2fa1)。
实测验证
- 重启后进程正常
- 工具全局注册
- 跨会话收发闭环通过
- 复制ID 按钮已注册
安装
dsh plugin --profile web add github:GengDaPeng/dsh-agent-messageLicense
dsh-agent-message v1.0.0
dsh-agent-message v1.0.0
首个正式版本。跨会话 Agent 通信插件:让运行在同一个 DeepSeek Harness 进程里的不同 Agent 会话互相收发消息。
功能
list_peer_agents:列出当前进程里在线的其它会话(id、标题、工作目录)send_agent_message:给指定会话发消息,支持三种投递模式steer(默认):引导对方当前的工作followup:给对方排一条新的独立轮次inject:静默注入下一步但不唤醒
- 干净的消息气泡:收到只有「来自 Agent「标题」」+ 正文,无 ID、无回复提示
- 会话头部「复制ID」按钮,一键复制当前会话 ID
- 安装即自注册(cordis.patch.yml),无需手动改 preset
安装
dsh plugin --profile web add github:GengDaPeng/dsh-agent-message