DSH Windows Notifications
Windows desktop notifications, notification sounds, and DSH-styled in-app notification cards for DeepSeek Harness Web. Notifications continue to appear while the DSH tab stays open and another Windows application, a minimized browser, or another browser tab is active.
Features
- Normal task-completion notifications.
- Error, cancellation, blocked, output-limit, and unexpected-interruption notifications.
- Approval, plan-review, and question notifications.
- Clicking a Windows notification focuses DSH and opens its session.
- A top-center card with the official DSH fish mark and native state dot is used while DSH is active to avoid duplicate system alerts.
- A small Web Audio chime avoids shipping audio assets.
- All event classes, sound, volume, in-app cards, and subagent alerts are configurable on the dedicated Settings → Notifications page.
- Windows notifications, in-app notifications, and sounds each have their own test action.
- Repeated test clicks replace the unfinished test of the same kind instead of accumulating; Windows tests still use fresh delivery identities to avoid silent browser suppression.
The plugin projects the durable Harness turn/end reason instead of guessing from a running-state change. Initial hydration, refresh, and reconnect establish a silent baseline so old work is never replayed as a new notification.
Install
This package targets dsh 0.1.1-rc.2. Install it from the public npm registry, then restart dsh web:
dsh plugin --profile web add @lsq64737/dsh-windows-notifications
To remove it:
dsh plugin --profile web remove @lsq64737/dsh-windows-notifications
First use
- Open DSH Web.
- Open Settings → Notifications.
- Select Allow notifications and grant the browser permission.
- Use Test Windows notification, Test in-app notification, and Test sound.
Browsers require a user gesture before requesting notification permission, so the plugin never prompts automatically during page load. A previously denied permission must be restored in the Edge or Chrome site settings.
The Windows notification and sound tests are independent, so a browser-suspended Web Audio context cannot block the desktop test. Repeated Windows or in-app tests replace their unfinished peer and restart its lifetime, while real task notifications retain arrival order. Constructor or delivery failures produce an in-app error and a windows-notifications: diagnostic in the browser console.
Limitations
- The DSH tab must remain open. The plugin cannot run after the tab or browser is closed.
- Windows notifications require an origin the browser recognizes as secure; otherwise the Notification API may be unavailable.
- Windows controls the system notification frame, placement, and duration. The plugin supplies DSH content and icon; in-app cards stay centered at the top and reuse the official DSH fish component, native state dots, and floating-surface design tokens with light/dark theme support.
- Windows Do Not Disturb and browser site permissions remain authoritative.
- A browser may freeze a long-unused background tab despite an active DSH connection.
Development
npm run typecheck
npm test
npm run build
The public npm package's repository metadata points to this repository so plugin lists and installers can verify the package-to-source relationship.
Notification test request/display events and operational failures use the windows-notifications: prefix in Harness logs or the browser console. The package is split into Host projection/settings, transition detection, browser adapters, policy control, and presentation modules.
No comments yet. Be the first to write one.