dsh-alert-sound
キュレーションリスト掲載メンテナンス: 活発machine-126/dsh-alert-sound
Play distinct sounds or optional speech when DSH needs attention or finishes a reply.
$ dsh plugin add dsh-alert-sound12
スター
2
フォーク
JavaScript
言語
MIT
ライセンス
2026-08-23
作成日
2026-10-21
最終プッシュ
README
dsh-alert-sound
为什么需要它
DSH 跑一个任务经常要几分钟到几十分钟。人在切窗口、在开会、在写别的东西的时候,最怕的不是慢,而是它已经停下来等你处理了,而你不知道——审批卡在弹窗里、提问悬着没人答,整条链就这么停着。
这个插件把「该你了」变成声音:每类事件一个不同的音色,或者直接念出卡住的原因。你可以去干别的,听到了再回来。
亮点
- 五类提醒,音色各异:需要审批 / 需要回答 / 输出完成 / 发生错误,外加实验性的「卡住」。
- 能念出具体内容:审批念工具名与原因,提问念问题原文;「输出完成」还能念出最后一条回复(需打开「朗读输出」)。
- 后台也响:切走标签页、窗口最小化都照常提醒。
- 不会静默失败:浏览器语音合成丢句时,自动改播那一类的提示音。
- 重复提醒直到处理:审批 / 提问没处理,就按你设的间隔再响一次。
- 完全不联网:不发起任何网络请求,所有处理都在浏览器里完成。
安装
推荐 npm(预构建、免构建授权):
dsh plugin --profile web add @machine-126/dsh-alert-sound
把
web换成你自己的 profile 名——桌面版通常是desktop。装之前可以用dsh plugin --profile <名字> list确认。
也可以从 GitHub 装(纯 JS、无构建):
dsh plugin --profile web add github:Machine-126/dsh-alert-sound
或从本地目录装(路径必须是绝对路径,会装成 link: 链接):
dsh plugin --profile web add D:\path\to\dsh-alert-sound
装完重启 dsh(桌面版里新装的插件要重启应用才会加载),然后打开 设置 → 提醒音 就能调了。
自己改代码的话:全部逻辑在 lib/client.js,没有构建步骤,改完刷新页面即可(npm publish 前 prepublishOnly 会跑 node --check)。
五类提醒
| 类型 | 什么时候响 | 默认音色 | 色点 |
|---|---|---|---|
| 需要审批 | Agent 要执行敏感操作,等你点「允许」 | 警醒(方波三连) | 琥珀 |
| 需要回答 | Agent 问了你一个问题,等你回复 | 轻点(双短音) | 紫 |
| 输出完成 | 一轮回答结束 | 叮咚(上行双音) | 绿 |
| 发生错误 | 这一轮出错了 | 低沉(下行锯齿) | 红 |
| 卡住(实验性) | 打开「停滞检测」后,长时间没进展 | 低沉 | 橙 |
判定来源:会话状态里的
running与挂起交互类型(uiSession.sessionStatus),以及会话快照的lastAgentError。
第 5 类默认关闭:只有把「停滞检测」打开,它才会触发。判定依据是会话的更新时间,可靠性待改进。
可选音色:叮咚 / 低沉 / 轻点 / 警醒 / 语音 / 自定义 / 静音。
关于「语音」这一档:审批与提问会念出挂起交互的详情(工具名、原因、问题文本);「输出完成」的正文需要同时打开「朗读输出」,否则只念类型名。正文上限 400 字。
设置项一览
| 选项 | 说明 | 默认 |
|---|---|---|
| 总音量 | 0–200% | 70% |
| 提醒范围 | 所有会话 / 仅当前会话 | 所有会话 |
| 重复提醒 | 关 / 10 / 20 / 30 秒(直到处理为止) | 20 秒 |
| 系统通知 | 浏览器系统通知(后台也能看到) | 关 |
| 朗读输出 | 「输出完成」是否念出最后一条回复(音色需为「语音」) | 关 |
| 停滞检测 | 实验性;开启后才有第 5 类「卡住」 | 关 |
| 悬浮提示 | 屏幕顶部浮条,3.6 秒后消失 | 关 |
| 语音语速 | 慢 / 标准 / 快 | 标准 |
| 勿扰时段 | 起止整点,期间完全不响 | 关 |
| 界面语言 | 自动 / 中文 / English | 自动 |
底部还有 「恢复默认设置」(带二次确认)。
兼容性
| DSH 版本 | 表现 |
|---|---|
0.2.1-rc.2 |
✅ 全部功能(当前实机验证的版本) |
0.2.0-rc.2 |
✅ 全部功能 |
| 更早版本 | ⚠️ 只能收到「完成 / 错误」,审批与提问不响 |
需要浏览器支持 Web Audio(提示音);语音朗读用浏览器的语音合成,缺失时自动降级为提示音。
常见问题
装了但一点声音都没有? 浏览器要求先有用户手势才能播放音频——点一下页面任意位置再试。然后确认:该类的音色不是「静音」、总音量不是 0、「勿扰时段」没开着。
只有尾音,开头被吞了? 0.3.13 起已在每次播放前做 200ms 预热来唤醒音频设备。若仍然出现,麻烦提 issue 并附上浏览器版本。
审批 / 提问不响,但完成会响?
说明 DSH 版本偏旧:审批与提问的检测依赖 uiSession.sessionStatus,需要 DSH ≥ 0.2.0-rc.2。
语音念了「输出完成」,但没有正文? 「语音」音色 + 「朗读输出」开关两个都要开,而且只有「输出完成」会念正文。另外,后台会话(已不在主区域显示的那一个)读不到正文——插件要等该会话的对话视图被打开才拿得到文本,这时会退回念固定短语。
悬浮提示从来没出现过? 它默认是关的,去设置里打开「悬浮提示」。
装上之后界面白屏? 极端情况下插件与宿主版本不匹配会导致前端起不来。回滚:
dsh plugin --profile <你的profile> remove @machine-126/dsh-alert-sound
隐私
所有处理都在浏览器内完成:不发起任何网络请求,不用 analytics / telemetry。只在内存里读四样东西——会话运行状态与挂起交互(含工具名 / 原因 / 问题文本)、会话列表的 updatedAt 与 retainedBy(判定「当前会话」)、会话快照的 lastAgentError(判定「失败」),以及仅在「朗读输出」打开时最后一条助手回复的正文。
以上不保存、不外发;唯一持久化的是你自己的设置(localStorage 的 dsh-alert-sound.v1,自定义音色另存 dsh-alert-sound.custom.v1)。
路线图
- 已完成与计划:ROADMAP.md
- 版本变更:CHANGELOG.md
致谢
思路与形态上参考了这些项目,代码为独立实现,未复用其中任何代码:
- 检测思路(从
running与挂起交互推导审批 / 提问 / 完成):dsh-session-notification(BSD-3-Clause) - 「任务完成提示音」这个概念:dsh-chime(Apache-2.0)
- 打包结构与 web 客户端插件形态:官方文档
docs/user/develop/basic/publish.md,以及 dsh-plugin-tts、dsh-status-rotator、dsh-web-ui-notify
音色为原创设计(波形与频率自定)。发布时请保留本致谢。
关于本项目
需求与验收由 @Machine-126 提出并测试;代码开发全程由 DeepSeek Harness(AI 编程代理)驱动完成。
单人维护的个人项目,回复可能不及时;发现 bug 或想提功能,欢迎开 issue。
许可
MIT
UI・体験 の他のプラグイン
dsh-tui
by ccch1mneyyy
Claude Code 风格全屏终端 TUI:像素鲸鱼顶栏、双流光大字、实时工作状态行、思考流式展开、双击 Esc 时间回溯、上下文进度条 + TPS 仪表;接入 Agent preset(standard/code/minimal/cordis)、Skills、MCP、Goals、Todos、子代理,/ 命令注册表与随附技能(audit/bug/review/practice/pr_comments/release-notes/vuln-check);纯插件挂载零核心改动。
baoyu-design
by jimliu
Run Claude Design locally as an Agent Skill — Cursor, Codex, DeepSeek Harness & more. Produce polished UI mockups, prototypes, decks & wireframes as self-contained HTML, without claude.ai/design. Best with Opus or Claude.
dsh-better-sidebar
by omdsh-dev
Full sidebar workbench with file rendering and editing, terminal, Git, and subagents; third-party plugins can register new tabs.
dsh-claude-style
by nwflower
Restyles the DSH web UI with Claude-like layout, controls, model picker, branding, and local font routes.
