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.yaml with the namespace dsh-plugin-uisfx.
  • Service API: Provides ctx.uisfx for 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.uisfx sound 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):

https://www.skillhub.cn/plugins/XanthanL/dsh-plugin-uisfx