前言¶
DeepSeek Harness(DSH)在后台运行时,任务需要审批或一轮任务跑完,你可能不会注意到界面变化。这个插件会在相应时刻弹出一条 Windows 原生通知,但只在 DSH 不是当前前台程序时触发,避免打扰正在操作的用户。
这是什么¶
这是一个 DSH 插件,由 DEVVE-1 维护。它的职责是:当 DSH 任务需要授权或正常结束时,向用户发送 Windows Toast 通知。插件本身只做转发,不参与授权决策,也不改变审批结果。
核心功能¶
插件在两种场景下发送通知:
-
有操作请求授权
- 触发事件:approval/request(兜底approval/asked)
- 通知标题:DSH 需要提权 -
一轮任务正常结束
- 触发事件:session/event的turn/end,且reason.kind === 'completed'
- 通知标题:DSH 任务完成
通知只在 DSH 不是当前前台程序时弹出。前台抑制逻辑在 foreground.ps1 中实现:当前台窗口标题包含 DeepSeek Harness 时,直接跳过通知。
安装与启用¶
把仓库克隆(或解压发布包)到任意目录,在 DSH 里执行:
plugin_manager install_bundle target = <本目录的绝对路径>
例如:
plugin_manager install_bundle target = D:\plugins\dsh-windows-approval-notify
安装后插件行立即生效,无需重启 DSH。卸载:
plugin_manager remove_bundle target = dsh-windows-approval-notify
实现细节¶
- 常驻一个 PowerShell 通知宿主,插件激活即预热;之后每条通知只写一行 JSON。
- PowerShell 侧先读前台窗口标题判断是否前台(Win32
GetForegroundWindow+GetWindowText),需要真正弹窗时才加载 WinRT Toast API。 - 弹窗延迟:预热后约 5–10ms;进程被回收/被杀时退化为一次性弹窗并退避重启宿主。
- 通知标签:授权
dshApproval、完成dshTaskDone,同组dshNotify;同类通知互相替换,不同类各自保留一条。 - 授权正文优先用 DSH 自己的
displayReason(优先中文),其次reason;都没有时显示<工具名> 正在请求你的授权。 - 完成正文为
「<会话标题>」已完成,没有标题时显示当前会话的这一轮任务已完成。 - 正文最多 220 字符,超出截断。
环境要求¶
- Windows 10/11,系统通知未关闭。
powershell.exe(Windows 自带)。- 通知宿主以
com.deepseek.dsh(DSH 桌面端的 AppUserModelID)发布,所以通知卡片显示为 DeepSeek Harness。
适用场景与注意¶
适合需要在后台持续监控 DSH 任务进度的场景。插件以当前 DSH 进程的权限运行,安装前应检查源码与许可证。
结尾¶
这个插件用原生 Toast 机制解决了 DSH 在后台运行时的状态可见性问题,通过前台抑制逻辑避免打扰。查看目录页和源码:https://www.skillhub.cn/plugins/DEVVE-1/dsh-windows-approval-notify | https://github.com/DEVVE-1/dsh-windows-approval-notify