baixianger/dsh-bridge
DeepSeek Harness 的同进程会话间消息传递插件
Project Overview项目介绍
dsh-bridge is the local messaging foundation of the DSH plugin family, letting live sessions within one DSH Host discover and exchange messages. It exposes the ctx.dshBridge service with session_list, session_send, and session_messages tools, accepting exact session ids or accent-insensitive human-readable titles, and resumes idle or offline sessions via the Host resolver before delivery, reporting idle, running, waking, offline, archived, and missing states. Use it when local inter-session messaging is needed. The success result means the target accepted the follow-up, not that its model processed the message; cross-host transport is not included.
dsh-bridge 是 DSH 插件体系的本地消息底座,为同一 DSH Host 内的实时会话提供发现与互通能力。它通过 ctx.dshBridge 服务向代理暴露 session_list、session_send、session_messages 三个工具,支持会话 id 或人类可读标题寻址,并能冷启动恢复离线会话后投递。需要跨主机传输时,应交由 dsh-weave 等受信后端处理;该插件自身不实现网络传输与持久化队列。
请帮我了解并安装插件:【dsh-bridge】【https://github.com/baixianger/dsh-bridge】
Send this message to DSH in your current session. CLI install commands may not be accurate across systems — DSH will figure it out for you.把上面这条消息直接发给当前会话里的 DSH,让它帮你了解并安装。安装命令不一定准确,发给 DSH 更稳。
Or use CLI install (for developers)或使用命令行安装(适合开发者)
CLI Install命令行安装
dsh plugin --profile web add dsh-bridge@latest
把 baixianger/dsh-bridge 加入你的 DSH 配置(web profile)即可启用。
READMEREADME
Let sessions in one DeepSeek Harness host discover each other and exchange messages. Bridge is the local foundation beneath Chat rooms and trusted Weave delivery.
Three tools, one local host
| Tool | Purpose |
|---|---|
session_list |
Discover sessions and their current state. |
session_send |
Send by exact session ID or human-readable title. |
session_messages |
Read a bounded recent delivery log. |
Quick start
dsh plugin --profile web add dsh-bridge@latest
dsh web
Ask an agent to list sessions, then send a message to the intended session. Bridge adds tools directly; it has no separate settings page.
For session_send, mode: auto tries the ID before the title; id and name select one lookup method. Titles match case-insensitively. Ambiguous names return candidate IDs instead of choosing a recipient for you.
Delivery that respects session state
flowchart LR
Send[Send message] --> Resolve[Resolve target]
Resolve --> Live[Live session]
Resolve --> Cold[Resume persisted session]
Live --> Queue[Queue follow-up]
Cold --> Queue
- Idle agents wake; running agents receive queued work.
- Persisted sessions resume with their recorded preset and model.
- Concurrent requests to a cold session share one resume operation.
- Archived sessions reject delivery and are not woken.
- Cancelling during a cold resume prevents a late follow-up, even if the shared load finishes.
A delivery acknowledgement means the session accepted the follow-up. It does not mean the model has processed it or completed the task.
Configuration
| Field | Default | Purpose |
|---|---|---|
recentMessages |
1000 |
Retained messages per host. |
dedupeCapacity |
10000 |
Remembered external message IDs. |
maxMessagesPerRead |
100 |
Maximum messages returned per read. |
Plugin integration
ctx.dshBridge is the public service. Trusted transports call deliverExternal() so local and external delivery share the same follow-up and audit path. Its optional signal carries cancellation through session resolution.
DSH Weave supplies cross-host transport; DSH Chat supplies rooms and a Web conversation view. Neither is required for local messaging.
Retention & boundaries
Bridge operates within one host process. Its recent-message log and duplicate-ID table live in memory and reset on plugin unload or reload; they are not a durable mailbox. The old ctx.sessionMessaging accessor remains a temporary compatibility alias.
Development & feedback
npm ci
npm run check
whiteguo233/dsh-openbiliclaw
hanshanyike/dsh-yolo
AX1202/ax-feishu-bridge
amlyczz/dsh-lark-link
caoyiwei850/dsh-ssh-ops
jiezeng2004-design/dsh-chatgpt-bridge