The core design philosophy of DeepSeek Harness (DSH) is “everything is a plugin.” In real development, when tasks run for a long time or involve multiple rounds of Agent interaction, repeatedly refreshing the page or checking UI status consumes extra effort. The dsh-notify plugin provides clear status indications for running, completed, or exceptional tasks through system notifications, browser tab titles, and the left-side session list.

What Is This

dsh-notify is a standard DSH Host/Client plugin that does not modify DeepSeek Harness core logic. It listens to Session events and Agent and Job lifecycles, then distributes status through multiple channels when tasks converge.

  • Maintainer: weekitmo
  • License: MIT
  • Purpose: Task status notifications

Core Features

The plugin provides the following status feedback mechanisms:

  1. System Notifications: Sends result notifications for completion, error, aborted, blocked, or token-limit states only after all top-level tasks have converged. Specific notification types can be disabled individually in Settings.
  2. DingTalk Bot: After configuring an Access Token and Signing Secret, you can independently choose to send “Success/Complete” or “Failure/Aborted” messages. Supports Do Not Disturb mode (default 23:00-08:00) and a summary of missed messages after completion.
  3. Tab Status:
    • When idle, displays the latest workspace session title.
    • While running, displays a spinner and session count.
    • After completion or error, displays an unread result count.
  4. Sidebar Status Indicator:
    • Green dot: Session completed and not yet viewed.
    • Red dot: Error, aborted, blocked, or token limit.
    • The status indicator is cleared after opening the session.
  5. Configurable: In WebUI Settings > Notifications, control notification permissions, tab animation, favicon, spinner, and sidebar status indicator.

Installation and Enabling

Prerequisites

Before installation, ensure pnpm is available in the PATH environment variable.

Installation Commands

On macOS, Linux, or other POSIX systems, use the following command to install the latest stable version:

curl -fsSL https://github.com/weekitmo/dsh-notify/releases/latest/download/install.sh | sh

Windows users can clone the repository and then run the batch installer:

git clone --depth 1 https://github.com/weekitmo/dsh-notify.git
cd dsh-notify
install.bat

After installation, refresh the WebUI. If the plugin does not load automatically, restart the corresponding dsh web process.

Enabling and Configuration

  1. Open the WebUI and go to Settings > Notifications.
  2. Enable the notification features you need.
  3. For system notifications, click Request Permission and allow notifications in the browser prompt.
  4. For DingTalk notifications, open the official documentation from the DingTalk configuration group to create a custom bot, enter the Access Token and Signing Secret, select the result types to send, and save.

Notes

  1. Migration Status: This repository has been migrated to weekitmo/oh-my-dsh-plugins and is no longer maintained here. For future development, Issues, and Releases, use @weekit/dsh-notify in the monorepo.
  2. DingTalk Configuration Path: DingTalk credentials are stored in $DSH_HOME/dsh-notify/settings.json and are not written to browser localStorage.
  3. Subagent Notifications: Standalone notifications for subagents are fixed off; they only follow the parent session to display the running count.
  4. Security Restrictions: The DingTalk credential management API accepts only same-origin WebUI requests from local loopback addresses. When accessing the WebUI via a LAN or public address, DingTalk configuration cannot be modified.

Conclusion

dsh-notify reduces the management overhead of long-running tasks through multi-channel status feedback. Together with DSH’s plugin-based architecture, it provides agent developers with a lightweight status monitoring solution.