dsh-peer-relay:DSH Host 端对等会话中继工具

前言

DeepSeek Harness (DSH) 的插件生态允许开发者扩展主程序的能力。在智能体开发中,经常需要两个独立的顶层会话进行协作。传统的 subagent 机制虽然可以解决任务分发,但在某些场景下,开发者更希望两个 Agent 以对等身份直接交互。dsh-peer-relay 正是为了解决这一需求而生,它提供了一套 Host 端的工具,让普通顶层 Agent 能够向另一个普通顶层会话提交异步任务。

插件定位

这是一个由 klpzj 维护的 Host-only 插件,采用 MIT 许可证。它的核心作用是作为两个 DSH 会话间的中继层,实现任务的双向投递与异步结果接收。

核心功能

插件提供了五个主要工具,用于管理对等会话和任务:

  • peer_list:列出与当前会话同工作区的 live 普通顶层会话。
  • peer_call:向同工作区的指定 Session 提交异步任务。
  • peer_create:在当前工作区创建新 peer 会话(可指定 agent_preset,默认继承当前会话的 preset)。
  • peer_status:查询当前 Agent 发起的任务状态。
  • peer_cancel:取消当前 Agent 发起的任务。

安装与启用

插件通过 DSH 的插件命令安装,安装后需重启 Host 以加载。

dsh plugin --profile web add dsh-peer-relay

典型用法

在 DSH Host 环境中,开发者可以按照以下步骤建立对等协作:

  1. 列出会话:首先使用 peer_list 查看当前工作区下有哪些可用的对等会话。
  2. 创建会话:如果需要新的协作方,使用 peer_create 在当前工作区创建一个新的 peer 会话。
  3. 提交任务:使用 peer_call 向目标 Session 提交异步任务。
  4. 监控与取消:通过 peer_status 检查任务执行情况,必要时使用 peer_cancel 取消任务。

适用场景与注意事项

  • Host-only:插件仅运行在 DSH Host 内,不包含 Client 或 Web UI。
  • 数据持久化:固定使用 ~/.dsh/peer-relay.sqlite 存储会话与任务状态。
  • 会话解析:固定使用 Host 已配置的 Typert agent lookup 解析会话(包括官方冷恢复路径)。
  • 会话类型限制:工具仅向普通顶层会话安装,不向 subagent 安装。
  • 功能边界:插件不包含 ACL(访问控制列表)、存储适配器、降级路径或交互协议状态。
  • 工作区约束:peer 协作严格面向同项目工作。peer_list 仅返回与主会话 cwd 相同的会话,peer_call 拒绝跨工作区目标,peer_create 创建的新会话固定落在主会话的 cwd。

总结

dsh-peer-relay 为 DSH 插件开发者提供了一种轻量级的会话间通信方案。它不依赖复杂的协议栈,而是通过 SQLite 和 DSH 的基础会话机制实现直连。对于需要多个 Agent 并行处理同一项目任务的开发者,这是一个实用的工具。

羽毛球分组比赛记分
小程序二维码

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

小夜