dsh-notification: Desktop Notification Plugin for DeepSeek Harness
omdsh-dev/dsh-notification
Desktop notifications for DeepSeek Harness web GUI, with per-outcome toggles and keyword rules.
Receive system notifications when DSH sessions finish, even while you're on another browser tab.
dsh plugin --profile web add github:omdsh-dev/dsh-notification- Category
- UI & Experience
- Platform
- DSH-Plugin
- Author
- omdsh-dev
- Distribution
- Plugin
dsh-notification Key Features
dsh-notification Repository

dsh-notification Repo Summary
dsh-notification is a desktop notification plugin (DSH plugin) for DeepSeek Harness, designed for the web GUI. It solves the problem of not knowing when a DSH session finishes while you're on another tab. By leveraging the browser Notification API, it sends system notifications so you can stay informed even in the background. It offers per-outcome toggles and include/exclude keyword rules to precisely control which completions trigger notifications. Maintained by omdsh-dev under the MIT license, last updated in 2026-08, with 52 stars and written in JavaScript.
What core features does the dsh-notification DSH plugin support?
The plugin provides a master switch to disable all notifications, per-outcome toggles for completed, error, aborted, blocked, and token limit reasons, and keyword rules that match against session title, reply text, and tool names, supporting literal or regex matching with an optional case-sensitive flag. It also includes a "require manual dismiss" option and a smart suppression feature that only notifies when the task is out of view. Preferences persist in localStorage, and the settings section lives under Settings > Notifications, with a test notification button.
How to install dsh-notification?
Use the following command, then restart the web server to load the plugin:
dsh plugin --profile web add github:omdsh-dev/dsh-notification
The default dsh web profile already includes the required client composition (session list, settings shell, and locale).
How to configure dsh-notification?
Host-side tunables are set in the plugin row in cordis.yml, for example:
- id: dsh-notification
name: dsh-notification
config:
maxBodyChars: 400
This sets the projection body budget; longer replies are ellipsized host-side.
What is the model experience impact of dsh-notification?
The plugin has zero impact on the model: no token cost (notifications are UI-only and never enter a request), no new tool calls, no changes to the session log, and no system-prompt section registered. It reads the existing log via a session projection and listens to the session list's completion reminder on the client, showing notifications only when permission is granted.
How is the permission boundary designed for dsh-notification?
The host folds a pure projection over the session log (turn reason, bounded reply text, tool names) and delivers it to the browser; it writes nothing to the log and registers no model-facing tools. The client watches the session list's completion reminder (a live "finished while not selected" edge) and shows a notification only when the user has granted Notification permission. Rule matching runs client-side against the projected content, and the reply body never exceeds maxBodyChars.
How to develop and test dsh-notification?
For development, link the dsh checkout at ../dsh and use pnpm commands:
pnpm install
pnpm run check
pnpm run test
pnpm run build
Tests cover host projection, client decision, runner, helpers, and settings sections.