dsh-notifications:DeepSeek Harness Web 的桌面通知与提示音插件

在 DeepSeek Harness Web 进行开发或调试时,长时间运行的任务或需要人工介入的场景容易让人忽略状态变更。dsh-notifications 插件通过浏览器原生能力,提供桌面通知和提示音,确保重要事件不被遗漏。

它是什么

这是一个由 dat-lequoc 维护的 DSH 客户端插件。它直接在浏览器中运行,支持通过 SSH 转发访问(例如 http://127.0.0.1:3084/ 转发到服务器端口 3080),不依赖任何外部通知服务、音频下载或模型工具。

插件通过监听主线程状态变化(如正常完成、取消、失败)以及待处理问题、审批和审查计划等事件,触发相应的通知。它同时为浏览器标签页提供视觉指示,并在点击通知时自动聚焦 DSH 窗口。

核心功能

  • 桌面通知与提示音:支持浏览器桌面通知和双音调提示音。
  • 无外部依赖:纯浏览器端实现,无需额外服务。
  • 事件触发:监听主线程状态(停止、待处理问题、审批、审查计划),每个事件触发一次通知;初始空闲历史和重连快照不触发。
  • 标签页指示:事件发生时,浏览器标签页图标显示红点;返回、聚焦或交互页面可清除红点。
  • 自动聚焦与导航:点击桌面通知可自动聚焦 DSH 窗口并打开对应线程。
  • 多标签页逻辑:同一来源下的多个 DSH 标签页中,一个标签页拥有自动通知交付权;另一个标签页关闭时自动接管。

安装与启用

使用官方安装命令将插件添加到 Web 配置文件中:

dsh plugin --profile web add github:dat-lequoc/dsh-notifications
dsh --profile web

首次加载 DSH Web 界面时,需点击 Enable notifications,并在浏览器弹窗中点击 Allow。这一步不仅会启用通知,还会同步解锁提示音并发送一次测试通知。

典型用法

  1. 测试功能:进入设置 -> 通用 -> 通知页面,点击测试按钮,验证提示音和桌面通知是否正常送达。
  2. 保持标签页:由于多标签页归属逻辑,建议保持一个 DSH 标签页打开并处于激活状态,以确保通知能够正常交付。

适用场景与注意

  • 适用场景:需要长时间后台运行 DSH 的会话;需要及时响应审批或待处理问题的场景。
  • 注意:
    • 提示音在页面首次加载后需要用户交互(如点击页面或使用测试按钮)才能解锁音频。
    • 提示音要求拥有通知交付权的标签页已解锁音频。
    • 浏览器/操作系统的通知设置和勿扰模式可能影响送达。
    • 偏好设置属于当前浏览器和来源,更改 SSH 转发端口后需重新授权。
    • 浏览器对通知可见性的支持各不相同;关闭标签页的推送和移动端 Service Worker 通知不在该插件支持范围内。

总结

该插件通过原生浏览器 API 实现了即时反馈机制,解决了 DSH Web 在后台运行时状态感知滞后的问题。更多细节可参考 GitHub。

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

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

小夜