DeepSeek Harness (DSH) 插件介绍:dsh-intercom

DeepSeek Harness (DSH) 允许在同一个进程中创建多个智能体会话。在多进程场景下,这些会话之间通常是隔离的。dsh-intercom 插件解决了这个问题,它为在同一台机器上运行的不同 DSH 进程提供了会话发现、1:1 消息传递以及请求/回复的能力。

插件概况

dsh-intercom 是一个用于 DeepSeek Harness (DSH) 的插件。它主要功能是实现同一台机器上独立 DSH 会话间的通信与协调。该插件由 Sqhao-O 维护,采用 MIT 许可证,并从 pi-intercom 移植而来。

核心功能

该插件提供了一套工具,让不同会话能够相互发现和交互:

  • 跨会话消息传递:支持发送(Fire-and-forget)、询问(阻塞请求)和回复。
  • 会话发现:列出所有在线会话或特定目录下的会话。
  • 会话别名:通过 name 动作给会话设置别名,便于其他会话通过名称引用。
  • 入站消息中继:接收来自其他会话的消息,并根据状态决定是否触发新轮次。
  • 协调技能集成:安装后会自动注册 dsh-intercom 技能到 DSH 技能库。
  • Web UI 面板:在 web 配置文件中,Settings 面板里提供了一个 Intercom 页面,用于查看在线列表和发送消息。

安装与启用

使用官方命令将插件安装到指定 profile(例如 web):

dsh plugin --profile web add github:Sqhao-O/dsh-intercom

安装完成后,会自动在 DSH 进程中注册对应的工具和技能。

典型用法

每个会话都拥有 intercom 工具,通过调用该工具并传入不同的 action 参数来执行操作。

基础操作

// 命名当前会话,方便其他会话识别
intercom({ action: 'name', alias: 'worker' })

// 在另一个会话中查看所有在线会话
intercom({ action: 'list' })

// 向名为 'worker' 的会话发送消息
intercom({ action: 'send', to: 'worker', message: 'hello from planner' })

请求与回复

// 向 'planner' 发送询问,并阻塞直到收到回复
intercom({ action: 'ask', to: 'planner', message: 'what is the status?' })

// 回复刚才的询问
intercom({ action: 'reply', message: 'all good' })

状态检查

// 检查插件/传输状态
intercom({ action: 'status' })

配置与运行机制

  • 本地代理:插件会在 $DSH_HOME/intercom 目录下运行一个本地代理进程(使用 Unix 套接字或 Windows 命名管道)。所有会话通过该代理进行通信。
  • 配置文件:可选的配置文件位于 $DSH_HOME/intercom/config。如果该文件存在,其中的配置项会被读取(例如控制入站消息是否触发新轮次、自定义状态后缀等)。
  • Web 面板权限:Web UI 面板信任本地机器,任何本地进程都可以读取名单并作为该进程下的会话发送消息。

适用场景

  • 需要在同一台机器上运行多个 DSH 进程并协调它们。
  • 需要一个简单的机制让不同会话之间传递上下文或控制指令。

注意事项

  • 插件以当前 DSH 进程的权限运行,涉及本地通信。
  • 使用前建议检查源代码和许可证(MIT)。
  • 不确定的事实(如 Star 数)未在本文中列出。

链接

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

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

小夜