DeepSeek Harness 采用了“一切皆插件”的架构。在日常使用中,当智能体会话请求提权(审批)时,如果用户不在终端前,往往会错过这一关键操作。现有的日志记录方式不够直观。dsh-approval-notify 插件通过 Windows 原生机制解决了这个问题,确保在用户视线之外时也能感知到审批请求。
插件简介¶
这是一个客户端插件,用于在会话请求提权审批时弹出 Windows 原生 Toast 通知并播放系统提示音。它由 Uknown-wang 维护,采用 MIT 许可证。
核心功能¶
- Windows 原生 toast 通知:弹出系统级通知,避免被终端窗口遮挡。
- 系统提示音:播放声音提醒用户注意。
- 显示会话详情:通知中包含会话名、ID(前8位)、工作目录路径、使用的工具以及提权原因。
- Web UI 跳转:支持点击通知直接跳转至 Web UI 进行审批。
- 降级处理:在非交互会话或 toast 不可用时,退化为仅播放提示音。
- 事件监听:监听
approval/asked事件流,确保不遗漏审批请求。
安装¶
使用官方 CLI 命令安装该插件。该插件声明了 dsh.bundle.patch,dsh plugin add 会自动将其并入 profile 的 bundle 层栈。
dsh plugin --profile <profile> add dsh-approval-notify
安装后,重启 dsh 进程即可生效。
配置¶
安装完成后,需要在 profile 的配置文件中添加或修改以下字段。注意,DSH 组合补丁按行整段替换 config,覆盖配置时需重写完整字段。
| 项 | 默认值 | 说明 |
|---|---|---|
dedupeMs |
1500 |
同一会话的去重窗口(毫秒)。 |
sound |
ms-winsoundevent:Notification.Default |
Windows 通知音事件名。设为 null 可静音(仍弹 toast)。 |
launchUrl |
环境变量 DSH_WEB_URL |
点击通知跳转的地址。设为 null 关闭跳转。 |
titlePrefix |
需要提权审批 |
通知标题的前缀。 |
disabled |
false |
设为 true 可临时停用插件。 |
appId / powershell |
PowerShell 经典 toast AppId | 高级项,一般无需改动。 |
工作原理¶
插件监听提交后的 session/event 事件流中的 approval/asked 审计事件。它刻意不挂在 approval/request waterfall 上,而是使用 firehose 模式。这意味着无论监听器注册顺序如何,通知故障绝不会影响审批链路本身。通知由 powershell.exe 通过 WinRT ToastNotificationManager 发出,无需额外安装模块。
适用场景与要求¶
- 平台限制:仅支持 Windows 10/11 平台。在非 Windows 平台,插件会自动禁用。
- 环境依赖:需要官方 DSH profile 提供
approval与sessionTitle服务。 - 权限注意:插件以当前 DSH 进程权限运行。安装前应检查源码与许可证(MIT)。
结语¶
该插件为 DeepSeek Harness 的提权流程提供了可视化的即时反馈,适合需要快速响应审批请求的开发者。相关目录与源码可参考社区插件市场。