DeepSeek Harness is used to run long-running tasks. If you are not watching the conversation window, you may miss the moment when the agent completes a task or needs input. dsh-notify observes the DSH event bus on the host and triggers native Windows Toast notifications, whether the browser tab is focused, in the background, or closed.

What This Is

This is a plugin designed for DeepSeek Harness that provides native Windows desktop notifications (Toast) and sound alerts when the agent completes a task or when the harness is waiting for user input/approval.

  • Maintainer: lalilulelo3
  • License: MIT
  • Purpose: A client-side plugin focused on improving the user experience for long-running tasks.

Installation

First, make sure your system environment meets the requirements (see Notes). The installation process is completed automatically by the CLI; no manual configuration file editing is required.

  1. Run the installation command:
dsh plugin --profile web add @lalilulelo3/dsh-notify
  1. After installing or uninstalling, you must restart the dsh web process for changes to take effect.

Core Features

The plugin provides the following capabilities:

  • Native Windows Toast Notifications: Uses system-native capabilities to display notifications on the desktop.
  • Sound Alerts: Plays the default system notification sound when a task ends or when the agent is waiting for the user.
  • Event Listening:
    • turn/end: The agent has completed a turn.
    • user-questions/request: The harness is waiting for the user’s answer.
    • approval/asked: The harness is waiting for user approval.
  • Observation Mode: The plugin listens to events and returns immediately, without blocking the agent loop, ensuring smooth Harness execution.
  • Subagent Support: You can configure whether to notify subagent sessions (disabled by default to avoid excessive noise when multiple agents are running).
  • Cross-Platform Compatibility: On non-Windows platforms, the plugin loads but remains silent and does not affect Harness startup.

Configuration

The configuration file is located at ~/.dsh/profiles/web/cordis.patch.yml. DSH supports hot reloading, so changes take effect without a restart.

Here are several typical configuration examples:

Receive end notifications for specific reasons only:

- id: dsh-notify
  config:
    reasons: [completed, error]

Disable sound notifications:

- id: dsh-notify
  config:
    sound: false

Description of common configuration options:

Configuration Option Type Default Value Description
enabled boolean true Master switch; set to false to disable all notifications
turnEnd boolean true Whether to notify when a turn ends
question boolean true Whether to notify when waiting for an answer
approval boolean true Whether to notify when waiting for approval
reasons string[] [completed, error, blocked, max-tokens] Specifies the trigger reasons for turn/end
subagents boolean false Whether to notify subagent sessions
sound boolean true Whether to play a sound
title string DSH Notification title

How It Works

The plugin subscribes to DSH internal event streams when it loads:

  1. Event Listening: Listens to session/event (session event stream) and user-questions/request (tool-call waterfall stream).
  2. Notification Triggering: When turn/end, approval/asked, or user-questions/request events are observed, the plugin generates a Windows Toast notification.
  3. Execution Mechanism: The notification logic is implemented by invoking a WinRT script through powershell.exe. This process is fire-and-forget and does not wait for the execution result, ensuring that the Harness main loop is not blocked.

Notes

  • System Requirements: Only Windows 10 or 11 is supported.
  • Profile Requirement: You must launch DeepSeek Harness using the web profile.
  • Node.js Version: Node.js >= 20 is required.
  • Permissions and Settings:
    • After installing or uninstalling, you must restart dsh web.
    • In Windows notification settings, make sure “Focus Assist” or “Do Not Disturb” is turned off; otherwise, you may not receive notifications.
  • Non-Windows Platforms: The plugin loads but does not work. This is designed behavior and will not cause errors.

Summary

dsh-notify solves the problem of easily missing critical events during long-running Harness sessions through observation mode. It does not interfere with the agent’s execution logic and only provides desktop-level feedback. This plugin is one of the tools in the DeepSeek Harness ecosystem for improving usability. For more details, see the GitHub repository or the community catalog.