Preface

In the DSH extension, after an agent finishes a long-running task or encounters an error, a common issue is “what to do when you’re not at your computer.” dsh-plugin-notify solves the notification outlet: it lets the agent proactively reach you via desktop notifications, Chinese voice broadcasts, or system alert sounds. It is maintained by huguangyu666, licensed under MIT, designed for Windows local environments, and requires Windows + PowerShell 5.1+ (bundled with the system).

What This Is

dsh-plugin-notify is a DeepSeek Harness (DSH) plugin whose core function is the “notification outlet”:

  • The agent proactively notifies you
  • Automatically alerts you when a session error occurs
  • After a turn ends, it enters a confirmation window; if no interaction occurs before the timeout, it makes a Chinese voice call

Core Features

Injecting Proactive Notification Rules

The plugin automatically injects proactive notification rules into all agents’ system prompts. The agent can call the following when a long task completes, encounters an error, or needs your attention:

notify_user

notify_user Tool

notify_user supports:

  • Freely passing in message
  • When message is not provided, it uses default text based on scene

Automatic Fallback

This part doesn’t rely on the model’s initiative:

  • Session turn error: automatic voice + desktop notification
  • Turn end: automatic desktop notification
  • No interaction before the confirmation window timeout: Chinese voice call

Manual Notification

The plugin provides:

/notify

for sending notifications manually.

Notification Channels

The following channels are supported:

toast
speak
sound
both

Where:

  • toast: desktop notification
  • speak: Chinese voice broadcast
  • sound: system alert sound
  • both: voice + desktop notification

Sound Effects

4 synthetic sound effects are supported:

Explosive
Victory
Alert
Crisp

Configuration

Notification behavior and message templates can be adjusted through the dsh settings panel, environment variables, or configuration files. The adjustable environment variables include:

DSH_NOTIFY_DEFAULT_MODE
DSH_NOTIFY_INJECT_PROMPT
DSH_NOTIFY_ON_TURN_END
DSH_NOTIFY_CALL_DELAY_SECONDS
DSH_NOTIFY_TEMPLATE_DONE

Installation and Enabling

First, run the installation command:

dsh plugin --profile web add dsh-plugin-notify

This command adds dsh-plugin-notify to the web profile. The plugin requires Windows + PowerShell 5.1+ (bundled with the system).

Typical Usage

Let the Agent Proactively Notify You

Simply tell the agent:

  • “Notify me when this task is done”
  • “Call me if there’s an error”

It will call the notify_user tool.

Manual Notification

/notify Task completed
/notify --speak Come back and check the results
/notify --sound Reminder

Testing

Open in your browser:

/notify

Select a mode and click send. “Demo: Notification when task completes” can be used for one-click testing of the complete scenario.

Applicable Scenarios and Notes

Suitable for using DSH on Windows and wanting the agent to proactively remind you when long tasks complete, encounter errors, or require manual intervention.

Notes:

  • The plugin runs with the current dsh process permissions; you should check the source code and license before installation.
  • License: MIT.
  • Runtime environment: Windows + PowerShell 5.1+ (bundled with the system).
  • Voice broadcasts run in background subprocesses and wait until playback finishes before returning.
  • Notifications execute serially with a 120-second timeout.
  • “Volume boost” appears in the provided materials with both “disabled by default” and “enabled by default” statements; this article does not treat it as having a definitive default value; you should check local configuration or source code before use.

Links

  • GitHub repository: https://github.com/huguangyu666/dsh-plugin-notify
  • Community list: this article only retains confirmed category information: the Notifications & Integrations list in awesome-dsh-plugin; the standalone directory page URL is unconfirmed and therefore no unverified addresses are included.