When developing long-chain tasks in the DeepSeek Harness Web UI, you often need to move the window to the background to do other work. If the model is running a task, it is hard to notice immediately whether the task has completed. The dsh-notify plugin solves this problem. It notifies you via a browser system notification the moment a session finishes running.
This is a Web client plugin. It does not provide any UI elements; instead, it exists as a behavior patch and triggers a notification when the session state changes from running to idle. The plugin itself has no maintainer information and focuses on solving the specific pain point of being unable to timely perceive completion while a task is running.
Core Features¶
- System notification trigger: When a session’s
runningstate switches toidle, a browser system notification is triggered immediately. The notification title includes the session name, and the body is in Chinese. - Smart do-not-disturb: When you are viewing that session, the plugin stays silent. It triggers a notification only in the following cases:
- The browser page is hidden (you have switched tabs).
- The browser window is unfocused (you have switched to another application).
- The session that has just completed is not the currently selected session.
- Per-session deduplication: Notifications for each session are independently tracked. Repeated triggers replace the previous notification instead of stacking.
- Well-timed permission request: The permission prompt is not silently triggered when the page loads; it appears on your first click or key press. This design ensures it works properly in browsers such as Safari.
- Zero UI design: There is no settings button, no control panel, and no modification of any host configuration.
Installation and Activation¶
- Install the plugin into the Web UI profile:
dsh plugin --profile web add github:you/dsh-notify
*(Note: The installation command uses the verified wording.)*
- Start the Web UI:
dsh --profile web
- Grant notification permission on your first click or keypress in the browser.
Typical Usage¶
- Start a task in any session.
- Move the browser tab to the background or use another application.
- When the model finishes running, the operating system displays a Chinese notification containing the session name.
Applicable Scenarios and Notes¶
- Cannot be turned off: There is currently no user-visible toggle; the plugin is always active.
- System notification only: Completion does not show a Toast or title flashing inside the Web UI. The green “completed” dot in the sidebar is the only in-app signal.
- Browser permission ownership: Notification permission is controlled by the browser. If the user denies the permission request, the plugin cannot recover under that domain; it must be manually enabled in the browser settings.
- No sound: Sound reminders are not currently supported; a short chime has been deferred.
The plugin follows the MIT license.