Releases: MuziIsabel/dsh-win-notify
Release list
v1.6.0
What's new
Toast clicks now foreground the DSH browser tab. If you are browsing another tab when a notification arrives, clicking it switches the session in place and brings the DSH tab to the foreground.
- Native helper uses Windows UI Automation to select the matching Chrome/Edge tab after the GUI acknowledges the session switch
- Tab title race handling: the client re-reports its view after switching, the host waits for the post-switch title, and the helper falls back to an app-name marker match
- Maximized browser windows keep their state — only minimized windows get restored
- Oversized registration scripts now run from a staged UTF-16LE
.ps1file, fixingspawn ENAMETOOLONGthat broke toast registration
Everything else is unchanged: silent subagent notifications, focus-aware suppression, zero-transient-tab activation, and the HTTP deep-link fallback.
v1.5.0 — 已有标签直接切换
亮点
- 点击 Windows Toast 时,已打开的 DSH GUI 标签会直接切换到对应会话,不再先打开临时浏览器标签页或整页刷新。
- 新增本机
dsh-win-notify://激活桥接:Toast → 本地DeepSeek.exe→ DSH 长轮询命令 → 已有 GUI 标签。 - 没有存活 GUI、协议注册不可用或使用非环回
baseUrl时,自动安全回退到原有 HTTP 深链。 - 所有子代理(完成、报错、审批等待、提问等待)保持静默;顶层会话通知不受影响。
注意
首次点击自定义协议通知时,Windows/浏览器可能显示一次“打开 DeepSeek”确认。浏览器前台聚焦仍受系统焦点策略限制,但会话会在已有 GUI 标签中切换。
验证
已在真实 http://127.0.0.1:3080 GUI 上验证:通知点击成功在原标签切换会话,浏览器标签数量不变;已验证子代理完成不会创建 Toast。
v1.4.0 - Reuse existing GUI tabs
Added
- Reuse an existing same-origin DeepSeek Harness GUI tab when a Windows toast notification is clicked.
- Select the most recently focused connected GUI tab, open the target session there, and close the temporary toast-launched tab when the browser allows it.
Fallbacks
- If there is no live same-origin GUI tab, the newly opened tab continues to open the target session directly.
- If a browser blocks script-driven closing of an externally launched tab, it safely remains on the target session rather than losing the navigation.
Reliability
- Ignore disconnected/ghost tabs and targets absent from the live session list.
v1.3.4 - Fix foreground notification suppression
Fixed
- Keep the GUI focus listener, session subscription, and heartbeat alive for the plugin lifetime instead of disposing them immediately after the first report.
- Use the GUI persisted current-session selection as the primary foreground-session source, with the runtime snapshot as a fallback.
- Explicitly depend on the client sessions service and throttle unchanged reports while preserving a fresh heartbeat.
Result
When a GUI tab is focused on the session that triggered an event, its completion, approval, and user-reply notifications are now suppressed reliably. Notifications for background sessions still appear.
dsh-win-notify v1.3.1
dsh-win-notify v1.3.1 — 首个正式发布
Windows 任务提醒插件(DeepSeek Harness):任务完成、出错、等待审批、等待用户回复时弹出带声音的 Windows 通知,支持点击跳转到对应会话,并在你正盯着该会话时自动免打扰。
功能
- 任务完成/出错通知:agent 回合结束(running→idle)时弹通知;用户手动停止不弹;出错弹错误通知(可关)
- 等待审批通知:沙箱提权等审批挂起超过
approvalWaitMs(默认 3 秒)时提醒 - 等待用户回复通知:
ask_user_question提问超过questionWaitMs(默认 3 秒)未回答时提醒 - 点击跳转:所有通知带
launch深链,点击后用浏览器打开 GUI 并自动选中对应会话(含 client 插件) - 前台免打扰(v1.3.0):页面聚焦且正显示该会话时,抑制该会话的通知;切走或后台会话照常弹
- 原生体验:通知显示名 DeepSeek + 官方鲸鱼图标 +
ms-winsoundevent提示音;自动注册桌面身份(占位程序 + 开始菜单快捷方式 + AppUserModelID),中文经 UTF-16LE-EncodedCommand传递不乱码
修复记录
- v1.3.1:焦点上报路由改为在
webServer服务挂载后注册(修复启动早期服务未就绪导致路由缺失、免打扰失效) - v1.2.1:修复 code 模式下提问事件的检测(
tool/code-dispatch-start) - v1.1.0:点击跳转 + 审批通知
安装
dsh plugin --profile web add github:MuziIsabel/dsh-win-notify安装后刷新一次浏览器页面(client 插件在页面加载时注入)。配置项见 README。
要求
- Windows 10/11(自带 PowerShell 5.1,无需额外依赖)
- dsh(DeepSeek Harness)任意 profile