dsh-web-ui-notify 使用指南
当 DSH 需要你审批、向你提问、或一轮对话完成,而你正在浏览其他标签页时,弹出系统桌面通知提醒,点击即可跳回原会话。
本文为派生内容(基于 wiki / faq / compatibility_json 自动组装),非 AI 即时创作。
本文由本站基于该插件已收录的字段自动派生(wiki / faq / compatibility_json / readme),非 AI 即时创作。每节末尾标源字段。
快速上手
dsh-web-ui-notify
— 源: plugin_wiki.wiki_content
安装与验证
dsh plugin --profile web add dsh-web-ui-notify
复制以上命令在 DSH Web Profile 内运行。安装完成后在「插件列表」启用即可。
— 源: plugins.install
关键要点
- 当前会话介入时通知:工具审批和 DSH 提问,通知正文带上下文(审批显示越权原因,提问显示问题原文)
- 后台会话也通知:没在看的会话需要审批/提问时同样弹通知(正文带上下文,和当前会话一致),整个会话干完也会通知;点一下直接跳到那个会话
- 干完一轮也通知:当前会话每轮干完都通知,正文是这一轮最终回答的开头(80 字以内),纯工具轮没有最终回答时显示轮次号。不管这轮是正常结束、被中断还是出错,都会通知
- 标题带会话名:所有通知标题都标明来自哪个会话,如「重构数据库 · 需要审批」
- 点击跳转到对应会话:点通知不只是跳回 DSH 页面,还会自动打开通知里的那个会话
— 源: plugin_wiki.readme_zh (fallback readme_raw)
常见问题
安装后通知一直没出现,怎么办?
客户端 bundle 只在全新页面加载时挂载,安装或升级后必须先重启 DSH Web 服务,再在浏览器做硬刷新(Cmd/Ctrl+Shift+R)。然后打开 DSH 的「设置 → 通用 → 桌面通知」点击「开启」,并在浏览器弹出的权限框里选允许;macOS 还需要在「系统设置 → 通知」里允许浏览器。开关状态共有四档:已开启 / 未授权 / 已被浏览器阻止 / 浏览器不支持。
DSH 在前台时为什么不响?
这是有意为之:前台时 DSH 自己已经在对话界面里显示提示,再弹系统通知属于重复打扰。插件只在 document.visibilityState === 'hidden'(切到别的标签页或最小化)时才发通知;回到前台时通知会继续停留在系统通知中心等你点击。
会重复响吗?断线重连会不会再弹一次?
不会。每个等待事件按稳定的 wait key 去重(key 形如 ${sessionId}:${wait.key}),在 mux 重放和重连后仍然命中同一 key;会话整体完成按 sessionId 去重;轮次完成按 ${sessionId}:${turn} 去重,且首次打开会话时会"吸收"历史已完成轮次作为基线,不会补弹旧轮次。
后台会话也会通知吗?
会。会话列表里的每一个会话(不论是不是当前打开的那个)只要进入"待审批/待回答/已完成"状态,都会触发通知;标题里带上会话名,点击通知会跳到那个具体会话,而不是当前会话。
浏览器不支持 Notification API 还能用吗?
不能。插件只走浏览器原生 Notification API;没有这个 API 的环境(很老或非主流浏览器)会显示「浏览器不支持」状态,插件不会发送任何通知,也不提供降级方案。
怎么升级、怎么卸载?
升级用 dsh plugin --profile web update github:bill9109/dsh-web-ui-notify;卸载用 dsh plugin --profile web remove @bill9109/dsh-web-ui-notify。操作后都需重启 Web 服务并硬刷新浏览器,开关状态保存在 profile 的 Settings provider 里,升级和重启都会保留。
— 源: plugin_wiki.faq_json
兼容性
- DSH: 未声明(仅声明走 web profile,需 20260806 snapshot 之后支持 profile + dsh.bundle 的版本)
- Node: ^20.0.0 || >=22.0.0
— 源: plugin_wiki.compatibility_json
踩坑提醒
安装前请审阅上游仓库;本指南基于已收录字段自动派生,可能滞后于最新版本。如发现与官方文档冲突,请以上游为准。
— 来源:通用规则