前言¶
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