dsh-peer-link:为 DSH 会话提供本机点对点消息

前言

在 DSH 做智能体会话时,如果还需要和同一台机器上的其他 agent 会话(例如 Claude Code)来回沟通,手动复制消息不够顺手。dsh-peer-link 是一个 DSH 插件,用于让 DSH 会话与其他本机 agent 会话通过 unix socket 互发消息。

它把当前 DSH 进程注册为一个可被发现的 peer,并把对端消息路由到具体 DSH 会话;同时也提供工具,让 DSH 侧查看 peer、发送消息。

插件定位

  • 插件仓库:czm15053/dsh-peer-link
  • package.json 名称:@deepseek-ai/dsh-peer-link
  • 维护者:czm15053
  • 许可证:MIT
  • 定位:点对点消息工具,连接 DSH 会话与本机其他 agent 会话,例如 Claude Code。

这里需要注意:仓库路径、包名和 README 标题不完全一致,安装时按已给定的命令使用仓库地址即可。

核心能力

下面介绍已提供的主要能力:

  • DSH 进程注册为单个 peer,名称格式为 dsh-<pid>,可被 Claude Code 的 ListAgents / SendMessage 发现。
  • 每个 DSH 会话有独立短 id,消息会携带 @dsh-<pid>:<session> 标识,DSH 内部按标识转发到对应会话。
  • 收到 peer 消息时,消息以用户消息气泡注入对应 DSH 会话,在 web 侧可见。
  • 提供 peer_send 工具,用于向 peer 发送消息;target 可传入站消息编号、peer 名或 socket 路径。
  • 提供 peer_list 工具,用于列出活跃 peer,可选 cwd 按目录筛选,并支持按创建时间排序。
  • peer_list 有交互式 toolview,支持排序、搜索、弹窗发送和刷新。
  • peer 信息会显示首句会话上下文,便于判断这个会话在做什么。

安装与启用

安装插件

从 GitHub 仓库安装:

dsh plugin --profile web add "github:czm15053/dsh-peer-link"

如果已有本地仓库路径,也可以使用:

dsh plugin --profile web add link:<repo路径>

安装后启动:

dsh --profile web

Claude Code 侧配置

如果要把 DSH 会话和 Claude Code 会话打通,Claude Code 需要 2.1.224+。先执行:

claude update

然后在 ~/.claude/settings.json 中配置:

{
  "env": {
    "CLAUDE_CODE_HARBOR_KITE": "1"
  },
  "crossSessionInbound": "accept"
}

CLAUDE_CODE_HARBOR_KITE 用于绕过 feature flag。crossSessionInbound 设为 accept 表示接受跨会话消息;不设置时,消息会先 hold 等待确认。

配置后,每个 Claude 会话会在 /tmp/cc-socks/ 生成 socket 文件,权限为 0600。

典型用法

下面以 Claude Code 与 DSH 会话通信为例。

1、在 Claude Code 中使用 ListAgents 查看活跃 peer,找到类似 dsh-<pid> 的条目。

2、使用 SendMessage 发给目标 peer,例如:

to: "dsh-<pid> [ref]"
message: "@dsh-<pid>:<session短id> 你好,这是一条测试消息"

这里的 <session短id> 是 DSH 会话短 id。DSH 收到后会把消息转发到对应会话,并以用户消息气泡注入。

3、在 DSH 侧收到消息后,可以用 peer_send 工具回复。target 可以传站消息编号、peer 名或 socket 路径。

4、如果需要确认有哪些 peer 可用,使用 peer_list。它支持按目录筛选、按创建时间排序,交互式 toolview 还支持搜索、弹窗发送和刷新。

依赖与构建

package.json 中声明了以下 peer dependencies,版本要求均为 >=0.1.0-rc.0

{
  "peerDependencies": {
    "@deepseek-ai/dsh-agent": ">=0.1.0-rc.0",
    "@deepseek-ai/dsh-llm": ">=0.1.0-rc.0",
    "@deepseek-ai/dsh-system-prompt": ">=0.1.0-rc.0",
    "@deepseek-ai/dsh-tools": ">=0.1.0-rc.0"
  }
}

package.json 中还有:

{
  "private": true
}

本地构建与测试:

npm install
npm run build
npm test

适用场景与注意

适合场景:

  • 同一台机器上同时运行 DSH 和 Claude Code。
  • 希望 DSH 会话能够发现并回复本机其他 agent 会话。
  • 需要在多个 DSH 会话中区分消息来源和去向。

使用注意:

  • DSH 侧 peer 名称为 dsh-<pid>,多个 DSH 会话靠 <session> 短 id 区分。
  • Claude Code 侧必须满足 2.1.224+,并按上述方式配置 env 块和 crossSessionInbound
  • 不设置 crossSessionInbound: "accept" 时,消息会先进入等待确认状态。
  • 插件会注册工具并处理消息,安装前应检查源码、许可证和来源;插件以当前 DSH 进程权限运行。
  • DSH 的“一切皆插件”是插件生态思路;社区目录是独立站点,与 DeepSeek / 幻方无官方从属关系。

结尾

dsh-peer-link 把 DSH 会话变成一个可被本机 agent 会话发现的 peer,并通过 peer_sendpeer_list 提供发送和查看能力。对于需要在 DSH 与 Claude Code 等本机 agent 之间做点对点消息的场景,它是一个直接可用的 DSH 插件。

目录页:

https://www.skillhub.cn/plugins/czm15053/dsh-peer-link

GitHub:

https://github.com/czm15053/dsh-peer-link

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

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

小夜