前言¶
在 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 进程权限下运行,与任何社区插件一样,只安装你信任的来源。
典型用法¶
- 按上文命令或 Desktop 插件页完成安装后,打开任意 DSH 会话。
- 点击会话标题栏右侧 🔔,按需打开 Sound、Popup,或两者都开。
- 可先点 Send a test reminder,确认铃音与浮层、系统通知是否符合预期。
- 当智能体发起审批或
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 版本与仓库说明为准。