dsh-win-approval-notify:DSH 桌面版 Windows 原生 Toast 通知

前言

在 DeepSeek Harness(DSH)裏跑 agent 時,窗口不一定在前臺:審批權限、回答追問、審閱計劃或一輪任務結束,如果只靠界面內提示,很容易錯過。郵件或第三方推送又要額外配置。下面介紹社區插件 dsh-win-approval-notify(GitHub 倉庫 pengpenglele/dsh-approval-notify):在 Windows 10/11 上走系統通知中心,在需要你授權、等你回答/審閱、或任務階段結束時彈出 Toast,原因文案可配置是否帶全文;開關集中在 DSH 插件 頁,保存即生效。

這是什麼

dsh-win-approval-notify 是 DSH 桌面版(profile desktop)的客戶端插件,維護者爲 pengpenglele,npm 包名 dsh-win-approval-notify,許可證 MIT。插件只讀監聽會話事件,通過 Windows PowerShell 5.1 的 WinRT Toast 投遞通知,來源顯示 DeepSeek Harness(默認 AUMID com.deepseek.dsh)。它不註冊 approval/request / user-questions/request 等 waterfall,不參與審批或作答本身。

SkillHub 目錄頁:pengpenglele/dsh-approval-notify,分類爲客戶端。

核心功能

通知可在以下場景分別開關(共 8 類獨立開關,含審批、提問、計劃審閱、任務完成/出錯/被攔截/被中斷/達到上限等):

  1. 審批:還可按工具名白名單過濾,減少無關提醒。
  2. 提問與計劃審閱:等你輸入或確認時提醒。
  3. 一輪任務結束:完成、出錯、被攔截、被中斷、達到上限等狀態可單獨控制。

其它行爲要點:

  • 通知裏的「會話」顯示會話標題;無標題時用工作區目錄名,不展示 session id。
  • 後臺任務(子代理,例如 dsh-mnemon 的記憶整理)默認不提醒,可在設置頁打開。
  • 觸發與節奏:同會話冷卻、延遲合併、併發通知上限等可在圖形界面調整。
  • 外觀:停留時長、靜音、標題前綴、AUMID、是否帶完整原因/題目文本。
  • Toast 失敗時插件會嘗試原生置頂卡片兜底;診斷頁支持按場景發測試通知並查看最近結果與日誌路徑。

環境要求

安裝前請確認:

  • Windows 10/11,且存在 C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe(WinRT Toast 投影僅在 PowerShell 5.1 可用)。
  • DSH 桌面版,profile desktop,運行時 0.2.x(README 註明在 0.2.1-rc.3 上開發;package.json 中 dsh.engines.dsh 爲 >=0.2.1-rc.2)。
  • Windows 設置 → 系統 → 通知 中允許 “DeepSeek Harness”,並關閉專注助手/勿擾(Win11 建議取消「全屏時自動開啓請勿打擾」)。

插件以當前 DSH 進程權限運行;安裝前可在 GitHub 查看源碼與 MIT 許可證。插件聲明不發起網絡請求、不讀憑據。

安裝與啓用

方式一:在 DSH 裏直接添加(推薦)

  1. 打開 DeepSeek Harness,點側欄 插件。
  2. 點 添加插件。
  3. 輸入包名 dsh-win-approval-notify(固定版本可寫 dsh-win-approval-notify@0.1.1),點 安裝。
  4. 裝完後完全退出並重啓 DeepSeek Harness。

若默認安裝源(國內鏡像)搜不到包,可將安裝源切到 npm 官方源 再裝一次。

方式二:命令行安裝

在普通 PowerShell(非 DSH 沙箱終端)中執行,將 <DSH 安裝目錄> 換成本機路徑:

& "<DSH 安裝目錄>\resources\runtime\cli\bin\dsh.cmd" plugin --profile desktop add dsh-win-approval-notify
& "<DSH 安裝目錄>\resources\runtime\cli\bin\dsh.cmd" plugin --profile desktop add "link:E:/codeDir/ds_tools/dsh-approval-notify"

本地 link 時需先在插件目錄執行 pnpm install 安裝依賴;從 npm 安裝時會自動帶上。無論哪種方式,安裝後都應完全退出並重啓 DSH。

驗證:側欄 插件 → 已安裝 → dsh-win-approval-notify → 行 approval-notify,行詳情裏應出現 配置 按鈕。

配置

路徑:插件 → dsh-win-approval-notify → 行 approval-notify → 配置。頁面分四組:通知哪些情況、觸發與節奏、通知外觀、診斷。只有點擊 保存 才寫入當前 profile 的 Cordis patch,並通過 volatile 配置引用立即生效,無需重啓。恢復默認 只重置草稿,仍需保存。

未打開過設置頁時,默認值寫在包內 cordis.patch.yml 中,插件仍可工作。

典型用法與自測

  1. 設置頁 → 診斷 → 選擇場景 → 發送測試通知:應彈出對應樣式通知,頁面顯示成功或失敗原因。
  2. 真實場景:讓 agent 執行需升級權限的操作(例如寫工作區外文件)→ 審批面板出現後約 0.5 秒應收到通知。
  3. 不經過 DSH,在普通 PowerShell 中驗證 Toast 通道(沙箱終端爲 Low integrity,WinRT Toast 會被拒絕,錯誤碼 0x80073D54):
$ps = "$env:SystemRoot\System32\WindowsPowerShell\v1.0\powershell.exe"
$task = Join-Path $env:TEMP "dsh-toast-test.json"
'{"title":"測試","body":"通道正常","appId":"com.deepseek.dsh","duration":"long","silent":false}' | Set-Content $task -Encoding UTF8
& $ps -NoProfile -ExecutionPolicy Bypass `
  -File "$env:USERPROFILE\.dsh\profiles\desktop\node_modules\dsh-win-approval-notify\lib\toast.ps1" `
  -TaskFile $task

適用場景與注意

適合:在 Windows 上使用 DSH 桌面版、希望離開窗口時仍能收到審批/追問/任務狀態提醒的開發者。

注意:

  • 僅支持 win32(package.json 的 os 字段),非 Windows 環境無法使用。
  • 安裝後首次必須重啓 DSH;完全沒通知時檢查各場景開關、Windows 通知總開關與專注助手。
  • 通知進中心但不彈橫幅:可在 Windows 通知設置裏對「DeepSeek Harness」關閉再打開「顯示通知橫幅」。
  • 日誌:%TEMP%\dsh-win-approval-notify\notify.log;Toast 失敗見 toast-error.log;排查橫幅見 diag.log。日誌不記錄原因/題目全文。
  • 舊版 DSH 若無 plugins.row.config slot,配置頁可能不出現,可改 cordis.patch.yml(功能不受影響)。

卸載示例(路徑按本機 DSH 安裝目錄修改):

& "<DSH 安裝目錄>\resources\runtime\cli\bin\dsh.cmd" plugin --profile desktop remove dsh-win-approval-notify

然後重啓應用。

結尾

DSH 生態強調「一切皆插件」;SkillHub 等社區目錄獨立於 DeepSeek / 幻方,並非官方應用商店。dsh-win-approval-notify 把「等人介入」和「一輪結束」收斂到 Windows 原生通知,配置留在 DSH 插件頁,適合桌面版長時間跑任務時使用。

  • 目錄頁:https://www.skillhub.cn/plugins/pengpenglele/dsh-approval-notify
  • GitHub:https://github.com/pengpenglele/dsh-approval-notify
羽毛球分组比赛记分
小程序二维码

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

小夜