Introduction¶
DeepSeek Harness (DSH) Agent tasks typically run on remote servers or in terminal environments such as Kali. When developers access the system through an SSH tunnel or a remote browser session, they cannot hear the sounds played by the local server’s audio device. This makes it difficult to notice during long-running tasks whether the Agent is stuck, finished, or has encountered an error.
The dsh-dudulu plugin moves all “detection + audible notification” logic to the browser side. It listens to DSH session state edges and plays a notification directly in the opened web page, allowing users to stay aware of Agent progress at all times.
Core Features¶
-
Trigger时机
- Task completed.
- Task paused (awaiting approval / question).
- Task error.
-
Detection and playback
- All processing is completed in the browser, independent of the machine and operating system where the DSH server runs.
- Uses the
sessions storefrom@deepseek-ai/dsh-client-connectionto directly listen for state edges (pendingInteraction,running), which is more accurate than inferring fromturn/end.
-
Audio support
- The default notification sound is built-in
dudulu01.mp3(Base64 embedded, no external hosting required). - If audio decoding fails, it automatically falls back to a built-in synthesized tone “dudulu” (three short ascending tones, generated purely by oscillators).
- The default notification sound is built-in
-
Settings panel
- Master switch.
- Independent switches for three notification types: completion, pause, and error.
- Volume slider (0–100, with real-time preview support).
- Custom notification audio upload (with support for restoring the default and clearing it).
Installation and Enablement¶
Make sure you are using DeepSeek Harness’s web profile.
- Run the installation command:
dsh plugin --profile web add github:Cmjingahaha/dsh-dudulu
- Restart the
dsh webservice. - Open the browser settings page and locate the dudulu · Beep Once configuration item.
Configuration and Usage¶
-
Unlock auto-play
Browsers usually block audio auto-play. On first use, perform a click or key press on the web page to unlockAudioContext. -
Adjust parameters
In the settings panel, adjust the master switch, individual notification switches, and volume as needed. Custom audio files smaller than 1MB can be uploaded. -
Save preferences
Settings are stored in the browser’slocalStorageunder the keydsh-dudulu.v1, so they remain valid after refreshing the page or restarting.
Limitations and Troubleshooting¶
-
Subagents do not make sound
Currently, the plugin only plays notification sounds for main Agent turn events; sounds for subagent operations are excluded. -
The web page must remain open
The plugin relies on the browser environment. Once the web page is closed, the audible notification feature stops working. -
Hard refresh
After modifying plugin source code or configuration, be sure to perform a hard refresh in the browser (Ctrl + Shift + R) to clear the front-end cache. -
Common error troubleshooting
- If the “dudulu · Beep Once” entry does not appear in the settings panel, check the browser console (F12) for a
failed to apply loader entry (dsh-dudulu)error. - Check whether the plugin symbolic link exists:
~/.dsh/profiles/web/node_modules/dsh-dudulu → ~/.dsh/plugins-local/dsh-dudulu.
- If the “dudulu · Beep Once” entry does not appear in the settings panel, check the browser console (F12) for a
Summary¶
dsh-dudulu addresses the pain point of inaudible status updates in remote development scenarios. Through a lightweight browser-side implementation, it provides a clear status feedback mechanism for DSH Agent tasks. All configuration is stored locally in the browser and requires no additional server-side setup.