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 的提權流程提供了可視化的即時反饋,適合需要快速響應審批請求的開發者。相關目錄與源碼可參考社區插件市場。