When developing or debugging with DeepSeek Harness Web, status changes can easily be missed during long-running tasks or scenarios that require manual intervention. The dsh-notifications plugin uses native browser capabilities to provide desktop notifications and alert sounds, ensuring important events are not overlooked.
What It Is¶
This is a DSH client plugin maintained by dat-lequoc. It runs directly in the browser and supports access via SSH forwarding (for example, http://127.0.0.1:3084/ forwarded to server port 3080). It does not depend on any external notification service, audio downloads, or model tools.
The plugin listens for main-thread state changes—such as successful completion, cancellation, and failure—as well as events such as pending questions, approvals, and review plans, and then triggers the corresponding notification. It also provides a visual indicator on the browser tab and automatically focuses the DSH window when a notification is clicked.
Core Features¶
- Desktop notifications and alert sounds: Supports browser desktop notifications and a two-tone alert sound.
- No external dependencies: Fully implemented on the browser side, with no additional services required.
- Event-triggered notifications: Monitors main-thread states such as stopped, pending question, approval, and review plan. Each event triggers one notification. Initial idle history and reconnection snapshots do not trigger notifications.
- Tab indicator: When an event occurs, a red dot appears on the browser tab icon. Returning to the page, focusing it, or interacting with the page clears the red dot.
- Automatic focus and navigation: Clicking a desktop notification automatically focuses the DSH window and opens the corresponding thread.
- Multi-tab logic: Among multiple DSH tabs under the same origin, one tab is designated as the notification delivery tab. If that tab is closed, another tab takes over automatically.
Installation and Activation¶
Use the official installation command to add the plugin to the Web configuration file:
dsh plugin --profile web add github:dat-lequoc/dsh-notifications
dsh --profile web
When loading the DSH Web interface for the first time, click Enable notifications, and then click Allow in the browser prompt. This step not only enables notifications but also unlocks alert sounds and sends one test notification.
Typical Usage¶
- Test the functionality: Navigate to Settings → General → Notifications, click the test button, and verify that the alert sound and desktop notification are delivered successfully.
- Keep a tab open: Because of the multi-tab ownership logic, it is recommended to keep one DSH tab open and active to ensure notifications are delivered properly.
Use Cases and Considerations¶
- Use cases: Sessions where DSH needs to run in the background for a long time; scenarios where approvals or pending questions need timely responses.
- Considerations:
- Alert sounds require user interaction after the page’s initial load, such as clicking the page or using the test button, before audio is unlocked.
- Alert sounds require the tab owning notification delivery to have audio unlocked.
- Browser or operating system notification settings and Do Not Disturb mode may affect delivery.
- Preferences are scoped to the current browser and origin. If the SSH forwarding port changes, authorization must be granted again.
- Browser support for notification visibility varies. Push notifications for closed tabs and mobile Service Worker notifications are not supported by this plugin.
Summary¶
This plugin uses native browser APIs to provide immediate feedback, addressing the issue of delayed status awareness when DSH Web runs in the background. For more details, see the GitHub repository.