【工具演示】DSH 界面音效:任务跑完、失败、按钮点中,都听得见

合集 · DSH插件集 (7)

  1. 6:16
    【工具演示】一键重启 DSH:装完插件,点一下就知道生效了没有
  2. 3:59
    【工具演示】技能自动路由:50 个技能,怎么保证每次用对上那个
  3. 3:58
    【工具演示】DSH 界面音效:任务跑完、失败、按钮点中,都听得见
  4. 3:57
    【工具演示】DSH插件更新了,怎么快速发给别人装
  5. 6:34
    【DSH 插件】把一支 PV 做成默认主页与屏保:启动即接管,Esc 返回
  6. 0:24
    把 DSH 里的公式复制成能重新渲染的 TeX
  7. 1:07
    【工具演示】插件管家:把 DSH 每个插件的开销量出来
Description
这是一支图文讲解片,不是录屏演示。它讲的是:DSH 干活的时候一点声音都没有,怎么让它把任务状态和界面交互变成听得见的反馈。

【问题从哪来】
你发一条指令,然后去倒水。回来一看,它早就跑完了,你不知道等了多久;或者它中途弹了个授权请求,就在那儿干等,你同样不知道。DSH 默认几乎没有声音反馈,任务跑完、失败、按钮有没有点中,都只能靠眼睛看。声音要解决的就是这个:你不用一直看着它。

【这个插件做了什么】
两类音效,边界很清楚。
一类是交互音:按下按钮的那一刻响,按语义分——普通按钮、开关、发送、关闭、危险操作,各有各的声音;键盘回车、空格激活同样发声。
一类是任务状态音:当前会话开始跑、跑成功、跑失败,以及出现需要你处理的交互(授权请求 / 提问 / 计划复核)。
两个我特意没做的决定:不给每一次工具调用配音(一轮里几十次调用,全响就是噪音);任务音只跟当前会话(子代理和后台会话不停起停,全都响等于没有反馈)。宁可少响,也不要一直响。

【音效与音色包】
引擎是开源的 uisfx:78 个 cue × 12 个音色包,全部用 Web Audio 实时合成,一个音频文件都没有,也不发任何网络请求。默认是 zen 包——纸、木头、风铃那种质感,几乎没有攻击性的瞬态,适合长时间挂着。
挑音色包建议按使用场景挑,不是按好听挑:长时间盯屏用 zen 或 studio;要让声音明确抓住注意力用 glass;想让它有点性格用 scifi 或 mechanical;arcade 和 cinematic 在办公场景里很快会让你想关掉。

【配置】
设置里多了一个「音效」页:总开关、音量、音色包,任务音 / 按钮音 / 提醒音三个分类开关,还有 11 个情景各自挑一个 cue,旁边就是试听按钮。
配置写在一个真文件里,可以手改,改完刷新页面生效:%USERPROFILE%\.dsh\ui-sound\config.json
写错也不会全废——音量会夹进 0–1,不认识的音色包退回 zen,不认识的 cue 退回该情景的默认值。清浏览器数据不会丢配置。

【原版为什么是哑的(这段是移植说明)】
本片讲的插件不是原创,是社区插件 dsh-plugin-uisfx 在 DSH 0.2.0 上的移植版。原版声明支持 0.1.0-rc.6,在 0.2.0 上装完是哑的,原因是它读的三个接口全都消失了,而且三处失效全是静默的、不报错:
· 宿主服务 webRuntime 在 0.2.0 里不存在;
· 会话列表快照没有 current 字段(形状是 { ids, byId, phase, projectionsBySession });
· SessionSnapshot 没有 pending 字段(待处理交互在 uiSession.sessionStatus.pendingInteraction)。
修法:当前会话按列表里主视图保留的那一行推导,运行状态取该行的 running,待处理交互改读 uiSession 的 pendingInteraction,宿主半只注入 webServer。音效引擎与设置页形态原样保留,只重写了读状态那一层。

【边界照实说】
不支持导入自定义音频文件——引擎是参数化合成,没有采样播放通道。不做悬停音,长时间用会变成噪音。不做工具调用级别的逐次音效。任务音只跟当前会话,待处理提醒则对所有会话生效(它的价值就在于你没在看那个会话时提醒你)。

【安装】
git 源安装开箱可用,仓库里 lib/ 是已提交的构建产物,没有构建步骤:
dsh plugin --profile <你的 profile> add github:SOH4C4759/dsh-ui-sound

【开源与归属】
MIT 开源。内联的 uisfx 引擎版权归 Yuki Capital,移植自 dsh-plugin-uisfx(作者 XanthanL),两份上游的完整 MIT 条款都保留在 NOTICE 里,逐文件改动记录在 PROVENANCE.md。
原版那三处兼容性问题我已给上游提了 issue:
https://github.com/XanthanL/dsh-plugin-uisfx/issues/3

仓库:https://github.com/SOH4C4759/dsh-ui-sound