dsh-windows-notifications
No description
- Stars
- 1
- Language
- TypeScript
- Created
- Aug 23, 2026
- Updated
- Aug 23, 2026
Introduction
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
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.