返回目錄

dsh-peer-link

編輯精選維護狀態: 活躍

czm15053/dsh-peer-link

讓 dsh 與 Claude Code 會話直接互發訊息,附可點選的會話列表卡片

前往 GitHub
$ dsh plugin add dsh-peer-link

安裝

dsh 沒有統一的安裝指令 —— 把該外掛 README(見下方)中的設定行加入你的 profile / patch 設定,然後重啟即可。

查看安裝教學

8

星數

0

Fork

TypeScript

語言

MIT

授權條款

2026-08-14

建立於

2026-08-14

最近推送

README

特性

  • 单 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 会话通信

截图

交互式 peer_list:列出活跃 peer,支持排序/搜索/刷新

peer_list

点击 peer 弹窗直接发送消息

发送消息弹窗

两个会话轮流报数(连通性测试)

轮流报数

两个会话玩成语接龙

成语接龙

架构

┌──────────────┐          ┌───────────────────────────────┐
│  Claude Code │          │  dsh (单 peer: dsh-<pid>)      │
│              │          │  ┌─ 会话 A (短id: abc12345)    │
│  ListAgents  │          │  └─ 会话 B (短id: def67890)    │
│  SendMessage │◀────────▶│  收到回复 → 按标识转发到对应会话 │
└──────────────┘          └───────────────────────────────┘

安装

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

# 或从本地仓库
dsh plugin --profile web add link:<repo路径>

dsh --profile web

工具

工具 作用
peer_send 向 peer 发消息。target 传入站消息编号 / peer 名 / socket 路径
peer_list 列出活跃 peer。可选 cwd 按目录筛选

配置

dsh 侧(插件配置)

- insert:
    - id: peer-link
      name: '@deepseek-ai/dsh-peer-link'
      config:
        targetSessionId: active   # 'active'=最近活跃 / 具体sessionId / 'all'
        name: my-dsh              # 注册名,默认 dsh-<pid>
        injectInbound: true       # 收消息注入会话
        registerTool: true        # 注册 peer_send/peer_list

Claude Code 侧(官方跨 session 配置)

Claude Code 2.1.224+ 原生支持跨 session 消息。需在 ~/.claude/settings.json 里配置:

  1. 升级:claude update 升级到 2.1.224+
  2. 启用开关:在 env 块加 "CLAUDE_CODE_HARBOR_KITE": "1"(绕过 feature flag)
  3. 免审批(推荐):加 "crossSessionInbound": "accept"(不加则消息先 hold 等待确认)
{
  "env": {
    "CLAUDE_CODE_HARBOR_KITE": "1"
  },
  "crossSessionInbound": "accept"
}

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

与 dsh 会话通信

  • 发现:Claude Code 里用 ListAgents 列出所有 peer 会话(含 dsh-<pid>)
  • 回复 dsh:用 SendMessage 发给 to: "dsh-<pid> [ref]",消息开头带上会话标识 @dsh-<pid>:<session短id>,dsh 会转发到对应会话
  • 收 dsh 消息:dsh 发来的消息会作为用户消息出现在 Claude 会话(带 📨 [peer] 标记)

构建与测试

cd dsh-peer-link
npm install
npm run build   # tsc → lib/ + tsdown → lib/client.js
npm test        # vitest

目录结构

dsh-peer-link/
├── src/
│   ├── index.ts              # host 插件:注册单 peer + 会话转发 + 工具
│   ├── protocol.ts           # socket 消息协议(NDJSON 解析/构造)
│   ├── peer-registry.ts      # peer 注册表(注册 + 发现 + 存活探测)
│   └── client/               # 前端半区
│       ├── index.ts          # toolview slot 注册 + onSend/onRefresh
│       └── PeerListTool.tsx  # 交互式 peer_list toolview
└── LICENSE                   # MIT

通信礼仪

  • 收到 peer 消息时,注入格式附带提示:寒暄/确认类消息无需回复,有实际协作需求再回复
  • 多 dsh 会话并发向同一 peer 发消息时,醒目的会话标识让 Claude 能区分各会话

友链

  • LinuxDo — 一个开放、分享的社区

License

MIT

DSH Plugins 是獨立的 DeepSeek Harness 外掛市集,與 DeepSeek 官方無關,也不代表官方背書。第三方外掛未經安全稽核,安裝前請審查原始碼。

每週取得最新的 DeepSeek Harness 外掛,絕不濫發。