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-sendcommand. - No desktop environment: In server or WSL environments, the plugin automatically disables pop-ups and sounds, keeping only logs.