Introduction

DeepSeek Harness (DSH) adopts a plugin-based architecture, and all features are extended through plugins. When running with the web profile, system messages are typically displayed only within the browser page. The dsh-plugin-winnotify plugin uses a bridging mechanism to convert key DSH events (such as approvals, exceptions, and task status changes) into native Windows system Toast notifications. This allows developers to respond promptly to agent requests or exception information while switching windows or using other applications.

Plugin Overview

  • Name: dsh-plugin-winnotify
  • Maintainers: Maple-Bamboo-Team
  • License: MIT
  • Core value: Maps DSH’s Web message stream to native Windows desktop notifications, ensuring critical events are not missed.

Environment Requirements

Before installation, ensure the following conditions are met:
* Operating system: Windows 10 or Windows 11
* Runtime environment: An installed DeepSeek Harness (dsh)
* Node.js version: 22.19 or higher

Installation

Run the following command in PowerShell to install it:

dsh plugin --profile web add https://codeload.github.com/Maple-Bamboo-Team/dsh-plugin-winnotify/tar.gz/refs/heads/main --ignore-scripts

After installation, restart the dsh web process and refresh the browser page to load the plugin.

Notification Content

The plugin generates different notifications based on event type. The notification title is the corresponding conversation name.

Event Type Notification Body Example
Approval / privilege escalation Awaiting action: Write file — write permission required outside the workspace
Question Awaiting response: Status probe — Should I continue?
Exception Unhandled exception: specific content
Task completed Task completed
Task interrupted Task interrupted: execution canceled

When the plugin starts, it can also send a time-based greeting and a Yiyan quote. If fetching the Yiyan quote fails, a fixed text is displayed: “Not lured by praise, not fearing slander.”

Clicking the notification directly opens the corresponding conversation.

Configuration

The plugin is configured through the profile’s cordis.patch.yml. By default, the following options are enabled: welcome, approval, question, error, completed, interrupted, and sound.

For example, to disable the startup greeting and sound notifications, configure the following:

- id: winnotify
  config:
    welcome: false
    sound: false

Uninstallation and Cleanup

To uninstall the plugin, run the following command:

dsh plugin --profile web remove dsh-plugin-winnotify

After uninstalling, restart the dsh service for the change to take effect. To remove the system notification source and icon, run the following command in the local plugin directory (usually ~/.dsh/plugins/dsh-plugin-winnotify):

npm run unregister

Development and Testing

The plugin source code is located in the GitHub repository. To contribute to development or test locally, run the following commands:

npm ci
npm run check
npm test
npm pack

npm test first runs a build and then executes unit tests. Before submitting source code, the updated lib/ directory should also be committed. To preview the system notification effect, run:

npm run preview

Conclusion

dsh-plugin-winnotify uses native Toast notifications to address the passive message viewing experience when DSH runs on the desktop. The plugin is released under the MIT license, and its icon assets are taken from the official DeepSeek Harness project. For more details, refer to the plugin directory or the GitHub repository.