dsh-notify-sound:DSH Web 客户端的任务完成提示音与页面内通知

前言

在 DeepSeek Harness(DSH)里跑长任务时,会话往往在后台从 running 回到空闲,或者弹出需要你授权的 pendingInteraction。如果一直盯着界面,既费神也容易错过时机;若完全不看,又不知道什么时候该回来点确认。

社区插件 dsh-notify-sound 面向 DSH Web GUI:在任务完成、需要确认、出错或中断时,用 Web Audio 合成提示音,并在页面右上角显示通知条。它不调用系统级通知,也不依赖外部音频文件。下面介绍它的行为、安装方式和使用上的注意点。

这是什么

dsh-notify-sound 由维护者 Su-1003 发布,在 SkillHub 目录中归类为客户端插件。当前 package.json 版本为 0.1.0,许可证 MIT,零运行时依赖、无构建步骤。

插件声明 "platform": "web",逻辑主要在浏览器侧的 lib/client.cjs;宿主侧 lib/index.js 仅为可挂载的空壳。判定依据是 DSH 客户端 uiSession.sessionStatus 的状态迁移。

核心功能

三种场景

场景 触发条件 通知条颜色
任务完成 会话从 running 变回空闲,且没有待你的交互 绿 #2ea043
需要你确认 出现 pendingInteraction(授权 / 确认弹窗) 黄 #d29922
出错 / 被中断 本轮结束但带错误标记 红 #f85149

声音只负责「叫你一声」:三种场景默认同一音型(同音双响),区别在通知条文字与颜色。若要按场景区分音色,需改 lib/client.cjs 里的 CALL_SHAPE。

提示音与通知条

  • 提示音由 Web Audio 实时合成(振荡器 + 指数包络),不需要任何音频文件。
  • 内置 6 种音色集:清脆(clean)、柔和(soft)、铃音(bell)、醒目三连音(alarm)、极简单声(minimal)、木质(wood,默认)。
  • 防刷屏:同类通知 1.5 秒内只响一次;4 秒内同类事件在通知条合并为 ×N。
  • 通知条最多同时 4 条,20 秒后自动消失,可单条关闭或一键全部关闭。
  • 浮层挂在 DSH 页面内,不盖到其他软件;容器 pointer-events: none,仅卡片可点。插件会补偿带 transform / filter 祖先导致的 position: fixed 失效,使条目贴在视口右上角。
  • 首次加载只做基线观测,不会补发历史通知。

插件在 ui-session 之后才激活时,会轮询最多 15 秒等待服务就绪。

安装与启用

需要 DSH 的 Web GUI;TUI 不适用。

方式一:命令行安装

桌面端 profile 名常见为 desktop,请按本机配置替换 --profile 后的名称。

dsh plugin --profile web add github:Su-1003/dsh-notify-sound

方式二:本地目录

将仓库放到 DSH 插件目录后,在 GUI 设置 → 插件 → 本地开发 选中该目录安装(README 中给出了 Windows PowerShell 下的 git clone 目标路径示例)。

装完后重启 DSH,或刷新 Web GUI。

初次出声:浏览器要求至少一次用户手势才能解锁 AudioContext。安装后请在界面上点一下或按一下键,之后提示音才会正常播放;通知条不受此限制。

换音色

目前没有图形设置页,可用两种方式:

  1. 修改 lib/client.cjs 中的 DEFAULT_SOUND_SET 为上述六种之一,保存后刷新 GUI。
  2. 在浏览器控制台执行:
localStorage.setItem("dsh-notify-sound.style", "bell")

键名固定为 dsh-notify-sound.style,刷新后按该值恢复。

适用场景与注意

适合:长时间在 DSH Web 里跑智能体任务、希望离开屏幕后仍能感知「完成 / 待确认 / 出错」的开发者。

务必了解:

  • 插件以当前 DSH 进程及浏览器环境运行;安装前请自行查看 源码与 LICENSE。
  • 仅在 Web GUI 生效;标签页在后台时,浏览器可能限流定时器,提示音可能延后。
  • 页面未被点击过时不会响(AudioContext 策略),属浏览器行为而非插件单独限制。
  • SkillHub 等社区目录为独立站点,与 DeepSeek / 幻方无官方从属关系;本文事实以仓库 README 与 package.json 为准。

结尾

dsh-notify-sound 用零依赖的合成音和页面内通知条,把 DSH 会话状态变化转成可感知的反馈,适合不盯屏又需要及时回到授权或结果的场景。

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

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

Xiaoye