Introduction

When developing agents with DeepSeek Harness (DSH), conversations typically run in a browser or terminal. While tasks execute in the background, developers can easily miss important status changes, such as abnormal termination or steps requiring user confirmation. The dsh-niao-message plugin maps DSH’s event stream directly to the macOS Notification Center, ensuring system banners are triggered at three key points: abnormal termination, action required, and normal completion. It also supports click-through to open an application.

What This Is

This is a macOS system notification plugin maintained by dsh-niao. It listens to DSH internal events and calls terminal-notifier in specific scenarios to send notifications to the system. Its core value is extending DSH status feedback from the browser/terminal to the system desktop and automatically clearing notifications when the user returns to the DSH page, avoiding interruptions.

Core Features

  1. Independent configuration for three notification groups: Configure switches, sound, and title/message templates separately for the three scenarios: abnormal termination, action required, and normal completion.
  2. Click banner to launch application: Clicking a notification banner can run the open -a command (or Bundle ID) to open a specified application, with automatic scanning of local DSH desktop apps and browsers.
  3. Zero polling and automatic clearing: Uses visibilitychange and focus event monitoring on the browser tab. When returning to the DSH page, notifications disappear automatically with no persistent background overhead.
  4. Notification throttling and de-duplication: Built-in 3-second throttling mechanism, with deduplication logic based on file markers (marker file + expiration time) to prevent repeated interruptions.
  5. Zero manual installation: The plugin includes the macOS notification binary (arm64 version); Intel Macs automatically fall back to the built-in node-notifier version, eliminating the need to manually install system tools.
  6. Visual settings panel: Provides a Notification Management page in the DSH settings dialog, supporting immediate template editing and notification testing.

Installation and Enabling

During installation, specify the DSH profile (for example, web).

dsh plugin --profile web add dsh-niao-message

After installation, restart the dsh web process to activate the plugin.

Typical Usage

After installation, open the DSH settings dialog (bottom-left ⚙️). A Notification Management page will appear on the left.

  1. Test notification: Click Test Notification in the settings panel; a test banner appears in Notification Center.
  2. Configuration override: The plugin configuration priority is: plugin defaults < patch layer (cordis.patch.yml) < the configuration file saved in the settings panel. If you want to modify it manually, edit ~/.dsh/dsh-niao-message.config.json.
  3. Automatic clearing: After triggering a notification on the DSH page, switch to another app or tab, then return to the DSH page; the previous notification disappears automatically.

Applicable Scenarios and Notes

  • Platform limitations: macOS only. Click behavior, notification sending, and app scanning all rely on macOS-specific mechanisms such as terminal-notifier and the open command.
  • Dependencies: Depends on @deepseek-ai/schemastery and node-notifier.
  • Permissions and security: The plugin runs with the permissions of the current DSH process. Before use, review the plugin source code and license (MIT).
  • Configuration priority: Changes made in the settings panel are persisted to ~/.dsh/dsh-niao-message.config.json, overriding plugin defaults and patch layer configuration.

Conclusion

By seamlessly integrating DSH runtime status into the macOS Notification Center, dsh-niao-message solves the problem of perceiving background task status. Its zero-polling design and automatic clearing mechanism ensure notifications are both timely and lightweight.