前言¶
在 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 兜底使用系统提示音 |
提醒路径怎么选¶
- 正在看当前会话:什么都不发生。
- Web 在前台但事件属于其他会话,或页面失焦/隐藏:默认拉起带内容的 Windows 小窗(只读提醒);若你已手动打开交互弹窗,则在弹窗内显示卡片。
- 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 进程;之后日常只需刷新页面。
典型用法¶
经过上面的安装步骤后,可按下面顺序自检。
- 刷新 DSH 页面。
- 默认无需打开弹窗:每条待处理消息会拉起带具体内容的 Windows 小窗。在设置里点 测试 Windows 提醒 可验证宿主兜底。
- 若要在小窗内直接作答,点 打开弹窗;仅有待处理提醒时可开,处理完自动关闭,无提醒时不会出现空黑框。
- 点 测试审批卡 / 测试提问卡 / 测试完成卡:弹窗打开时显示演示卡片;弹窗关闭时改为拉起 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 小窗,无需常驻窗口。