DeepSeek Harness (DSH) adopts a plugin-based architecture, and developers often run tasks in the background. When tasks finish or are interrupted, the lack of immediate feedback can increase debugging costs. dsh-notifier-plugin aims to solve this problem by providing key event feedback to users through system-level notifications.
Plugin Introduction¶
This is a client-side plugin maintained by hotpot-labs. It provides desktop notification support, triggering notifications when a run completes, when the model asks a question (ask_user_question), or when waiting for approval (sandbox escalation / tool permissions).
The notification content reflects the run result (completed / errored / aborted / token limit reached / blocked / interrupted). At the transport layer, it supports switching at build time: by default, it uses the browser-native Notification(), and it can also be configured to use Tauri’s @tauri-apps/plugin-notification.
Core Capabilities¶
- Desktop notification support: Compatible with macOS, Linux, and Windows.
- Key event triggers: Supports instant notifications for run completion, model questions, and approval requests (sandbox escalation or tool permissions).
- Single notification per run: For top-level run sessions, it filters sub-agent sessions and triggers only one notification per run.
- Foreground silence: When the page or window is visible and focused, notifications are not sent, avoiding interruptions.
- Web UI settings card: Provides a real-time configuration interface; no restart is required to adjust toggles.
- Event stream reconnection: Supports automatic event stream reconnection.
Installation and Enabling¶
Install the plugin via npm (recommended):
dsh plugin --profile web add dsh-notifier-plugin
After installation, restart the web process to load the plugin:
dsh --profile web web
Verify that the plugin is mounted correctly:
dsh --profile web --dump-config | grep -n dsh-notifier
Configuration Methods¶
There are two configuration methods: Web UI settings take precedence over the config file.
Web UI Configuration (Recommended)¶
- Open
dsh web. - Go to Settings -> Plugins -> Plugin configuration.
- Expand the notification card, adjust the toggles, and save.
Config File Configuration¶
Declare the configuration in cordis.patch.yml under the profiles directory:
- id: dsh-notifier
name: dsh-notifier-plugin
config:
enabled: true # 总开关
title: DeepSeek Harness
sound: true # 允许系统通知音效;false 则静默
onBlocked: true # 阻塞通知的总开关
onQuestion: true # 提问通知(仅当 onBlocked 为 true 时生效)
onApproval: true # 批准通知(仅当 onBlocked 为 true 时生效)
Usage Notes¶
- Permission grant: Browsers require a user gesture to grant notification permission. It is recommended to click the Send test notification button on the settings card to trigger authorization.
- Foreground running silence: Notifications are triggered only when the dsh web page or Tauri window is open. Without a page, notifications cannot be received (not effective in Headless mode).
- macOS signing issue: macOS rejects notification permission for ad-hoc signed apps. Use a developer signature or relay through the host process (
osascript). - Tauri desktop configuration: On Windows / Linux,
tauri-plugin-notificationmust also be installed and capabilities configured; macOS uses a special host relay mechanism. - pnpm version limitation: If using pnpm ≥ 10, it may prevent git dependency build scripts from running. If a build is skipped after installation, allow the plugin’s build in the profile’s
pnpm-workspace.yaml.
Summary¶
dsh-notifier-plugin provides basic desktop notification capabilities for DeepSeek Harness, suitable for developers who need to run tasks in the background and stay aware of status changes. With system notifications, you can track task progress without opening the interface.
- Directory page: https://www.skillhub.cn/plugins/hotpot-labs/dsh-notifier-plugin
- GitHub: https://github.com/hotpot-labs/dsh-notifier-plugin