前言¶
DeepSeek Harness(DSH)桌面版的審批卡片只出現在窗口內。你切去瀏覽器、全屏看視頻,或把窗口最小化後,待審批的請求無人看見,任務會一直掛着;一輪跑完也不一定能及時察覺。
dsh-desktop-notifier 是社區維護的客戶端插件(qmzh-zyz),把兩類提醒挪到 Windows 系統層:審批請求在桌面右下角彈通知,任務完成時在任務欄圖標上疊紅色數字角標並響提示音。DSH 在前臺時可按配置少打擾;切走後再提醒。
這是什麼¶
插件全名 dsh-desktop-notifier,歸類爲客戶端工具,當前 package 版本爲 0.2.0,MIT 許可。宿主側只用 Node 內置模塊,通知與角標通過系統自帶的 PowerShell 5.1 調用,不額外安裝運行時。
適用環境:Windows 10 1809+ 或 Windows 11;DeepSeek Harness 桌面版 0.2.1 及以上。非 Windows 平臺會靜默禁用。
目錄頁:https://www.skillhub.cn/plugins/qmzh-zyz/dsh-desktop-notifier
源碼:https://github.com/qmzh-zyz/dsh-desktop-notifier
核心功能¶
下面按事件說明插件已覈實的能力。
審批請求:右下角通知¶
監聽 approval/request(waterfall,prepend + global)。同一 callId 5 秒內去重;默認在 DSH 不在前臺時,於桌面右下角彈出通知,標題、工具名、申請原因一併展示。通知走 WinRT toast,可按 scenario 嘗試穿透「請勿打擾」與全屏;拿不到包標識時自動降級爲托盤氣泡。監聽器只透傳審批語義,不代爲回答。
任務完成:任務欄角標與提示音¶
在 session/event 的 turn/end(reason.kind === 'completed')路徑上計數。子代理回合不計入;短於 completion.minTurnMs 的回合可過濾。完成時可在任務欄 DSH 按鈕上顯示紅色數字角標(經 ITaskbarList3::SetOverlayIcon,非 Electron 自繪),並播放提示音;可選再彈一條完成 toast。切回 DSH 后角標可在約 2 秒內清掉。
其它行爲¶
- 點擊通知可將 DSH 拉到前臺(
dshnotifier:協議,用戶註冊表,無需管理員)。 - 審批與完成的聲音由插件合成,不依賴系統通知音。
- 可選
debugLog路徑,便於排查「沒彈」類問題。
安裝與啓用¶
方式一:由 DSH 安裝(推薦)¶
在 DSH「插件」頁選「從 Git 安裝」並填倉庫地址,或調用內置 plugin_manager:
install_bundle target = github:qmzh-zyz/dsh-desktop-notifier
桌面端 profile 由客戶端管理;命令行 dsh plugin --profile desktop add ... 可能被拒絕,走插件頁或 plugin_manager 更穩。
方式二:本地源碼(開發 / 調試)¶
- 將倉庫複製到固定目錄,例如
%USERPROFILE%\.dsh\plugins\dsh-desktop-notifier。 - 在
%USERPROFILE%\.dsh\profiles\desktop執行:
pnpm add link:$env:USERPROFILE\.dsh\plugins\dsh-desktop-notifier
- 把
"dsh-desktop-notifier"追加到該 profilepackage.json的dsh.profile.bundles數組末尾。 - 重開 DeepSeek Harness。
第 3 步不能省:pnpm add 只裝進 node_modules,未寫入 bundles 的包不會被加載。
裝完後可用倉庫內 demo 自檢(不必先重啓客戶端):
node tools/demo.mjs focus
node tools/demo.mjs toast approval
node tools/demo.mjs badge 3
node tools/demo.mjs chime
配置¶
在 profile 的 cordis.patch.yml 中按 id desktop-notifier 覆蓋,例如:
- id: desktop-notifier
config:
badgeColor: '#f5455c'
approval:
repeat: 2
scenario: urgent
completion:
minTurnMs: 5000
常用項包括:enabled 總開關;windowMatch 匹配任務欄按鈕的進程名(默認 DeepSeek Harness);badgeColor 角標顏色;approval.skipWhenFocused 前臺時不彈審批;approval.repeat / repeatIntervalSec 未處理時的追加提醒;completion.minTurnMs 短回合不計數;appPath 在 DSH 已退出時用於點通知重新拉起。完整鍵與默認值見倉庫 README 配置表。
典型用法¶
按 README 描述的驗收路徑操作即可復現:
- 最小化 DSH,觸發需要審批的操作 → 右下角出現「DSH 需要你審批」類通知。
- 在 DSH 或通知流程中完成「允許一次」→ 任務繼續。
- 任務仍在後臺跑完、你停留在其它窗口 → 任務欄 DSH 圖標出現紅色角標並響提示音。
- 切回 DSH → 角標消失,計數清零。
需要強提醒審批時,可將 approval.scenario 設爲 urgent;希望過濾隨手改句造成的短回合完成提醒時,調高 completion.minTurnMs。
適用場景與注意¶
適合誰: 經常在 DSH 跑長任務、又會切換窗口的 Windows 用戶;希望審批與完成態不依賴「一直盯着 DSH 窗口」。
平臺與限制: 僅 Windows 具備任務欄角標與完整通知通道。托盤氣泡降級不能穿透獨佔全屏,也不支持點擊跳回;多實例 DSH 時助手默認按進程名匹配第一個窗口,可用 windowMatch 調整。通知文案目前以中文爲主,approval.title 可改。
安全與權限: 插件在 DSH 進程權限下運行,會寫用戶級協議註冊表並調用 PowerShell。安裝前建議閱讀源碼與 MIT 許可證,確認符合你的環境策略。DSH 插件生態以「一切皆插件」爲理念;SkillHub 等目錄爲社區站點,與 DeepSeek / 幻方無官方從屬關係。
卸載:從 dsh.profile.bundles 刪除 dsh-desktop-notifier,pnpm remove dsh-desktop-notifier,重開客戶端。
結尾¶
dsh-desktop-notifier 針對「窗口外看不見審批、不知道任務已跑完」做了系統層補強:審批 toast、完成角標與提示音,且不改動審批本身的處理邏輯。若你只想要通知或只要角標,README 中也列出了同類插件供組合或替換。