dsh-notify-windows:給 DSH 增加 Windows 桌面通知

前言

使用 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。該社區目錄是獨立站點,不是官方應用商店。

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

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

小夜