Preface

In the DSH (DeepSeek Harness) host environment, when waiting for an Agent to complete a conversation turn, waiting for an Agent to answer a question, or waiting for tool call approval, you typically need to switch back to the conversation page to check the status. dsh-ding is a DSH plugin: it plays a notification sound when a conversation completes and displays a Windows native notification; the bell button in the WebUI can be used to toggle the notification sound, adjust the volume, select sound effects, or upload audio.

This plugin is maintained by CAOGGL and is licensed under MIT.

What Is This

dsh-ding is used to convert DSH conversation and task statuses into reminders. It covers scenarios such as conversation completion, long-running tasks, Agent questions, and tool calls awaiting approval.

Core Features

The following are listed based on verified capabilities:

  • Plays a notification sound when a conversation completes.
  • Displays a Windows native notification.
  • Web bell button: left-click to toggle the notification sound, hover to adjust the volume, right-click to select a sound effect or upload audio.
  • Clicking the Windows notification automatically opens the browser and navigates directly to the corresponding conversation.
  • Do-not-disturb for the current conversation.
  • Reminders during long-running tasks.
  • Reminders when the Agent asks a question via ask_user_question and waits for an answer.
  • Reminders when tool calls are waiting for approval.
  • Runtime modification of notification toggle, title, timing in milliseconds, volume, and custom notification template in the advanced settings dialog.
  • Import/export of JSON configuration.
  • Built-in ding.mp3 notification sound file.
  • Notification body, title, and panel text follow the WebUI’s Chinese/English language setting.
  • Default 200ms debounce and 3s global throttle.
  • Automatically skips sub-agent completion events.

The documented sound file formats include mp3/wav/mid/wma/aac; the web upload sound effect also supports m4a/ogg/flac.

Installation and Enablement

Command-Line Installation

If pnpm is not yet installed in your environment, you can run:

npm install -g pnpm

Then execute the installation command:

dsh plugin --profile web add github:CAOGGL/dsh-ding

Restart dsh web after installation for the changes to take effect.

WebUI Plugin Marketplace

  1. Navigate to “Settings -> Plugin Marketplace”.

  2. Search for dsh-ding.

  3. Click to install with one click.

Manual Placement

  1. Place the plugin directory in:
$DSH_HOME/profiles/node_modules/dsh-ding/
  1. Add the insert configuration for dsh-ding in cordis.patch.yml.

  2. After saving, the patch file’s hot monitoring takes effect immediately; changes to the plugin code itself require a service restart.

Typical Usage

Bell Button

On the bell in the top bar of the conversation page:

  1. Left-click: Toggle the notification sound.

  2. Hover: Adjust the volume.

  3. Right-click: Select a sound effect or upload audio.

Advanced Settings

After opening advanced settings, you can modify the notification toggle, title, timing in milliseconds, volume, and custom notification template at runtime.

The advanced settings page provides test buttons to send completion, running, question, and approval notifications respectively.

Testing the Notification Script

To test the Windows notification script separately, you can run the PowerShell command provided in the documentation:

powershell -NoProfile -ExecutionPolicy Bypass -File "$env:USERPROFILE\.dsh\profiles\node_modules\dsh-ding\notify.ps1" -Title "Test" -Text "dsh-ding is working normally"

Applicable Scenarios and Notes

Suitable for scenarios such as waiting for Agent replies, long-running tasks, Agent questions, and tool approvals.

Notes:

  • The plugin runs with the permissions of the current dsh process; you should check the repository source code and the MIT license before installation.
  • On first use, Windows notifications need to automatically register the AppUserModelID; unregistered AUMID values are silently discarded by Windows.
  • In the manual placement method, changes to the cordis.patch.yml patch take effect immediately, while changes to the plugin code require a service restart.

Links

  • GitHub: https://github.com/CAOGGL/dsh-ding
  • WebUI Plugin Marketplace entry: Settings -> Plugin Marketplace -> Search for dsh-ding