在 DeepSeek Harness (DSH) Web 中进行智能体开发时,往往需要长时间运行任务。当任务完成或需要人工介入审批时,如果页面处于后台或未聚焦,很容易错过关键状态。dsh-attention 插件旨在解决这一痛点,通过桌面层面的声音、系统横幅和标签页闪烁,提醒用户注意任务进度。
插件介绍¶
dsh-attention 是一个 GitHub 分发的 DSH Web 插件,不属于 Shell 修改。它通过浏览器插件机制监听 DSH 事件,并在满足特定条件时触发多渠道警报。其核心价值在于确保用户不会因为分心而遗漏回合完成或等待审批的信号。
核心功能¶
该插件提供多种通知渠道,每个渠道均可独立在 Settings → Alerts 中开关:
- 标签页标题与图标
- 回合完成:标签页标题前缀闪烁约 4 秒,Favicon 显示徽章。
- 阻塞等待:如果当前有阻塞等待,标签页标题保持闪烁状态。
- 声音
- 短促的提示音(Web Audio API,风格类似 OpenCode/Codex)。只要浏览器标签页处于打开状态,该声音即可触发。
- 原生系统通知
- 系统横幅:通过
osascript(macOS)、notify-send(Linux)或 Windows Toast 触发。 - 单生产者规则:当浏览器标签页的心跳活跃(小于 8 秒)时,由标签页拥有横幅和声音;当所有标签页关闭或冻结时,由主机接管,避免重复通知。
- 仅限回环:原生通知仅限回环触发,远程 Web GUI 无法触发此功能。
- 系统横幅:通过
- 浏览器通知回退
- 当原生通知二进制缺失或不可用时,自动使用浏览器原生的 Notification API 作为备选方案。
- 首选项管理
- 支持存储和刷新首选项。如果在首选项加载期间观察到完成事件,这些事件会被暂存并在加载完成后刷新。
安装与配置¶
推荐使用插件自带的安装命令进行安装。该命令会修改目标配置文件并执行依赖安装,安装过程中不会中断 DSH。
- 安装插件:
npx --yes github:shaomingbo/dsh-attention#v0.1.4
- 检查安装状态:
npx --yes github:shaomingbo/dsh-attention#v0.1.4 status
- 卸载插件:
npx --yes github:shaomingbo/dsh-attention#v0.1.4 uninstall
该命令是幂等的,可以安全重复运行。
安装或卸载完成后,需要手动重启 dsh web,并在浏览器中硬刷新页面(Ctrl+Shift+R 或 Cmd+Shift+R)以使更改生效。
首选项配置文件位于 $DSH_HOME/attention.json(默认路径为 ~/.dsh/attention.json)。
行为与注意¶
- 触发时机:
- 回合完成:无条件触发警报,包括用户正在阅读的回合。
- 审批/问题:仅当页面处于后台或未聚焦时触发。当用户正在查看页面时,这些事件会保持静音。
- 权限请求:首次访问时,页面可能会弹出 Toast 请求浏览器通知权限。该权限仅在原生通知不可用时作为回退方案使用。
- 主机逻辑:主机监听
approval/request事件,但总是调用next(),不直接响应审批。 - 环境依赖:原生系统通知依赖于系统环境变量(如 Linux 的
notify-send)。如果依赖缺失,插件会自动降级到浏览器通知。