前言¶
对于使用 DeepSeek Harness(DSH)Web 端的人来说,任务完成、回合完成、任务失败、等待批准、Agent 提问这些状态如果错过,需要回查界面。dsh-sounds 是一个 DSH 插件(bundle),用浏览器现场合成的提示音提醒这些状态变化。相比在外部另接通知工具,它直接在 DSH 插件 bundle 中处理事件和播放声音。
这是什么¶
dsh-sounds 由 DNNCOVO 维护,仓库名为 dsh-sounds,package.json 中声明的包名为 harness-sounds,版本为 0.1.0,许可证为 MIT。
它订阅官方服务事件,并通过独立 SSE 端点 /harness-sounds/events 推送事件。浏览器端使用 EventSource 订阅,并通过 Web Audio 振荡器合成播放提示音。
已核实资料中说明其“独立运行,不依赖任何其他插件”,也“不影响 DeepSeek Harness 本身”。声音由浏览器现场合成,没有音频文件。
触发事件与音效¶
下面是已核实的触发场景和对应音效。
| 场景 | 音效 | 触发事件 |
|---|---|---|
| 任务完成 / 回合完成 | celebrate(523/659/784Hz 上行三连音) |
jobs.onJobDone completed、turn/end |
| 任务失败 / 请求出错 | error(170Hz 方波) |
jobs.onJobDone failed、agent/request-error |
| 等待批准 | wait(880Hz 短音) |
approval/asked |
| Agent 提问选择 | wait(880Hz 短音) |
tool/call(ask_user_question) |
这些提示音不是预录音频文件,而是浏览器端用 Web Audio 振荡器现场合成。
运行方式¶
已核实资料给出如下运行链路:
Host (Node.js)
jobs.onJobDone / agent/request-error / session/event
-> SSE 广播 /harness-sounds/events
Client (browser)
EventSource 订阅 -> Web Audio 合成 -> 播放
其中:
- Host 文件位于
.dsh-plugin/index.mjs,直接订阅官方服务事件并做 SSE 推送; - Client 文件位于
.dsh-plugin/client.js,负责EventSource订阅与Web Audio振荡器合成。
浏览器自动播放策略要求先与页面产生一次交互。资料写明:首次 pointerdown/keydown 会解锁 AudioContext。因此启用后,刷新页面并点击页面任意位置一次即可解锁音频。
安装与启用¶
已核实资料未给出单条官方安装命令,只给出安装步骤和 package.json 配置。下面按资料中的步骤说明。
1、把本包放到 web profile 的 node_modules/,或放到任意 bundle 解析位置。
2、在 profile 的 package.json 中注册依赖和 bundle:
{
"dependencies": {
"harness-sounds": "file:./node_modules/harness-sounds"
},
"dsh": {
"profile": {
"bundles": [
"@deepseek-ai/dsh-base",
"@deepseek-ai/dsh-web-app",
"harness-sounds"
]
}
}
}
3、重启 dsh web。
4、刷新页面,并点击页面任意位置一次,以解锁音频。
注意:资料中插件名称同时出现 dsh-sounds(仓库/README 标题)和 harness-sounds(package.json 名称)。在上面示例的 dependencies 和 bundles 中使用的是 harness-sounds。
试听与构建¶
资料提到可以通过 index.html / GitHub Pages 首页试听音效。
如果需要自行构建 client,可使用下面给出的命令:
npx esbuild .dsh-plugin/client/index.mjs --bundle --format=cjs --platform=browser --target=es2020 --outfile=.dsh-plugin/client-bundle.js
node wrap-client.mjs .dsh-plugin/client-bundle.js .dsh-plugin/client.js harness-sounds
第一条命令用 esbuild 将 client 源码打包为浏览器端的 CJS bundle;第二条命令用 wrap-client.mjs 将其包装为 DSH bundle 可加载的 .dsh-plugin/client.js。
适用场景与注意¶
dsh-sounds 适合希望在 DSH Web 端用轻量提示音感知任务状态的用户,例如:
- 任务完成后不希望频繁切回页面确认;
- 任务失败或请求出错时希望得到即时提醒;
- 等待批准或 Agent 提问时希望减少遗漏。
安装前建议先检查源码与许可证。该插件会在 DSH 插件运行路径中加载,Host 侧以当前 dsh 进程权限运行,因此需要确认来源可信。已核实资料给出的许可证为 MIT © 2026。
结尾¶
dsh-sounds 的核心价值在于:用浏览器现场合成的简短提示音,把 DSH 的任务完成、任务失败、等待批准和 Agent 提问状态变得更明显,同时不引入音频文件依赖。
- GitHub 仓库:https://github.com/DNNCOVO/dsh-sounds
- 社区目录页:已核实资料中未给出明确 URL,本文不编造链接。