Skip to content

Releases: GengDaPeng/dsh-agent-message

v1.4.0 · npm 首发与回执连续性

Choose a tag to compare

@GengDaPeng GengDaPeng released this 14 Aug 09:55

本版本首次发布到 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

Choose a tag to compare

@GengDaPeng GengDaPeng released this 14 Aug 08:55

主要变化

  • list_peer_agents 将会话 header 建立为 Map,合并路径由 O(n²) 降为 O(n)。
  • userrelay 共用完整发送者来源字段;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.js
  • node --check lib/client.js
  • pnpm test:12/12 通过
  • git diff --check
  • pnpm pack --dry-run
  • DeepSeek Harness Web profile:user/relay 来源行显示、鼠标与键盘跳转、历史消息兼容均通过。

完整设计与边界见 docs/design-v1.2.md 的 v1.3.1 修订章节。

v1.3.0

Choose a tag to compare

@GengDaPeng GengDaPeng released this 14 Aug 07:18

主要变化

  • 修正在线 leave 会意外唤醒目标 Agent 的问题,并限制会话恢复只唤醒本插件排队的消息。
  • 消息原始头部携带完整发送方会话 ID,Agent 可精确识别和回复;默认界面只显示可点击的 From Agent · <名称>:,支持鼠标与 Enter/Space 导航。
  • 离线留言遇到持久化序号竞争时重新读取并重试一次。
  • 回执只报告 Inbox 可证明的 delivered / claimed / discarded / unknown,目标运行态改由 targetStatus 单独返回。
  • 同一次批量回执查询只读取并折叠一次目标会话日志。
  • 补齐 check_delivery 的 DSH 工具元数据声明。

验证

  • node --check lib/index.js
  • node --check lib/client.js
  • pnpm test:7/7 通过
  • git diff --check
  • DeepSeek Harness Web profile 浏览器冒烟:发送方整行导航与键盘可访问属性正常。

完整设计与边界见 docs/design-v1.2.md 的 v1.3.0 修订章节。

v1.2.2 — 回执状态精确判定与离线投递修复

Choose a tag to compare

@GengDaPeng GengDaPeng released this 14 Aug 05:47

修复

  • 回执状态精确判定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-message

v1.2.1 — 消息渲染形态可配置

Choose a tag to compare

@GengDaPeng GengDaPeng released this 14 Aug 05:06

新增

  • 消息渲染形态可配置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 — 离线投递 + 可发送列表 + 按需回执

Choose a tag to compare

@GengDaPeng GengDaPeng released this 14 Aug 04:39

新功能

  • 可发送列表list_peer_agents v2):列出全部未归档会话(含离线未打开的),每条含状态(在线/离线)与类型(平级/子代理),无标题会话自动兜底显示。
  • 离线投递send_agent_message v2):默认立即送达——目标在线则引导(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

Choose a tag to compare

@GengDaPeng GengDaPeng released this 13 Aug 19:40

dsh-agent-message v1.1.0

修复真实安装后发现的启动 bug。

修复

  • host 半区使用了 ctx.tools,但 inject 里漏声明 tools,导致 harness 启动时报 cannot get property 'tools' without inject、起不来。
  • 修复:inject 补全为 ['agents', 'tools'](commit 40b2fa1)。

实测验证

  • 重启后进程正常
  • 工具全局注册
  • 跨会话收发闭环通过
  • 复制ID 按钮已注册

安装

dsh plugin --profile web add github:GengDaPeng/dsh-agent-message

License

MIT

dsh-agent-message v1.0.0

Choose a tag to compare

@GengDaPeng GengDaPeng released this 13 Aug 19:23

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

License

MIT