Introduction¶
For users of the DeepSeek Harness (DSH) web interface, if they miss status updates such as task completion, turn completion, task failure, waiting for approval, or Agent questions, they need to go back and check the interface. dsh-sounds is a DSH plugin (bundle) that uses sounds synthesized in real-time in the browser to alert users to these status changes. Unlike connecting to external notification tools, it handles events and plays sounds directly within the DSH plugin bundle.
What is it¶
dsh-sounds is maintained by DNNCOVO. The repository is named dsh-sounds, the package name declared in package.json is harness-sounds, the version is 0.1.0, and the license is MIT.
It subscribes to official service events and pushes them via a separate SSE endpoint /harness-sounds/events. The browser side uses EventSource to subscribe and plays alert sounds using Web Audio oscillators.
Verified information states that it “runs independently and does not depend on any other plugins” and also “does not affect DeepSeek Harness itself”. The sounds are synthesized in real-time in the browser; there are no audio files.
Trigger Events and Sound Effects¶
Below are the verified trigger scenarios and corresponding sound effects.
| Scenario | Sound Effect | Trigger Event |
|---|---|---|
| Task Complete / Turn Complete | celebrate (ascending triplet at 523/659/784Hz) |
jobs.onJobDone completed, turn/end |
| Task Failed / Request Error | error (170Hz square wave) |
jobs.onJobDone failed, agent/request-error |
| Waiting for Approval | wait (880Hz short tone) |
approval/asked |
| Agent Question Selection | wait (880Hz short tone) |
tool/call (ask_user_question) |
These alert sounds are not pre-recorded audio files but are synthesized in real-time in the browser using Web Audio oscillators.
How it Works¶
Verified information provides the following operation chain:
Host (Node.js)
jobs.onJobDone / agent/request-error / session/event
-> SSE broadcast /harness-sounds/events
Client (browser)
EventSource subscription -> Web Audio synthesis -> Playback
Where:
- The Host file is located at
.dsh-plugin/index.mjs, directly subscribing to official service events and performing SSE broadcasting; - The Client file is located at
.dsh-plugin/client.js, responsible forEventSourcesubscription andWeb Audiooscillator synthesis.
Browser autoplay policies require an initial interaction with the page. The documentation states that the first pointerdown or keydown unlocks the AudioContext. Therefore, after enabling, refresh the page and click anywhere on the page once to unlock audio.
Installation and Enablement¶
Verified information does not provide a single official installation command, only installation steps and package.json configuration. The following explains the steps found in the documentation.
-
Place this package in the
node_modules/of the web profile, or in any bundle resolution location. -
Register dependencies and bundles in the profile’s
package.json:
{
"dependencies": {
"harness-sounds": "file:./node_modules/harness-sounds"
},
"dsh": {
"profile": {
"bundles": [
"@deepseek-ai/dsh-base",
"@deepseek-ai/dsh-web-app",
"harness-sounds"
]
}
}
}
-
Restart
dsh web. -
Refresh the page and click anywhere on the page once to unlock audio.
Note: The documentation shows the plugin name appearing as both dsh-sounds (repository/README title) and harness-sounds (package.json name). In the dependencies and bundles examples above, harness-sounds is used.
Listening and Building¶
The documentation mentions that sound effects can be tested via index.html or the GitHub Pages homepage.
If you need to build the client yourself, you can use the commands provided below:
npx esbuild .dsh-plugin/client/index.mjs --bundle --format=cjs --platform=browser --target=es2020 --outfile=.dsh-plugin/client-bundle.js
node wrap-client.mjs .dsh-plugin/client-bundle.js .dsh-plugin/client.js harness-sounds
The first command uses esbuild to bundle the client source code into a CJS bundle for the browser; the second command uses wrap-client.mjs to wrap it into a .dsh-plugin/client.js that is loadable by the DSH bundle.
Applicable Scenarios and Notes¶
dsh-sounds is suitable for users who want to be aware of task status on the DSH Web interface using lightweight alert sounds, for example:
- Not wanting to frequently switch back to the page to confirm task completion;
- Wanting immediate reminders when a task fails or a request errors out;
- Wanting to reduce missed notifications when waiting for approval or Agent questions.
It is recommended to check the source code and license before installation. This plugin loads in the DSH plugin execution path and runs with the current dsh process permissions on the Host side, so you need to confirm the source is trustworthy. The license provided in the verified information is MIT © 2026.
Conclusion¶
The core value of dsh-sounds lies in: using short alert sounds synthesized in real-time in the browser to make DSH’s task completion, task failure, waiting for approval, and Agent question states more obvious, while not introducing audio file dependencies.
- GitHub Repository: https://github.com/DNNCOVO/dsh-sounds
- Community Directory Page: The verified information does not provide a clear URL, so this article does not invent a link.