dsh-plugin-sound-alert:DSH Web 完成与授权提示音

前言

在 DSH Web 里跑长任务时,常见做法是盯着会话状态或反复切回标签页,看回答是否结束、是否弹出授权或计划审阅。浏览器本身不会为「busy 结束」或「pendingInteraction」单独发声,多会话并行时更容易漏看。下面介绍社区插件 dsh-plugin-sound-alert(维护者 WanchunLian,分类:客户端):在回答完成、需要授权/审阅/向你提问时播放提示音,内置 WebAudio 合成音,也可换成本机 WAV;实现为纯浏览器端,不附带资源文件 bundle。

这是什么

dsh-plugin-sound-alert 是 DSH Web 的轻量提示音插件。它在客户端监听会话状态,在约定场景响铃;设置入口为 设置 → 提示音(Settings → Sound Alerts)。自定义铃声通过选择本机 .wav 实现,配置与音频以 Data URL 等形式持久化在本机浏览器,不上传。插件不注册后端路由、不调用 LLM。许可证为 MIT;当前 package 版本为 0.1.0。社区目录页见 SkillHub 插件页,源码见 GitHub。目录与 DeepSeek / 幻方无官方从属关系;安装前请自行审阅源码。

核心功能

  1. 完成音:会话 busy 态结束(回答/处理完成)时播放;若提醒范围设为「所有会话」,后台会话出现「已完成」提醒时也会播放。默认内置为叮-咚上行双音,可改为自定义 WAV。
  2. 授权音:出现授权请求、计划审阅或「向你提问」(pendingInteraction)时播放;默认三连提示音,可改为自定义 WAV。
  3. 冲突策略:完成帧与等待授权同时出现时,只响授权音,避免重复打扰。
  4. 提醒范围与音量:可选仅当前会话或所有会话;可调音量。默认仅当前会话,减轻子会话/后台任务频繁打扰。
  5. 防抖:完成场景约 1.6s、授权场景约 0.5s 防抖,降低一帧多事件重复响铃。
  6. 数据位置:配置与自定义 WAV 存于本机浏览器 localStorage(键 dsh-plugin-sound-alert:cfg),换浏览器或设备需重新设置。
场景 铃声
会话 busy 态结束(回答/处理完成) 完成音
后台会话「已完成」提醒(范围=所有会话) 完成音
授权请求 / 计划审阅 / 向你提问 授权音
完成与等待授权同时出现 只响授权音

安装与启用

插件随 web profile 的 bundle 加载。对 GitHub 发布版,在资料给出的命令为:

dsh plugin --profile web add github:WanchunLian/dsh-plugin-sound-alert

添加后需按你平时的 web profile 流程安装/组合 bundle 并重启 Web(例如在运行 GUI 的终端 Ctrl-C 后重新 dsh web)。本地开发若用 link 方式,步骤与 README 中 dsh-plugin-polish-my-expression 相同:在 web profile 中加入 link 依赖、把包名写入 dsh.profile.bundles,再执行 dsh plugin --profile web install 并重启 web profile。具体 link 路径以你本机为准,见仓库 README。

注意:插件以当前 DSH 进程及浏览器环境运行;第三方插件安装前应检查源码与许可证。

典型用法

  1. 打开 设置(齿轮)→ 提示音。
  2. 勾选 启用声音提醒。
  3. 分别为 完成音、授权音 选择 内置铃声(WebAudio 合成,无需文件)或 自定义 WAV(点「选择 WAV…」选本机文件,建议简短、≤3MB),可 试听 / 移除。
  4. 按需设置 提醒范围(仅当前会话 / 所有会话)与 音量。

浏览器自动播放策略要求:页面有过至少一次点击或按键后才能稳定发声;若从未交互,声音可能被静默拦截,首次试听前先点一下页面。

实现要点(便于审阅源码)

仓库目录(摘自 README):lib/index.js 为宿主侧 cordis 空壳;lib/client.js 负责浏览器侧状态监听、声音引擎与设置页;cordis.yml 为 web profile loader 的 bundle patch。整体设计说明见仓库内 docs/design.md。

结尾

若你需要在 DSH Web 里用声音区分「任务完成」和「需要你点授权」,又不想引入带静态资源的音频包,dsh-plugin-sound-alert 把逻辑收在纯客户端、零资源文件 bundle 里,配置路径也固定。进一步信息见 SkillHub 目录页 与 GitHub 仓库。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye