Windows 消息通知(DSH 插件)

前言

DeepSeek Harness(DSH)在後臺運行時,任務需要審批或一輪任務跑完,你可能不會注意到界面變化。這個插件會在相應時刻彈出一條 Windows 原生通知,但只在 DSH 不是當前前臺程序時觸發,避免打擾正在操作的用戶。

這是什麼

這是一個 DSH 插件,由 DEVVE-1 維護。它的職責是:當 DSH 任務需要授權或正常結束時,向用戶發送 Windows Toast 通知。插件本身只做轉發,不參與授權決策,也不改變審批結果。

核心功能

插件在兩種場景下發送通知:

  1. 有操作請求授權
    - 觸發事件:approval/request(兜底 approval/asked)
    - 通知標題:DSH 需要提權

  2. 一輪任務正常結束
    - 觸發事件: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

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜