Introduction¶
When developing web plugins in DSH, task status and button operations are usually confirmed only through visual feedback. dsh-plugin-uisfx is a dsh plugin designed to integrate uisfx’s semantic UI sound effects into DeepSeek Harness. It is maintained by XanthanL and uses the MIT license. Its core goal is focused: playing semantic sound effects by scenario, and allowing listening and adjustment in the settings page.
What is this¶
dsh-plugin-uisfx can be understood as a layer of sound feedback plugin for the DSH web environment. It does not embed audio files but instead integrates the uisfx 0.4.0 Web Audio synthesis runtime to provide UI sound effects through synthesized audio.
It targets the “everything is a plugin” usage pattern within the DSH plugin ecosystem: you don’t need to modify the DSH main interface to supplement sound cues for task statuses and button clicks.
Core Features¶
The following capabilities have been verified.
- Global sound pack: Provides 12 uisfx packs, allowing for an overall switch in sound effect style.
- Scenario mapping: Provides 11 scenarios, each mapped to a cue with default configuration.
- Instant preview: Provides a Preview button next to each scenario in settings.
- Task feedback: Covers Start / success / failure / pending states for the current session.
- Button feedback: Automatically recognizes button types such as send / delete / toggle / link / primary / normal.
- Persistence: Settings are written to the Host
settings.yamlwith the namespacedsh-plugin-uisfx. - Service API: Provides
ctx.uisfxfor third-party dsh plugins to call.
Installation & Enablement¶
First, confirm your runtime environment. This plugin requires DSH 0.1.0-rc.6 and declares node >=20 in package.json.
Add the plugin under the DSH web profile:
dsh plugin --profile web add dsh-plugin-uisfx
If you want to pin it to a specific version, you can use the example command:
dsh plugin --profile web add dsh-plugin-uisfx@0.1.0
After installation, navigate to:
Settings → Sound Effects
Here you can adjust volume, select a pack, and listen to scenarios.
Note: The plugin writes to the dsh-plugin-uisfx namespace in the Host settings.yaml. Since the plugin code runs in an environment accessible by the current DSH process and has the corresponding permissions of the current dsh process, it is recommended to review the source code and license before installation. The license for this plugin is MIT; the embedded uisfx runtime is also MIT, copyright Yuki Capital.
Typical Usage¶
The settings page is suitable for manual listening. For other dsh plugins, the service API can be called via ctx.uisfx:
ctx.uisfx.play('task.success')
ctx.uisfx.playCue('achievement')
ctx.uisfx.preview('success')
ctx.uisfx.setPack('studio')
ctx.uisfx.setVolume(0.5)
These calls are used respectively for:
- Playing the sound corresponding to a scenario, e.g.,
task.success. - Playing a cue, e.g.,
achievement. - Previewing a specific cue, e.g.,
success. - Switching the global sound pack, e.g.,
studio. - Adjusting the volume, e.g.,
0.5.
Applicable Scenarios & Notes¶
Suitable for the following situations:
- You use DSH web and want sound cues when tasks start, succeed, fail, or are pending.
- You want lightweight feedback on button clicks instead of relying entirely on visual changes.
- You are developing other dsh plugins and want to reuse the same
ctx.uisfxsound API.
Note before use:
- It only covers task sounds for the current session.
- The browser may block autoplay: you need to click once on the page.
- It embeds the uisfx 0.4.0 Web Audio synthesis runtime and does not carry audio files.
- Please confirm you trust the plugin source code before installation, as the plugin runs with the permissions of the current DSH process.
References¶
GitHub:
https://github.com/XanthanL/dsh-plugin-uisfx
Plugin Directory Page (Independent site, not equivalent to the official app store):