When DSH is running, if a task is completed, waiting for input, or fails, the plugin displays a native notification in the bottom-right corner of the desktop, accompanied by a sound. This solves the problem of users missing prompts when switching windows while the AI is waiting for confirmation in the background.

Feature Description

The plugin supports three core events: task completed, waiting for input, and task failed. The notification content includes the project name, Git branch, duration, token count, and a result summary, making it easy for users to quickly determine whether they need to return and check.

Interaction and Do Not Disturb

  • Anti-spam: Similar events within a 10-second window are automatically combined into one notification.
  • Escalating reminder: Waiting-for-input events that remain unhandled for 5 minutes are automatically escalated and resent.
  • Do Not Disturb mechanism: Detects whether the DSH window is in the foreground, silences events in fullscreen mode, and supports scheduled Do Not Disturb periods (waiting-for-input events are exempt by default).

Extended Capabilities

  • Sound: Provides built-in sounds for success, waiting, and failure.
  • Mobile push: Supports Bark, ntfy, and custom Webhooks; waiting-for-input and failure events can be pushed to mobile.
  • Others: Supports a history and statistics floating card, keyword monitoring, TTS voice announcements, and proactive Agent notifications.

Installation

Install it through the official command:

dsh plugin --profile web add dsh-plugin-desktop-notice

Typical Usage

After installation, you can test the notification feature in the following ways:

# 浏览器访问
http://127.0.0.1:3080/desktop-notice/test?kind=waiting

# npm 脚本
npm run notify:test -- waiting

# PowerShell
irm "http://127.0.0.1:3080/desktop-notice/test?kind=error"

Platform Support and Notes

  • Windows: You need to enable app notification permissions in system settings. Banner display may be affected by AUMID matching or Focus Assist settings.
  • macOS: The first use requires authorizing system notification permissions.
  • Linux: Depends on the OS-provided notify-send command.
  • No desktop environment: In server or WSL environments, the plugin automatically disables pop-ups and sounds, keeping only logs.

References