Preface¶
When running long-running agent tasks in DeepSeek Harness (DSH) Web, merely relying on visual cues may not be intuitive enough if the user switches to another window or runs the task in the background. dsh-sound-notify is a DSH Web plugin that plays notification sounds when specific events occur, helping users monitor unattended tasks through audio cues.
Features¶
- Two types of event sounds: A single tone plays when a turn completes, and a double tone plays when manual intervention is required (such as approval, a question, or plan review).
- Custom audio: Supports selecting a local
mp3orwavfile in the settings page. The configuration is written as a data URL into the configuration snapshot and synced to other machines along with DSH configuration. - Synthesized sound fallback: If no audio file is selected, a built-in Web Audio synthesized sound is used as a fallback.
- Visual fallback: When an event occurs, the browser tab title flashes to draw attention (for example, “🔔 Task complete”), serving as an alternative when sound is blocked by the browser.
- Background monitoring: The plugin works in both foreground and background; sound plays immediately when an event is triggered.
- Zero-build architecture: Uses a dual-half plugin architecture (host half + browser half) and requires no build step.
Installation and Enablement¶
Install command:
dsh plugin --profile web add github:Vuitier/dsh-sound-notify
After installation, you must restart the running DSH Web instance once before newly opened pages can load the plugin.
Usage¶
You can enable it through the DSH Web interface or a configuration file.
Interface¶
Open DSH Web → Settings → Notification Sounds, turn on the toggle, adjust the volume, and select the corresponding notification sound file.
Configuration file¶
Modify $DSH_HOME/settings.yaml directly (usually located at ~/.dsh/settings.yaml):
dsh-sound-notify:
enabled: true
volume: 0.6
useSynthFallback: true
Notes¶
- Configuration size: Custom audio is stored in
settings.yamlas a data URL. Larger files produce larger configuration text size (approximately 1 MBmp3≈ 1.4 MB of text), so it is recommended to use short audio files. - Browser policies: Browser autoplay policies require that the page has completed at least one user interaction before playing sound. If the plugin is silent after the first installation, click anywhere on the page.
- Restart requirement: After installation, you must restart the Web instance once for the plugin to take effect.