dsh-notify-interactive:聚焦当前会话时的静默提醒与 Windows 兜底

前言

在 DSH 里跑智能体时,权限审批、追问、计划审核和一轮任务结束都需要人介入。若浏览器开着别的标签,或只用 CLI/TUI,很容易错过这些节点。常见做法是页内通知或系统 Notification,但要么与当前会话无关时仍刷屏,要么弹窗不可交互、终端侧没有等价提醒。

下面介绍社区客户端插件 dsh-notify-interactive(维护者 wuqiuwangtian,MIT,当前版本 0.2.1)。它的核心规则只有一条:你正聚焦于当前会话时不提醒;否则用带具体内容的 Windows 小窗通知,需要时在 DSH 风格弹窗里直接作答。

这是什么

dsh-notify-interactive 是 DSH 的「任务中断」提醒插件,面向 Web / CLI / TUI profile,目标 DSH 版本线为 0.2.2-rc.1。

它监听会话事件(权限审批、提问、计划审核、轮次结束),在你不看当前会话时推送提醒;Web 侧可选 Document Picture-in-Picture 置顶交互弹窗,无 Web UI 时由宿主通过 PowerShell 拉起原生 WinForms 小窗。插件不写 session log、不注册模型工具、不自动作答、不上传数据。

核心功能

覆盖的事件

能力 说明
事件类型 权限审批、智能体提问、计划审核、任务完成
静默 聚焦当前会话 → 不提醒
Web 交互弹窗 可选、按需打开;始终置顶,处理完自动关闭
弹窗内操作 审批允许/拒绝;提问单选/多选/自定义/跳过;计划批准/拒绝;完成回到对话
CLI/TUI 宿主观察 session 事件,通过 PowerShell 弹 Windows 提醒
Web 关页 客户端上报 presence,页面关闭后宿主接管 Windows 提醒
音效 可选 Web Audio 本地合成;Windows 兜底使用系统提示音

提醒路径怎么选

  1. 正在看当前会话:什么都不发生。
  2. Web 在前台但事件属于其他会话,或页面失焦/隐藏:默认拉起带内容的 Windows 小窗(只读提醒);若你已手动打开交互弹窗,则在弹窗内显示卡片。
  3. Web 页面关闭,或仅用 CLI/TUI:宿主侧 Windows 小窗。

交互弹窗不能由后台事件自动打开(浏览器限制),需在有提醒时手动点「打开弹窗」。Windows 兜底不能在系统小窗里批准、拒绝或回答问题,需回到 DSH 或终端处理。

安装与启用

插件以当前 DSH 进程权限运行。安装前建议在 GitHub 查看源码与 MIT 许可证。

Web profile 安装:

dsh plugin --profile web add https://github.com/wuqiuwangtian/dsh-notify-interactive

或下载 Release 中的 dsh-notify-interactive-0.2.1.tgz 后本地添加:

dsh plugin --profile web add ./dsh-notify-interactive-0.2.1.tgz

CLI/TUI profile 安装同一个包;没有 Web UI 时,宿主半区会接管 Windows 提醒。

安装后刷新 DSH 页面。交互弹窗不必常驻。从 0.1.x 升到 0.2.x 时,宿主半区新增了 Windows 兜底与 presence 路由,需要重启一次 DSH 进程;之后日常只需刷新页面。

典型用法

经过上面的安装步骤后,可按下面顺序自检。

  1. 刷新 DSH 页面。
  2. 默认无需打开弹窗:每条待处理消息会拉起带具体内容的 Windows 小窗。在设置里点 测试 Windows 提醒 可验证宿主兜底。
  3. 若要在小窗内直接作答,点 打开弹窗;仅有待处理提醒时可开,处理完自动关闭,无提醒时不会出现空黑框。
  4. 点 测试审批卡 / 测试提问卡 / 测试完成卡:弹窗打开时显示演示卡片;弹窗关闭时改为拉起 Windows 演示小窗(本地演示,不响应真实请求)。

设置项

设置保存在浏览器 localStorage,键名为 dsh.notify-interactive.settings.v2,按浏览器独立,不跨设备。

设置 默认 说明
启用提醒 开 总开关
播放提示音 开 Web 音效
音效 清脆铃音 6 个本地合成预设,含静音
音量 70% 0–100%

0.2.x 已移除页内通知卡片、浏览器 Notification 通道、系统通知权限及弹窗开关等冗余配置。

适用场景与注意

适合:在 Windows 或 WSL(能检测到 powershell.exe)上使用 DSH,且希望「不在看当前会话才打扰」,并可选 DSH 风格 PiP 弹窗内完成审批/作答。

边界(见上游 README「已知边界」):

  • Windows 兜底只读;原生小窗有「打开 DSH / 关闭」,暂无单选/多选/文本框。
  • 其他非 Windows 环境无 Windows 兜底。
  • 无 GUI 的终端无法显示桌面弹窗。
  • 多标签页各实例独立;presence 异常时宿主最多约 15 秒后接管。
  • 每个浏览器标签独立设置,不做 leader 选举(第二阶段计划)。

同类调研结论:上游称未找到同时满足「聚焦静默 + 可交互 DSH 风格弹窗 + CLI/TUI Windows 兜底」的活跃替代项目;详见仓库 docs/research.md。

DeepSeek Harness 生态以「一切皆插件」为理念;SkillHub 目录页 为社区站点,与 DeepSeek / 幻方无官方从属关系。

结尾

dsh-notify-interactive 把「要不要打扰」收成一条聚焦规则,并把 Web 可交互弹窗与 CLI/TUI 的 Windows 只读提醒放在同一套 session 事件链上。需要窗口内操作时手动打开 PiP;否则默认每条消息走 Windows 小窗,无需常驻窗口。

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

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

Xiaoye