Multi-channel notification plugin for DeepSeek Harness (DSH) — in-page toasts, PWA system notifications, and browser notifications with synthesized sounds.
Features
Three notification channels, auto-selected by window visibility:
In-page toast — when the window is focused and visible
PWA system notification — when the window is in the background and PWA is available
Browser notification — fallback when the window is in the background and no PWA
Synthesized sounds — Web Audio API tones for each notification severity (chime for success, gentle pulse for warning, etc.), no audio files
Granular event toggles — control each event type independently:
Task complete
Subagent complete
Approval request
User question
Plan review request
Agent error
Background job complete
Per-channel toggles — enable/disable in-page, PWA, or browser notifications
The engine subscribes to the DSH session list snapshot, detects state transitions (running → idle, pending interactions), and dispatches notifications through the appropriate channel based on window visibility.
Development
Prerequisites
Node.js 18+
A DSH profile (any)
Setup
git clone https://github.com/john-walks-slow/dsh-hybrid-notify.git
cd dsh-hybrid-notify
npm install
Build
node build.mjs
Builds the client bundle and the host entry, then deploys to the web profile's node_modules.