前言¶
在 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 類獨立開關,含審批、提問、計劃審閱、任務完成/出錯/被攔截/被中斷/達到上限等):
- 審批:還可按工具名白名單過濾,減少無關提醒。
- 提問與計劃審閱:等你輸入或確認時提醒。
- 一輪任務結束:完成、出錯、被攔截、被中斷、達到上限等狀態可單獨控制。
其它行爲要點:
- 通知裏的「會話」顯示會話標題;無標題時用工作區目錄名,不展示 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 裏直接添加(推薦)¶
- 打開 DeepSeek Harness,點側欄 插件。
- 點 添加插件。
- 輸入包名
dsh-win-approval-notify(固定版本可寫dsh-win-approval-notify@0.1.1),點 安裝。 - 裝完後完全退出並重啓 DeepSeek Harness。
若默認安裝源(國內鏡像)搜不到包,可將安裝源切到 npm 官方源 再裝一次。
方式二:命令行安裝¶
在普通 PowerShell(非 DSH 沙箱終端)中執行,將 <DSH 安裝目錄> 換成本機路徑:
& "<DSH 安裝目錄>\resources\runtime\cli\bin\dsh.cmd" plugin --profile desktop add dsh-win-approval-notify
方式三:本地 link(開發)¶
& "<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 中,插件仍可工作。
典型用法與自測¶
- 設置頁 → 診斷 → 選擇場景 → 發送測試通知:應彈出對應樣式通知,頁面顯示成功或失敗原因。
- 真實場景:讓 agent 執行需升級權限的操作(例如寫工作區外文件)→ 審批面板出現後約 0.5 秒應收到通知。
- 不經過 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.configslot,配置頁可能不出現,可改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