Introduction¶
When running tasks in dsh web, there are several states waiting for your attention: approval requests, questions asking for input, or a turn that has finished. If you aren’t constantly watching the tab, these states are easily missed.
dsh-audio-alert does something specific: it makes the browser play a sound when the above “needs your attention” events occur. It does not change the task execution logic; it simply turns waiting, questioning, and completion states into audible events.
What is it¶
ellelkktrraaa/dsh-audio-alert is a DSH plugin with the package name @deepseek-ai/dsh-client-audio-alert and an MIT license.
It targets the browser side of dsh web and provides sound alerts for the following three types of events:
- approval request
- ask-user question
- finished turn
Alert sounds can be configured individually for each event type via the audio-alert setting; if a sound field is left empty, the built-in synthesized voice is used.
Core Features¶
Below are the verified configuration options and capabilities it provides.
- Play alert sounds by event type
The plugin can set sounds for the three types of events separately:
approvalSoundquestionSounddoneSound
- Configure via
audio-alertsetting
Available configuration fields include:
enabledvolumeapprovalSoundquestionSounddoneSounddebug
- Sound fields support multiple sources
Sound fields can accept:
- data URI
http(s)/ blob URL- root-relative URL
- local filesystem path
If a sound field is left empty, the built-in synthesized voice is used.
- Local paths are read by the machine running
dsh web
Local path files are read by the Node side on the machine running dsh web and provided to the browser via:
/audio-alert/audio/<kind>
This means the browser does not directly read the local file system.
- Debug mode
After setting:
debug: true
The plugin will log the resolved config and each playback event to the browser console and server logs.
Installation and Enablement¶
First, ensure your environment meets the following conditions:
- A
dsh webdeployment - Node
^22.19 || >=24 - pnpm
When installing the plugin, use the installation command provided by the repository:
dsh plugin --profile web add https://github.com/ellelkktrraaa/dsh-audio-alert.git
If you already have a local checkout, you can also install from a local path:
dsh plugin --profile web add C:\path\to\dsh-audio-alert
Afterwards, if you no longer need this plugin, you can remove it by package name:
dsh plugin --profile web remove @deepseek-ai/dsh-client-audio-alert
Configuration¶
Create an audio-alert configuration section in $DSH_HOME/settings.yaml, for example:
audio-alert:
enabled: true
volume: 0.8
approvalSound: "C:/sounds/approval.mp3"
questionSound: "C:/sounds/question.mp3"
doneSound: "C:/sounds/done.mp3"
debug: true
The meaning of each field is as follows:
enabled: Whether to enable the alert soundvolume: Volume levelapprovalSound: The sound for approval requestsquestionSound: The sound for ask-user questionsdoneSound: The sound for finished turnsdebug: Whether to output debug logs
When a sound field is left empty, the built-in synthesized voice is used.
Note: Values starting with / will be treated as root-relative URLs, not local file paths.
After modifying the configuration, you need to restart dsh web:
# Restart the service process you are currently using to access dsh web
# For example, restart the process where dsh web is running
Typical Usage¶
Below is a verification flow suitable for getting started.
- Enable debug logs
Set in settings.yaml:
audio-alert:
debug: true
-
Restart
dsh web -
Trigger an approval request, ask-user question, or finished turn
-
Open the browser console and check if
[audio-alert]logs appear
When normal, you can see similar logs in the console:
[audio-alert] browser half mounted
[audio-alert] scope changed: {"status":"ready","writable":true,"value":{"enabled":true,"volume":0.8,...}}
[audio-alert] alert kind: approval
Then you can check if the browser plays the corresponding sound at the same time the event occurs.
Applicable Scenarios and Considerations¶
This plugin is suitable for people using dsh web who want to receive sound alerts when tasks enter “awaiting your return” states. It is lightweight, and its main value is to pull the three types of waiting states out of the interface and turn them into a perceivable audio event.
Please pay attention to the following considerations before use.
- It is a DSH plugin; check source code and license before installing
dsh-audio-alert will be installed into the web profile as a DSH plugin. Since it runs within the current DSH environment, it is recommended to check the source code, dependencies, and license before installing. The license for this plugin is MIT.
- Custom sounds require the host API proxy to expose the
audio-alertnamespace
Custom sounds require the host API proxy allowlist to expose the audio-alert namespace. If it is not exposed, the browser may fail to read custom sounds, though the plugin may still play the built-in sound.
- Local sound files must be readable on the machine running
dsh web
Local paths must exist on the machine running dsh web and be readable. It is not directly portable to another machine.
- The
doneevent does not distinguish between end reasons
The trigger condition for done is when a session’s running status changes from true to false. It does not distinguish between completed, error, or aborted turns; it simply indicates that this round has ended.
- The first sound may be blocked by the browser’s autoplay policy
The first playback may be blocked by the browser’s autoplay policy until a user gesture has occurred on the page. You just need to click on the page once to allow playback.
- Sessions already pending or idle at load time will not have missed alerts replayed
If a session was already in pending or idle state when the plugin loaded, it will not replay missed alerts.
- If you do not see
[audio-alert]logs, suspect the cache first
If there are no [audio-alert] logs in the browser console, the browser might still be using an old client.js. You can try a hard refresh or open a new tab.
Conclusion¶
The value of dsh-audio-alert is straightforward: turning approval requests, ask-user questions, and finished turns that require human review in dsh web into browser alert sounds. It is configurable via the audio-alert setting, allows selecting sounds by event, and supports local files, URLs, and built-in sounds.
GitHub repository:
https://github.com/ellelkktrraaa/dsh-audio-alert