前言¶
DeepSeek Harness (DSH) 的 Web GUI 在处理长时间运行的任务或后台会话时,用户往往难以直观感知输出何时完成。dsh-ui-notify 插件通过播放嵌入式提示音,解决了这一信息不对称的问题。它是一个纯 Web 插件,不依赖宿主服务或工具注册,直接作用于浏览器端的渲染层。
插件定位¶
这是一个由 xingke-seeker 维护的独立 DSH 插件。它的核心作用是在会话输出结束时,通过内置的提示音(Chime)通知用户。所有设置均保存在浏览器的 localStorage 中,重启页面后依然生效。
核心功能¶
- 完成音效:当会话的输出内容完成时,自动播放选定的提示音。
- 配置持久化:所有偏好设置(开关、音量、背景/前台行为)均保存在本地存储中。
- 纯 Web 实现:不注册 Host 服务、工具或会话日志条目,仅作为 UI 组件存在。
- 灵活配置:支持通过 Settings(设置) -> General(常规) -> Notifications(通知) 行进行控制。可调节开关、选择音效(内置 Chime 1-3)、设置音量(0-100%)以及选择触发范围(仅背景会话或任意会话)。
安装与启用¶
该插件已发布至 npm 仓库,安装前请确保 DSH 环境正确。
安装¶
dsh plugin --profile web add dsh-ui-notify
安装后,请重启 Web Profile (dsh --profile web) 以加载插件元数据。无需执行构建步骤,发布的 tarball 已包含编译好的 lib/ 目录。
更新¶
dsh plugin --profile web up dsh-ui-notify
典型用法¶
- 安装完成后,在 DSH Web 界面打开 Settings。
- 进入 General 页面。
- 找到 Notifications 行。
- 开启 Enable reminders(默认开启)。
- 根据需要调整音效和音量,并选择触发时机(默认为 Background)。
适用场景与注意事项¶
- 浏览器限制:浏览器的自动播放策略要求必须有用户手势(点击、触摸等)才能解锁音频播放。如果插件在用户没有进行操作前尝试播放,音频会被静音。
- 排队机制:如果在音频解锁前有多个会话完成,未播放的声音会被放入队列,在用户产生下一个手势时依次播放。
- 独立性:插件无官方背书,仅作为社区插件存在。
总结¶
dsh-ui-notify 为 DSH 的 Web 界面增加了一层听觉反馈,适合需要在后台长时间运行任务并希望即时获知完成状态的开发者。更多细节与源码可参考 GitHub 仓库。