dsh-peer-bus
Manifest valid★ 4Cross-session message bus for DeepSeek Harness: let independent sessions address and wake each other.
dsh-peer-bus
English · 简体中文
Let two DSH sessions talk to each other.
session A ──bus_send──▶ session B (B wakes up and runs a turn)
Install
dsh plugin --profile web add dsh-peer-bus
Restart DSH. If pnpm warns about missing peers, ignore it — DSH supplies those from its own runtime.
Use
You need two sessions. In each one, run /bus id and copy the id it prints.
Let them talk. A grant means "this session may message me", so make it in the session that will be received from:
# in session B — now A may message B
/bus allow <A's id>
Then just ask session A's model, in plain language:
Ask
<B's id>what the release version is.
It calls bus_ask, and B wakes up, answers, and the answer comes back in the same turn. For a one-way message, say "send <B's id> a message saying …". You never type the tool names yourself — the model picks them.
To allow the other direction too, run /bus allow <B's id> in session A.
What the model gets
bus_send | send a message; the target wakes up and runs a turn |
bus_ask | ask a question and get the answer back in the same turn |
bus_reply | answer a question explicitly |
bus_wait | take an incoming message instead of letting it run a turn |
bus_roster | list the sessions this one can reach |
bus_status | what became of a message you sent |
/bus | you grant and revoke permission — no model can |
Permission
Nothing is allowed until you grant it. Two ways:
/bus allow <id>— one session, one direction, no restart. Durable.- A workspace rule — every session in one project, in the profile's
cordis.patch.yml:
- id: peer-bus
config:
allow:
- sameWorkspace: true
Messages arrive as user messages, and a model treats those as instructions — so an open bus would be a prompt-injection path. Hence default-deny.
Two processes
Off by default. To reach a session held by another DSH process, set this in both:
- id: peer-bus
config:
crossProcess: true
The receiving process still decides permission, so a grant in one process governs that process's sessions only.
More
- USAGE.md — every tool in detail, all config keys, error codes, troubleshooting
- verification/ — what was tested, and what the tests do not prove
MIT — see LICENSE.
Comments
Loading…
Similar plugins
by Wha1eChai
Same-runtime cross-Session discovery and communication for DeepSeek Harness
★ 2
↓ 36/wk
MIT
TypeScript
Aug 14, 2026
dsh plugin --profile web add @wha1echai/dsh-cross-sessionby GengDaPeng
Cross-session agent messaging for DeepSeek Harness with session discovery, offline delivery, delivery receipts, and sender-session navigation.
★ 6
↓ 236/wk
MIT
JavaScript
Sep 15, 2026
dsh plugin --profile web add dsh-agent-messageby PerryLink
Persistent, cross-session multi-agent team rooms for DeepSeek Harness — members, a message bus, a shared task board, and a shared timeline that survive restarts.
★ 3
↓ 1.1k/wk
Apache-2.0
JavaScript
Oct 7, 2026
dsh plugin --profile web add dsh-team-roomsIn-process cross-session communication, peer session creation, and shared blackboard for DeepSeek Harness.
★ 0
dsh plugin --profile web add dsh-call-sessionby happyren
Cross-session verification, claims and a decision ledger for DeepSeek Harness — so two agent sessions don't repeat, contradict or deadlock each other.
★ 7
↓ 65/wk
MIT
TypeScript
Sep 12, 2026
dsh plugin --profile web add dsh-agent-messagingby baixianger
Same-process session-to-session messaging plugin for DeepSeek Harness
★ 3
↓ 361/wk
MIT
JavaScript
Sep 14, 2026
dsh plugin --profile web add dsh-bridge