前言¶
用 DSH 跑智能体时,审批面板和「向你提问」面板往往出现在你切到别的窗口之后。没有声音的话,只能反复看屏幕或等任务卡住才发现。下面介绍社区插件 dsh-approval-sound(维护者 rongqingwen),在弹窗等待你操作时播放提示音,并支持按工具类型区分音色或上传本地音频。
这是什么¶
dsh-approval-sound 是 DSH 的客户端(Web)插件:当 Harness 在 Web GUI 里弹出需要你处理的对话框时立即发声提醒。两类弹窗都会触发:
- 审批面板:工具请求越权执行(允许一次 / 拒绝)
- 提问面板:助手提问、计划审核等(选项按钮、跳过 / 提交)
默认用浏览器 Web Audio 实时合成,不打包音频、不联网;也可在设置里换成本地上传的文件。插件归类为「客户端」,在 SkillHub 目录 与 GitHub 仓库 均可查看说明(社区目录与 DeepSeek / 幻方无官方从属关系)。
环境要求¶
- DSH 0.1.5 或更高(
package.json中引擎为>=0.1.5-rc.1),运行在 Web 端或桌面端。 - 无 headless、ACP、SDK 等没有 Web 层的 profile——提示音依赖页面播放。
- 支持 Web Audio 的现代浏览器。
核心功能¶
弹窗即响¶
有对话框在等你点击时播放提示音,适合长时间跑任务、窗口不在前台时使用。
音色与「接缝」区分¶
除预设(急促双响、清脆铃声、钟声、水滴、静音)外,内置逻辑会按弹窗来源的工具名或短标签选用不同音高,便于不看屏幕区分场景(从低到高大致为:提问 / 计划审核 → 命令行类 → 文件读写类 → 网络请求 → 子代理 / 团队 → 其它工具)。详见 README 中的对照表。
音量与重复¶
- 音量默认 100%,可调 0–150%;输出经限幅器,加大主要是响度而非破音。
- 重复次数 1–6、重复间隔(默认 900ms)、最短间隔(默认 600ms,避免连续弹窗叠成噪音)。
- 可选 仅在窗口不在前台时提醒(开启时,窗口在前台盯着等弹窗不会响)。
自定义音频¶
设置页可上传 / 更换 / 移除本地提示音:支持 wav、mp3、ogg、m4a、aac、flac、webm,最大 8 MiB;文件只存本机;扩展名与文件头不一致会被拒绝;解码失败时回落内置音色并在设置页说明原因。
隐私与数据¶
插件仅读取弹窗的工具名或短标签用于选音。提问正文不会送到浏览器,不写会话数据,不改变弹窗判定。配置在 ~/.dsh/dsh-approval-sound/config.json,自定义文件为同目录下 custom.<扩展名>。
安装与启用¶
装完后必须重启 dsh web 或桌面端:宿主半区只在启动时加载插件,刷新页面不能替代重启。插件零构建、零运行时依赖,host.js 与 client.js 可直接加载。
方式一:从 Releases 下载 dsh-approval-sound-<版本>.tgz,在桌面端 设置 → 插件 → 安装 中选择。
方式二:从 GitHub 安装(需本机可访问 github.com;建议带 tag 锁定版本):
# 桌面端(推荐带版本 tag)
dsh plugin --profile desktop add github:rongqingwen/dsh-approval-sound#v0.4.1
# 跟随 main 最新代码(不带 tag)
dsh plugin --profile desktop add github:rongqingwen/dsh-approval-sound
# CLI 使用 web profile 时,将 desktop 换成 web
dsh plugin --profile web add github:rongqingwen/dsh-approval-sound#v0.4.1
方式三:本地目录或本地包:
dsh plugin --profile desktop add link:<插件目录>
dsh plugin --profile desktop add <dsh-approval-sound-版本.tgz 的路径>
本地目录须使用 link: 前缀,否则会被当作 npm 包名。
方式四(手工):将插件目录拷入 profile 的 node_modules/dsh-approval-sound/,在 ~/.dsh/profiles/<profile>/package.json 的 dsh.profile.bundles 中加入 dsh-approval-sound,再重启。
典型用法与配置¶
- 重启 DSH Web / 桌面端后,打开 设置 → 权限提示音。
- 按需开关「审批弹窗出现时播放提示音」、选音色、调音量与重复参数;改动即时生效并保存。
- 点 试听 确认音量,并解除浏览器自动播放限制(首次交互前页面不能出声;若被拦截,试听一次即可)。
| 配置项 | 默认 | 说明 |
|---|---|---|
| 审批弹窗出现时播放提示音 | 开 | 总开关 |
| 音色 | 急促双响 | 含自定义音频、静音等 |
| 音量 | 100% | 0–150% |
| 重复次数 | 1 | 最多 6 |
| 重复间隔 | 900ms | 两次重复之间 |
| 最短间隔 | 600ms | 两次提醒间强制静默 |
| 仅在窗口不在前台时提醒 | 关 | 前台时不响 |
排查时可对照 README:完全没声音先看「仅后台提醒」与音量;试听有、弹窗无则确认是否点过试听或需刷新 / 重启;改设置无效可刷新页面。
适用场景与注意¶
适合经常在 DSH Web / 桌面端跑任务、又需要离开屏幕的开发者。插件随当前 dsh 进程与 profile 加载,安装前建议浏览 源码与 MIT 许可证,确认符合你的安全与合规要求。
无 Web GUI 的运行方式无法使用本插件。网络受限环境从 GitHub 安装时需自行解决访问问题。
结尾¶
dsh-approval-sound 把「有人在等你点对话框」变成可听见的信号,并可选按工具类型或自定义文件区分提醒。当前 README 发布示例版本为 v0.4.1。