In the DeepSeek Harness (DSH) side chat (dsh-sidechat) scenario, passing information from a sub-session to the main session usually requires copy-paste. dsh-side-notify is a companion plugin that removes this operation step and allows direct push delivery.
Plugin Purpose¶
dsh-side-notify is a companion plugin to dsh-sidechat for pushing messages directly to the main agent. The plugin is maintained by realpkuasule and is released under the MIT license.
Core Features¶
- Floating capsule: When the current session has an active side chat, a “Notify main agent” capsule appears to the left of the side chat panel.
- Type → push: Enter a message and send it (Cmd/Ctrl+Enter is supported). The message is delivered directly to the main session as a normal user message via
agent.followup. The main agent processes it when idle or after the current turn ends. - Slash commands: Registers the global commands
/notifyand/to-main, which any UI that executes host commands can invoke. - Status hints: The capsule dot turns orange when the main agent is busy; after pushing, it indicates whether the message is waiting for the current turn to end.
- Language follow: The UI language follows DSH’s language settings.
Installation and Enablement¶
Use the following command to install it into the web profile:
dsh plugin --profile web add github:realpkuasule/dsh-side-notify
After installation, restart the dsh web service and hard-refresh the browser page (Cmd/Ctrl+Shift+R).
Typical Usage¶
- Start or open a side chat (dsh-sidechat must already be installed).
- Click the “Notify main agent” capsule that appears to the left of the side panel.
- Enter a message and send it. The main session displays the message as a normal user message, and the main agent processes it in the next turn.
How It Works¶
The plugin consists of a Host and a Client:
- Host (lib/index.js): Provides the /side-notify/api/{state,push} JSON routes, as well as the /notify and /to-main global commands. It delivers messages to the main session via agent.followup.
- Client (lib/client.js): A pure JS module mounted on document.body. It positions the capsule using CSS variables and polls the status every 1.5 seconds.
Notes¶
- There is no build step; the
lib/directory is source code. - The plugin runs with the permissions of the current DSH process. It is recommended to review the source code and license before installing.