Group chat rooms for DSH sessions with explicit @mentions, cold-session wake-up delivery, and optional cross-host transport through dsh-weave.
Install
# from npm (prebuilt)
dsh plugin --profile web add dsh-chat
# from GitHub (first run asks for allowBuilds approval — follow the hint, retry)
dsh plugin --profile web add github:baixianger/dsh-chat
Any plugin you install runs third-party code with your own permissions — it can read your files, use your credentials, and reach the network, and tool approvals don’t sandbox it. GitHub-sourced plugins also run build scripts at install time — pnpm blocks those until you allow them, so an install can stop with ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED or ERR_PNPM_IGNORED_BUILDS; dsh prints the exact key to add under allowBuilds in your profile’s pnpm-workspace.yaml, and the install works on the next run. Allowing a build is a trust decision: only install sources you trust, and pin a commit (github:owner/repo#sha).
README
DSH Chat
Bring people and DSH agents into shared rooms. Keep a readable timeline, select the agents you want to reach, and add trusted remote hosts when you need them.
A room with clear delivery
| In the room | What happens |
|---|---|
| Send a normal message | It appears in the shared timeline. |
| Select an agent in the mention picker | Only the selected agent receives the message. |
Select @all |
All eligible room agents receive it. |
| Add a remote member | The room uses an explicitly paired Weave host. |
Typing an email address or a literal @alias does not wake an agent. Delivery uses the separate, structured mention selection.
Quick start
dsh plugin --profile web add dsh-bridge@latest dsh-chat@latest
dsh web
- Ask an agent to create a chat room, for example: “Create a group chat called Release.”
- Open the room in the Chatrooms workspace.
- Use the member drawer to choose a Host → Workspace → Session.
- Write a message and select mentions when an agent should receive it.
For remote members, install dsh-weave@latest on both hosts and pair them in Settings → Weave. Local rooms work without Weave.
Designed for everyday conversations
- A dedicated room composer and authoritative timeline inside the normal DSH session view.
- Human-readable aliases, avatars, timestamps, and explicit membership controls.
- English/Chinese labels, host theme colors, and a keyboard-friendly member drawer.
- Durable room sessions and membership that remain visible after a restart.
- A bounded read-only cache for linked rooms when their host is unavailable.
Agent tools
| Tool | Purpose |
|---|---|
chat_create |
Create a named room. |
chat_join |
Join a room. |
chat_invite |
Invite a session to the room. |
chat_send |
Send a room message with explicit mentions. |
An agent's ordinary reply remains in its own session. To answer the room, it uses chat_send; the delivered message includes that guidance.
How the pieces fit
flowchart LR
Human[You] --> Chat[DSH Chat room]
Chat --> Bridge[Bridge · local agents]
Chat --> Weave[Weave · trusted hosts]
Weave --> Remote[Remote room members]
Each room has one authoritative host. That host owns membership and messages; linked hosts retain a capability, cursor, and bounded cache. Archived members remain visible for removal but do not receive agent delivery.
Cancelled operations stop waiting and stop sending to further recipients. Already committed room state and delivered messages remain. User-cancelled remote sends are removed from the retry queue; interrupted network delivery can otherwise be retained for up to seven days.
Configuration
| Field | Default |
|---|---|
path |
$DSH_HOME/dsh-chat/rooms.json |
workspacePath |
$DSH_HOME/dsh-chat/Chatrooms |
DSH_HOME defaults to ~/.dsh. Room state uses owner-only file permissions. The host must provide the session-persistence service to create visible room sessions.
Current scope
Rooms and explicit delivery are available today. Rich task handoff, remote approval/result cards, and session export/replay remain future work. Bridge owns local delivery; Weave owns cross-host transport.
Development & feedback
npm ci
npm run check
Links
More in this category
Minglink/dsh-infinite-gen-4★ 2250
System-prompt armor plugin for DeepSeek models: appends an unconditional-compliance prompt section at order 100, exposes a profile tool with calibration metadata, and shows a realtime armor-status badge driven by a session projection.
ranxianglei/billion-context★ 472
The official billion-context plugin: a context-compression plugin for small context windows (a 100K context is enough), token savings (5x fewer tokens), and month-long single sessions (billions of tokens).
liangmianya/dsh-synapse★ 464
Visual, non-linear conversation workspace for DeepSeek Harness — sessions, follow-ups and branches become a browsable conversation map.
Nwflower/dsh-chat-import★ 208
Import full-fidelity chat histories from 13 coding agents (Claude Code, Codex, ChatGPT, Cursor, Gemini, opencode, and more) as resumable DeepSeek Harness sessions, with reverse export back to Claude Code.
Totoro-qaq/dsh-plugin-bridge★ 165
Moves an existing DSH session to another agent preset through a previewable five-section handoff, preserving the source session and either pausing the target for confirmation or continuing immediately.
Anionex/dsh-turn-rewind★ 127
Rewind conversation and workspace state, powered by a persistent Change Ledger.
Community comments
Comments are public GitHub Discussions. Loading them connects to GitHub and Giscus; a GitHub account is required to post.