前言¶
在 DSH 里做 web 插件时,任务状态和按钮操作通常只能靠界面视觉反馈来确认。dsh-plugin-uisfx 是一个 dsh plugin,用来把 uisfx 的 semantic UI sound effects 接入 DeepSeek Harness。它由 XanthanL 维护,采用 MIT 许可,核心目标比较集中:按场景播放语义化音效,并在设置页里试听和调整。
这是什么¶
dsh-plugin-uisfx 可以理解为 DSH web 场景下的一层声音反馈插件。它不内置音频文件,而是嵌入 uisfx 0.4.0 Web Audio synthesis runtime,用合成音频的方式提供 UI 音效。
它面向的是 DSH 插件生态里“一切皆插件”的使用方式:你不需要修改 DSH 主界面,也可以给任务状态和按钮点击补充声音提示。
核心功能¶
下面几项是已核实的能力。
- Global sound pack:提供 12 个 uisfx packs,可整体切换音效风格。
- Scenario mapping:提供 11 个 scenario,每个 scenario 映射到一个 cue,并带有默认配置。
- Instant preview:在设置的每个 scenario 旁边提供 Preview 按钮。
- Task feedback:覆盖当前会话的 Start / success / failure / pending 状态。
- Button feedback:自动识别 send / delete / toggle / link / primary / normal 等按钮类型。
- Persistence:设置写入 Host
settings.yaml,namespace 为dsh-plugin-uisfx。 - Service API:提供
ctx.uisfx,供第三方 dsh 插件调用。
安装与启用¶
先确认运行环境。该插件要求 dsh 0.1.0-rc.6,并且 package.json 声明 node >=20。
在 DSH web profile 下添加插件:
dsh plugin --profile web add dsh-plugin-uisfx
如果要固定到某个版本,可使用示例命令:
dsh plugin --profile web add dsh-plugin-uisfx@0.1.0
安装后进入:
Settings → Sound Effects
在这里可以调整 volume、选择 pack,并试听 scenario。
注意:插件会写入 Host settings.yaml 的 dsh-plugin-uisfx namespace。由于插件代码运行在当前 DSH 进程可访问的环境中,拥有当前 dsh 进程相应权限,安装前建议先查看源码和许可证。该插件许可证为 MIT;其嵌入的 uisfx runtime 也是 MIT,copyright Yuki Capital。
典型用法¶
设置页适合做手动试听。对于其他 dsh 插件,可以通过 ctx.uisfx 调用 service API:
ctx.uisfx.play('task.success')
ctx.uisfx.playCue('achievement')
ctx.uisfx.preview('success')
ctx.uisfx.setPack('studio')
ctx.uisfx.setVolume(0.5)
这些调用分别用于:
- 播放一个 scenario 对应的声音,例如
task.success。 - 播放一个 cue,例如
achievement。 - 试听某个 cue,例如
success。 - 切换全局 sound pack,例如
studio。 - 调整 volume,例如
0.5。
适用场景与注意¶
适合以下情况:
- 你使用 DSH web,希望任务开始、成功、失败、待处理时有声音提示。
- 你希望按钮点击有轻量反馈,而不是完全依赖视觉变化。
- 你正在开发其他 dsh 插件,并想复用同一套
ctx.uisfx声音 API。
使用前需要注意:
- 只覆盖当前会话的 task sounds。
- 浏览器可能阻止 autoplay:需要在页面上点击一次。
- 它嵌入的是 uisfx 0.4.0 Web Audio synthesis runtime,不携带音频文件。
- 安装前请确认你信任该插件源码,因为插件会以当前 DSH 进程权限运行。
参考链接¶
GitHub:
https://github.com/XanthanL/dsh-plugin-uisfx
插件目录页(独立站点,不等同于官方应用商店):