跳到主内容

dsh-interconnect 使用指南

在多个 DSH 实例间通过共享密钥 WebSocket 互通:互发文本消息、推送会话生命周期事件、枚举对端在线会话。

本文为派生内容(基于 wiki / faq / compatibility_json 自动组装),非 AI 即时创作。

本文由本站基于该插件已收录的字段自动派生(wiki / faq / compatibility_json / readme),非 AI 即时创作。每节末尾标源字段。

快速上手

dsh-interconnect

— 源: plugin_wiki.wiki_content

安装与验证

dsh plugin --profile web add dsh-interconnect

复制以上命令在 DSH Web Profile 内运行。安装完成后在「插件列表」启用即可。

— 源: plugins.install

关键要点

  • 全走持久 WebSocket 链接:跨实例、跨机器投递消息、枚举 live session、探测活性(send/reply/ping/list 经 /interconnect/link 的 msg/query 帧)
  • /interconnect/link WebSocket 端点:双向实时事件推流,含心跳与指数退避重连;也承载
  • 事件 fan-out(HTTP + WebSocket),入站事件以 interconnect/event 发出
  • 共享密钥鉴权(DSH_INTERCONNECT_TOKEN,bearer,fail-closed,timing-safe 比较)
  • interconnect_send:向对端实例的指定 session 投递消息;可选 delivery 选投递模式、resume 唤醒离线 session

— 源: plugin_wiki.readme_zh (fallback readme_raw)

常见问题

普通用户装这个插件能做什么?

让多台机器或多 DSH 实例之间通过共享密钥 WebSocket 通道互发文本消息、互相推送会话生命周期事件、列出对端当前正在运行的会话;模型也能用四个 interconnect_* 工具主动寻址和投递。

安装后还要做什么才能两端互通?

在两端 DSH 实例的凭据存储中设置相同的 DSH_INTERCONNECT_TOKEN 共享密钥(没有 token 时鉴权端点会 fail-closed 返回 403),再把对端 instanceId 与可达 origin 写进本端 config.peers 映射,激活时自动为每个对端建持久链。

投递消息失败时 reason 字段分别什么意思?

不同失败需要不同应对:session-not-live 表示对端 session 没在跑(换目标或带 resume);unreachable 表示传输或鉴权失败(可能重试);resume-refused / resume-failed 与唤醒相关;session-owned-by-subagent 表示该 session 归 subagent 路由;no-sender-known 是 reply 找不到发送方记录。

— 源: plugin_wiki.faq_json

兼容性

  • DSH: 未声明
  • Node: >=22.0.0
  • Platforms: 跨平台

— 源: plugin_wiki.compatibility_json

踩坑提醒

安装前请审阅上游仓库;本指南基于已收录字段自动派生,可能滞后于最新版本。如发现与官方文档冲突,请以上游为准。

— 来源:通用规则