Introduction

When running multi-turn dialogue in DeepSeek Harness (DSH) and waiting for agents to complete their goals, the terminal or web page is often not the only window that needs attention. dsh-notify provides dialogue completion notifications for the DSH web version: when the application is in the background, it uses Windows toast notifications and sounds to alert you about round completions, errors, and goal completions; it also always alerts when the user needs to answer or approve something. Below is an introduction to its features, installation method, and precautions.

What is it

aokamoaki/dsh-notify is a community plugin for DSH, maintained by aokamoaki, and licensed under the MIT License. It is suitable for the DSH web version; the desktop shell is optional. The plugin runs with the permissions of the current dsh process, so you should check the source code, license, and dependency sources before installing. It is not affiliated with DeepSeek officially.

Core Features

The main capabilities are listed below in order of use:

  • Bell icon in the conversation header: Master toggle for notifications and a volume slider; operations are persisted to disk in real-time.
  • Completion-type notifications are only triggered when in the background: silent when the web page is visible or any window of the desktop shell is focused.
  • Question and approval notifications are always alerting, not silent even if in the foreground.
  • After the master switch is turned off, all notifications are muted; this persists after restart.
  • Toast text follows the Windows display language; supports Chinese and English.
  • Zero-configuration start, hot reload for configuration files, no restart required.
  • No repeated disturbance within 5 seconds of the same conversation; round completion alerts only during idle periods, with 800ms debounce; internal subagent sessions are not notified.
  • Provides an HTTP API to read and update configuration, query and report foreground status, and only accepts same-origin requests.
  • Windows toast and sounds are executed locally; supports sound toggle, popup toggle, and volume control.
  • Desktop shell is optional, used for reporting the shell’s foreground status.

Installation and Activation

The installation command is:

dsh plugin --profile web add github:aokamoaki/dsh-notify

After installation, restart dsh web for the plugin to take effect.

For local development, you can link the repository in the profile’s package.json like this:

"dependencies": {
  "dsh-notify": "link:C:/path/to/dsh-notify"
}

Also ensure that dsh.profile.bundles contains dsh-notify.

Typical Usage

No extra configuration is needed after installation and restart. Default behaviors are as follows:

  • Dialogue round completion: alert when in the background.
  • Dialogue round error: alert when in the background.
  • Goal completion: alert when in the background.
  • Questions: always alert.
  • Approvals: always alert.

To temporarily turn off notifications, click the bell icon in the conversation header to mute; hovering over the bell allows you to adjust the volume.

The configuration file is located at:

~/.dsh/dsh-notify.json

Operations on the conversation header bell are written back to this file in real-time.

If dsh web is already running locally, you can use the following command to perform a runtime API self-check:

curl http://127.0.0.1:3080/dsh-notify/config

When developing or modifying the plugin, you can run the following commands to verify:

npm run check
npm test
npm run pack:check

Use Cases and Precautions

This plugin is suitable for scenarios where DSH web is used on Windows and requires Node >=22.13. It executes toasts and sounds via PowerShell.

Precautions before use:

  • The plugin runs with the permissions of the current dsh process, so check the source code, license, and dependency sources before installing.
  • peerDependencies requires @deepseek-ai/cordis ^4.0.1.
  • The HTTP API only accepts same-origin requests; non-browser sources will be rejected.
  • Foreground status is stored in memory, not on disk; the initial state is background to avoid missing notifications when reporting fails.
  • If dsh-startup-guard detects plugin corruption, it will be automatically disabled, and disabled: true will be appended to cordis.patch.yml.
  • lib/client.js must be in the DSH client-bundle output format; importing and JSX are prohibited.

Conclusion

It connects DSH’s completion, error, goal, question, and approval signals to Windows notifications, making it suitable for background waiting for DSH task flows. Directory page and repository are as follows:

  • Directory page: https://www.skillhub.cn/plugins/aokamoaki/dsh-notify
  • GitHub: https://github.com/aokamoaki/dsh-notify