dsh-audio-cue
tangjx2007/dsh-audio-cue
DeepSeek Harness 音效提示:智能体需要确认、回合完成、后台任务结束或失败时播放短提示音,内置 5 套音色、逐事件开关与音量、免打扰规则,配置存放在宿主设置文档。
安装
dsh plugin --profile web add github:tangjx2007/dsh-audio-cueREADME
dsh-audio-cue
English | 中文
DeepSeek Harness 的音效提示插件:智能体需要你确认、这一轮跑完、后台任务结束、或者出错时, 用一声短音告诉你,不必一直盯着屏幕。
音效由 Web Audio 实时合成,包内不含任何音频文件;配置持久化在 DSH 的宿主设置文档里, 换浏览器、重开 DSH 都还在。
收录 ≠ 背书。插件是第三方代码,请只安装你信任的来源。本插件不发起任何网络请求, 不读写设置文档以外的文件,日志里不输出你的消息内容或文件路径。
它做什么
五类事件,各自独立开关、独立音量:
| 事件 | 什么时候响 | 默认 |
|---|---|---|
| 等待审批 | 智能体请求越权执行工具时 | 开,音量 80% |
| 等待回答 | 智能体向你提问、等你选一个答案时 | 开,音量 80% |
| 任务完成 | 当前对话的这一轮回答结束 | 开,音量 70% |
| 后台任务结束 | 其它会话(后台任务、子代理)结束运行 | 开,音量 70% |
| 任务失败 | 会话运行出错、需要你介入 | 开,音量 90% |
| 提权授权 | 审批请求被判定为沙箱提权 | 关(会和「等待审批」重复) |
五套内置音色,同一事件音型相同、音色不同:marimba(木质,默认)、glass(玻璃)、
pulse(电子)、arcade(8-bit)、minimal(极简轻点)。
免打扰:
- 仅窗口失焦时提示(默认开):你正看着窗口就不出声。
- 静音时段(默认关,22:00–08:00):时段内只有「任务完成」和「后台任务结束」静音; 等待审批、提问、失败提示不受静音时段影响——这些是必须让你知道的。
安装
dsh plugin --profile desktop add github:tangjx2007/dsh-audio-cue
把 desktop 换成你的 profile 名(用 dsh web 的话通常是 web)。装完刷新页面即可,
宿主设置分节需要重启一次 dsh。
仓库已提交构建产物(
lib/),所以从 git 安装不需要执行任何构建脚本。
设置
设置 → 插件 → 插件配置 → 音效提示:总开关、音色方案、总音量、每个事件的开关/音量/试听、 免打扰规则、恢复默认。中英双语,跟随界面语言。
想快速确认「为什么没响」,在对话里发:
/audio-cue
它会回一张表,逐个事件告诉你当前会不会响;/audio-cue test 直接播放一次审批音,
用来确认音频通路本身是通的。
与同类插件的差别
| dsh-audio-cue | 完成音效类插件(如 dsh-turn-chime、dsh-sound-cue) | |
|---|---|---|
| 事件覆盖 | 5 类(含后台任务、失败、提权) | 通常 1–2 类 |
| 音色 | 5 套方案,逐事件试听 | 固定一两个音 |
| 配置粒度 | 逐事件开关 + 逐事件音量 + 总音量 | 总开关 + 总音量 |
| 配置存放 | 宿主设置文档($DSH_HOME/settings.yaml) | 浏览器本地 |
| 音频资源 | 无(运行时合成) | 视实现而定 |
已知限制
- 断线期间结束的任务不会补响。 插件的完成信号来自宿主转发的会话状态事件,它是 尽力投递、断线不重放的单向通知。页面断开那段时间里结束的任务,回来后不会补一声。
- 进度类提示只表示「它停了」。 客户端拿不到「回合正常结束」与「你按了中断」的区分, 所以主动中断也会响「任务完成」。
- 浏览器自动播放策略:在你首次与页面交互之前,浏览器不允许出声。插件不会报错, 会在你第一次点击/按键后自动恢复。
- 提权分类靠理由文本。 审批事件只带工具名和理由文本(不含工具参数)。DSH 唯一的提权发出点是
dsh-sandbox,它把理由固定写成escalate sandbox to <mode>: <justification>——插件匹配这个 格式来判定提权,因此真提权不会漏。格式不匹配时一律归为「等待审批」(宁可标错音效,也不漏事件)。 该项默认关闭。
命令行参考
| 参数 | 效果 |
|---|---|
/audio-cue | 输出当前配置与逐事件的抑制原因 |
/audio-cue test | 强制播放一次「等待审批」音,绕过所有抑制规则 |
上架信息
- 市场条目:
data/plugins/tangjx2007__dsh-audio-cue.yml(提交到 awesome-dsh-plugin 仓库;本仓库内是草稿) - 分类:
notify - 截图:仓库根的
screenshots.json声明 1–8 张图,路径相对该文件 - 许可:MIT
开发
npm run build # 生成 lib/(自研打包器,无第三方构建依赖)
npm run test # node --test
npm run verify # 构建一致性 + 全量断言
规范与设计文档:
- 需求权威:
docs/spec/audio-cue.md - 设计:
docs/spec/audio-cue-design.md - 任务图与执行记录:
docs/tasks/
src/ 分成两层:config/dnd/classify/events/cue-spec 是零浏览器依赖的纯逻辑(Node 里直接单测),
synth/player/settings-ui/client 是需要 Web Audio / DOM / Cordis 的胶水层。