dsh-attention-reminder:DSH 待审批与待回答时的声音与弹窗提醒

前言

在 DeepSeek Harness(DSH)里跑智能体时,工具调用审批、ask_user_question 等交互往往发生在后台会话里。窗口不在前台、没有系统提示时,很容易错过一次批准或一次确认,任务就会停在那里。社区插件 dsh-attention-reminder 专门在这两类节点上给出可开关的声音与界面提醒,下面介绍它的定位、安装方式和日常使用。

这是什么

dsh-attention-reminder 由维护者 chenyuiyu 发布,在 SkillHub 目录中归类为客户端插件。当 DSH 需要你的审批(approval/request)或回答(ask_user_question)时,插件可以短促鸣铃、把 DSH 窗口提到前台,并在页面上方浮出卡片说明正在等待什么。声音与弹窗两个开关彼此独立,重载页面或重启后仍会记住上次选择。

项目地址:GitHub,目录页:SkillHub。当前 package 版本为 0.1.1,许可证 MIT;实现为纯 JavaScript,无构建步骤、无额外依赖。

核心功能

监听的事件与提醒方式

Host 端(index.js)监听 waterfall 事件 approval/request 与 user-questions/request,把尚未结束的请求放进有上限的队列(最多 24 条);请求在 next() 返回的 promise 结束或 AbortSignal 中止后从队列移除。所有 handler 仍通过 return next() 委托,不改变原有审批与提问流程。

Web 端(client.js)每秒轮询一次 GET/POST /api/attention-reminder(经 connection.fetch.register 注册),只对尚未播报过的 id 触发提醒。DSH 插件没有 host 到页面的推送通道,因此采用与 @deepseek-ai/dsh-deja 类似的 HTTP 路由轮询模式。

两个独立开关

开关集中在会话标题栏右侧的 🔔 按钮面板里:

  • Sound:通过 WebAudio 播放约 0.5 秒的单次 bell;每个新请求只响一次,卡片会一直留在屏幕上直到你处理完。
  • Popup:调用 window.focus() 尝试把 DSH 提到前台;在页面上方通过 shell.overlay 浮出卡片(最多同时展示 3 张,其余折叠为「+N more」);在浏览器允许时还会发一条系统通知。

面板还提供 Send a test reminder,走与真实提醒相同的路径,便于检查声音与弹窗是否生效。

开关状态保存在 $DSH_HOME/plugin-data/dsh-attention-reminder/state.json(默认路径为 ~/.dsh/plugin-data/dsh-attention-reminder/state.json)。

安装与启用

CLI 安装需指定 profile,命令以 README 为准:

dsh plugin --profile <profile> add github:chenyuiyu/dsh-attention-reminder

在 DSH Desktop 上,也可以从 Settings → Plugins 安装同一插件。

安装前建议浏览仓库源码并确认 MIT 许可证;插件在当前 DSH 进程权限下运行,与任何社区插件一样,只安装你信任的来源。

典型用法

  1. 按上文命令或 Desktop 插件页完成安装后,打开任意 DSH 会话。
  2. 点击会话标题栏右侧 🔔,按需打开 Sound、Popup,或两者都开。
  3. 可先点 Send a test reminder,确认铃音与浮层、系统通知是否符合预期。
  4. 当智能体发起审批或 ask_user_question 时,若对应开关已开,你会听到一次铃音并(在 Popup 开启时)看到浮层卡片;处理完请求后,该条会从提醒队列中消失。

首次启用 Popup 或点击测试按钮时,浏览器会请求通知权限(属于用户手势触发);若仅开声音,也需知悉浏览器规则:至少与页面交互一次后 WebAudio 才能出声——若 DSH 刚打开、尚未点击页面就收到提醒,可能第一次无声,点一下页面后下一次即可正常。

适用场景与注意

适合:长时间让 DSH 在后台跑任务、又需要及时点批准或填答的开发者;希望声音与弹窗分开控制、避免打扰同事时只开其一。

注意:

  • window.focus() 在 Windows 前台锁定策略下不一定总能把窗口抢到最前;浮层卡片与系统通知仍会尽量出现。
  • 系统通知依赖浏览器通知权限;未授权时 Popup 仍可能有浮层与 focus 行为,但通知可能缺失。
  • 插件不修改审批与提问语义,只观测并提醒;队列与开关通过 /api/attention-reminder 在 host 与页面之间同步。

结尾

dsh-attention-reminder 把「需要人介入」的两类 DSH 事件做成可测试、可分别关闭的声音与弹窗提醒,适合作为客户端侧的小而专的补充。更多细节见仓库 README:

  • 目录页:https://www.skillhub.cn/plugins/chenyuiyu/dsh-attention-reminder
  • GitHub:https://github.com/chenyuiyu/dsh-attention-reminder

DSH 生态强调「一切皆插件」;SkillHub 为社区独立目录,与 DeepSeek / 幻方无官方从属关系,安装与启用请以你本机 DSH 版本与仓库说明为准。

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

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

小夜