Skip to content

czm15053/dsh-peer-link

60Last commit Aug 14, 2026

dsh-peer-link DSH plugin

dsh-peer-link registers a single peer (`dsh-<pid>`) that allows other agents like Claude Code to discover and send messages to it. Each dsh session gets a unique short ID, and messages are tagged with `@dsh-<pid>:<session>` for internal forwarding. The plugin provides `peer_send` and `peer_list` tools, with an interactive toolview for browsing peers.

How to install the dsh-peer-link DSH plugin

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

Copying does not run this command. Review the repository and version before installing the dsh-peer-link DSH plugin.

dsh-peer-link DSH plugin data source

dsh-peer-link DSH plugin snapshot date: Aug 16, 2026

discovered

What the dsh-peer-link DSH plugin can do

  • Register a single peer (`dsh-<pid>`) discoverable by other agents via ListAgents/SendMessage
  • Assign each dsh session a short unique ID and tag messages with `@dsh-<pid>:<session>` for internal forwarding
  • Inject incoming peer messages as user message bubbles into the corresponding dsh session (visible in web UI)
  • Provide `peer_send` tool to send messages to a peer by reference number, peer name, or socket path
  • Provide `peer_list` tool to list active peers with directory filtering, creation time sorting, and an interactive card-based toolview with search, sort, and send dialog
  • Show session context (first sentence) for each peer to quickly understand what it is doing

Where the dsh-peer-link DSH plugin fits

  • Let a dsh session communicate directly with a Claude Code session for collaborative tasks
  • Run connectivity tests between two dsh sessions (e.g., counting demo)
  • Play interactive games like idiom chain between two agent sessions
  • Coordinate multiple dsh sessions sending messages to the same peer, with clear session identifiers
  • Enable cross-agent workflows where Claude Code can ask dsh to perform tasks and receive replies

Who the dsh-peer-link DSH plugin is for

  • Users running DeepSeek Harness who also use Claude Code or other local agents
  • Developers wanting to build cross-agent coordination or message passing in their local environment

dsh-peer-link DSH plugin limitations

  • Only works on systems with Unix socket support (e.g., Linux, macOS); not Windows
  • Requires Claude Code 2.1.224+ with `CLAUDE_CODE_HARBOR_KITE` environment variable and `crossSessionInbound` setting for full functionality
  • Plugin is still early-stage; stability and production readiness not guaranteed
  • Dependent on both dsh and the peer agent (e.g., Claude Code) being installed and configured correctly

dsh-peer-link DSH plugin: from the repository README

Quoted from the czm15053/dsh-peer-link README, the upstream source of the dsh-peer-link DSH plugin. Copyright remains with the original authors.

点对点消息工具:让 [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness)(dsh)会话与其他本机 agent 会话(如 Claude Code)通过 unix socket 互发消息。 ## 特性 - **单 peer 注册**:dsh 进程注册为一个 peer(`dsh-<pid>`),Claude Code 的 ListAgents/SendMessage 可直接发现并回复 - **会话标识 + 内部转发**:dsh 的每个会话有独立短 id,消息带 `@dsh-<pid>:<session>` 标识,Claude 回复时带标识,dsh 内部转发到对应会话 - **收消息**:收到 peer 消息 → 以用户消息气泡注入对应 dsh 会话(web 可见) - **发消息**:`peer_send` 工具把消息写回对方 socket - **列 peer**:`peer_list` 工具列出活跃 peer(按目录筛选、按创建时间排序) - **交互式 peer_list**:前端 toolview 渲染成可点击卡片(排序/搜索/弹窗发送/刷新) - **会话上下文**:每个 peer 显示首句(会话主题),一眼看懂在做什么 ## 演示 **Claude 会话间通信** ![Claude 会话通信](docs/images/demo.gif) ## 截图 **交互式 peer_list:列出活跃 peer,支持排序/搜索/刷新** ![peer_list](docs/images/peer-list.png) **点击 peer 弹窗直接发送消息** ![发送消息弹窗](docs/images/peer-send-dialog.png) **两个会话轮流报数(连通性测试)** ![轮流报数](docs/images/counting-demo.png) **两个会话玩成语接龙** ![成语接龙](docs/images/idiom-game.png) ## 架构 ``` ┌──────────────┐ ┌───────────────────────────────┐ │ Claude Code │ │ dsh (单 peer: dsh-<pid>) │ │ │ │ ┌─ 会话 A (短id: abc12345) │ │ ListAgents │ │ └─ 会话 B (短id: def67890) │ │ SendMessage │◀────────▶│ 收到回复 → 按标识转发到对应会话 │ └───────

Read the full READMERepository license: MIT

dsh-peer-link DSH plugin questions

How do I install dsh-peer-link?

Run the command `dsh plugin --profile web add "github:czm15053/dsh-peer-link"` in your terminal. If you have the repository cloned locally, you can also use `dsh plugin --profile web add link:<repo-path>`. After installation, start dsh with `dsh --profile web` to activate the plugin.

How do I configure Claude Code to work with dsh-peer-link?

You need Claude Code 2.1.224 or higher. In `~/.claude/settings.json`, add `"CLAUDE_CODE_HARBOR_KITE": "1"` under the `env` block to enable cross-session messaging. Optionally, set `"crossSessionInbound": "accept"` to automatically accept incoming messages without manual approval. Each Claude session will then create a socket file in `/tmp/cc-socks/`.

How do I send a message from dsh to a Claude Code session?

Use the `peer_send` tool provided by the plugin. You can specify the target by the peer's reference number (seen in `peer_list`), the peer name (e.g., `dsh-<pid>`), or the socket path. The message will be sent to the Claude Code session, and the reply will appear in the dsh session as a user message bubble.

What does the peer_list tool show?

It lists all active peers discovered by scanning socket files. Each peer is shown as a card with its name, the first sentence of the session (context), and timestamps. You can sort by creation time, search by name, and click a card to open a dialog for sending a message directly. The list can also be filtered by a current working directory (`cwd`).

What communication etiquette should I follow?

When a peer message is injected into a dsh session, it includes a prompt that polite confirmations need no reply, but actual collaboration requests should be answered. If multiple dsh sessions send messages to the same peer concurrently, the session identifier (`@dsh-<pid>:<session>`) helps Claude distinguish which session sent the message.