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 /notify and /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

  1. Start or open a side chat (dsh-sidechat must already be installed).
  2. Click the “Notify main agent” capsule that appears to the left of the side panel.
  3. 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.