DeepSeek Harness Plugin

baixianger/dsh-chat

Stars ★ 2 Downloads (30d) 1,518 Category Sessions & Messages Added 2026-08-19 npm dsh-chat

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

English · 简体中文

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
  1. Ask an agent to create a chat room, for example: “Create a group chat called Release.”
  2. Open the room in the Chatrooms workspace.
  3. Use the member drawer to choose a Host → Workspace → Session.
  4. 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

Report an issue · Release notes · MIT license

Content from the project README on GitHub ↗

Links

More in this category

View the whole category →

Community comments

Comments are public GitHub Discussions. Loading them connects to GitHub and Giscus; a GitHub account is required to post.