前言¶
使用 DeepSeek Harness(DSH)跑任務時,任務完成、等待審批、Agent 等待回答,這些狀態如果只出現在 DSH 界面或日誌裏,離開屏幕就不容易及時發現。dsh-notify-windows 是一個 DSH 插件,作用是在這些關鍵節點向 Windows 桌面發送系統通知,讓你不需要一直盯着 DSH 界面。
這是什麼¶
dsh-notify-windows 是 SeverusZh 維護的 DeepSeek Harness(DSH)插件,用於在任務完成、等待審批、等待回答時發送 Windows 系統桌面通知。
資料中標註平臺爲 Windows 10/11。運行環境要求 node >=20,peer dependency 爲 @deepseek-ai/cordis: ^4.0.1。許可證爲 MIT © 2026 SeverusZh。
核心功能¶
任務完成、出錯、輸出超限提醒¶
插件監聽會話 turn/end 事件。當任務完成、出錯或輸出達到 token 上限時,會發送 Windows 桌面通知。通知標題會自動使用會話標題,正文中會顯示原因與輪次。
權限審批提醒¶
插件監聽 approval/asked 事件。當有操作等待審批時,會發送提醒。
審批策略爲 never 時,審批會被自動拒絕、不會等待,插件會跳過提醒;策略爲 ask 時纔會提醒。
Agent 提問提醒¶
當 Agent 調用 ask_user_question 等待回答時,插件會發送提醒。
插件會掃描 run_code 程序源碼中的 tools.ask_user_question( 調用,並從中提取問題文本用於通知。
防打擾¶
插件默認忽略子代理(subagent)會話,只提醒主會話。
如果確實需要提醒子代理會話,可以將 includeSubagents 設爲 true。
通知發送與診斷¶
通知通過 Windows PowerShell 5.1 的 WinRT Toast API 發送,並自動註冊 HKCU 的 AppUserModelId,無需管理員權限。
插件支持可選日誌,日誌路徑爲 %TEMP%\dsh-notify\notify.log,也支持 debug 事件日誌。
點擊通知跳轉¶
任務完成、等待審批、等待回答的通知可以打開 DSH Web GUI。打開時優先聚焦已打開的 DSH 瀏覽器標籤或 Chrome Application 窗口。
目標 URL 會帶 ?session=<id> 參數。在 DSH 0.1.0-rc.8 前端中,該參數暫不消費;點擊後打開的是 DSH 界面並聚焦已有窗口。
首次點擊時會自動註冊 dshnotify:// 協議處理器,註冊在 HKCU,無需管理員權限。如果跳轉失敗,會靜默降級爲默認瀏覽器打開。
WSL 支持¶
在 WSL 環境下,插件會調用 wslpath -w 將腳本路徑轉換爲 \\wsl.localhost\... UNC 路徑,並優先通過固定路徑調用 PowerShell。
安裝與啓用¶
1、安裝插件:
dsh plugin --profile web add dsh-notify-windows
2、重啓 DSH 並刷新瀏覽器後生效:
dsh --profile web
注意:不要再用 - insert: 手動添加 dsh-notify,否則可能報 duplicate loader entry id: dsh-notify。
3、更新或卸載插件:
dsh plugin --profile web update dsh-notify-windows
dsh plugin --profile web remove dsh-notify-windows
更新插件代碼後,需要執行更新命令並重啓 DSH 宿主。
調整配置¶
插件配置可以在 $DSH_HOME/profiles/web/cordis.patch.yml 裏按 id 覆蓋主條目。該文件會被運行中的 DSH 熱監視,改動立即生效,無需重啓。
例如:
- id: dsh-notify
name: dsh-notify-windows
config:
includeSubagents: true
驗證與排查¶
可以在插件目錄中執行 smoke test:
node scripts\smoke-test.mjs
如果收不到通知,先檢查 Windows 通知設置、專注助手,以及 %TEMP%\dsh-notify\notify.log 中的 error 條目。
適用場景與注意¶
這個插件適合在 Windows 10/11 上使用 DSH,並且希望任務完成、等待審批、Agent 等待回答時有桌面提醒的場景。
使用前注意:
- 插件會以當前
dsh進程權限運行,安裝前應檢查源碼與許可證。 - DSH 0.1.0-rc.8 前端暫不支持按 URL 直達單個會話;點擊通知後打開的是 DSH 界面並聚焦已有窗口。
- 審批策略爲
never時,審批會被自動拒絕、不會等待,插件會跳過提醒。 - 默認忽略子代理會話;如需提醒子代理,需要將
includeSubagents設爲true。
結尾¶
dsh-notify-windows 把 DSH 中需要人工關注的狀態接到 Windows 桌面通知裏,減少“任務已經結束或正在等待輸入,但人不在 DSH 界面前”的情況。
GitHub 倉庫:https://github.com/SeverusZh/dsh-notify-windows
項目資料中列出的目錄頁:https://www.skillhub.cn/plugins/SeverusZh/dsh-notify-windows。該社區目錄是獨立站點,不是官方應用商店。