dsh-desktop-notifier:Windows 桌面通知與選擇彈窗

前言

在 DeepSeek Harness(DSH)裏跑長任務時,窗口不在前臺或收進系統托盤,往往要等你自己切回應用才知道一輪對話結束、某步出錯,或模型在等 ask_user_question 的答覆。Web UI 裏的對話框和審批條仍然可用,但容易被別的窗口擋住。下面介紹的插件把這幾類事件接到 Windows 桌面右下角的原生卡片上,點卡片即可查看、作答或審批,不必一直盯着 Harness 窗口。

這是什麼

dsh-desktop-notifier 是 DSH 的 Host 插件(維護者 Mi-liu),分類爲客戶端。它在 Windows 桌面右下角 彈出通知卡片與選擇卡片:完成通知、出錯通知、ask_user_question 選擇判斷、工具審批請求。實現上 Host 側用 Node 監聽事件,彈窗由 scripts/popup.ps1(WPF,Windows PowerShell 5.1 + .NET Framework 4.x)渲染。非 Windows 平臺 Host 端保持靜默。

社區目錄頁:skillhub.cn 條目。源碼與說明:GitHub 倉庫。當前 package 版本爲 1.6.0,許可證 MIT。

核心功能

完成通知

一輪對話結束時彈出「本輪工作完成」卡片,含本輪最後一段回覆、工作區名、時間、用時。點卡片任意位置等同於「查看」:Harness 窗口前置並切回該對話;窗口在系統托盤時也會被喚出。右上角 ✕ 僅關閉卡片。

出錯通知

某個 step 失敗時彈出「本輪出錯」卡片(紅色強調)。點卡片或 ✕ 均可關閉。

選擇判斷彈窗

模型調用 ask_user_question 時,問題與選項以原生卡片展示(選項垂直排列,長文案自動換行)。點選項即作答;底部輸入框可手動輸入後發送或回車,作爲自定義回答。關閉、超時或無法渲染時回落 DSH 自帶 Web UI 對話框。

限制(README 已寫明):一次只接管 1~4 個問題、每題 1~5 個選項且不支持多選;其餘交給 Web UI。

審批請求卡片

DSH 需要授權工具調用時,彈出「允許一次 / 拒絕」卡片。默認僅在 Harness 不在前臺時彈(前臺仍用應用內審批);超時或關閉交回 Web UI。不提供「永遠允許」。

外觀與位置

卡片配色跟隨 DSH 設計 token(theme: auto 等)。排布貼近 Windows 11 通知樣式。卡片出現在 DSH 主窗口所在屏幕;找不到窗口時退到鼠標所在屏再退主屏。同一時刻最多疊 2 張通知卡,超出跳過不排隊;問題卡片串行彈出。

提示音與設置頁

內置多種系統音效,可填自定義 .wav 路徑。GUI 設置 → 桌面通知 可改全部選項,改後對下一次彈窗生效;首次安裝或插件新增客戶端半側後需完全退出 DSH 再打開,設置頁纔會出現(宿主啓動時掃描 dsh.client 並緩存到進程結束)。

安裝與啓用

推薦在 DSH Desktop 插件 頁 添加插件,填入 Git 地址或預編譯包,安裝後 啓用,再 完全退出並重啓 DSH。

Git 地址:

https://github.com/Mi-liu/dsh-desktop-notifier

或簡寫:

github:Mi-liu/dsh-desktop-notifier

預編譯包(Release v1.6.0):

https://github.com/Mi-liu/dsh-desktop-notifier/releases/download/v1.6.0/dsh-desktop-notifier-1.6.0.tgz

命令行(等價於應用內安裝;Desktop 用戶注意 profile 可能與 CLI 默認不一致):

dsh plugin --profile <profile> add github:Mi-liu/dsh-desktop-notifier

勿僅按 npm 包名 dsh-desktop-notifier 安裝:npm 上同名包爲另一位作者的 Web 側通知插件。

若已安裝 dshmarket,可在 插件 → 發現 中搜索安裝(條目來自 awesome-dsh-plugin)。

依賴:Node 側 @deepseek-ai/schemastery(DSH 自帶即可);彈窗僅需 Windows PowerShell 5.1,不需要 PowerShell 7。

典型用法與配置

設置頁分組

分組 內容概要
通知範圍 總開關、完成通知、出錯通知、是否接管 ask_user_question
通知條件 始終通知 / 僅在 DSH 未聚焦時通知
審批請求 何時接管、approvalTimeoutMs
提醒方式 提示音類型、自定義 .wav、試聽
外觀與交互 卡片主題、點通知卡是否前置窗口
時間與內容 最短回合、自動消失、選擇卡等待、正文截斷、文案語言
測試 三種測試通知按鈕

配置持久化在 profile 的 cordis.patch.yml(desktop-notifier 的 config),也可直接改文件。

常用配置鍵(節選)

鍵 默認 含義
enabled true 總開關
minTurnMs 5000 短於該毫秒不彈完成卡
notifyWhen always always / unfocused
answerQuestions true 桌面接管提問
answerApprovals unfocused unfocused / always / off
infoTimeoutMs 12000 通知卡自動消失
questionTimeoutMs 60000 選擇卡超時後交 Web UI
theme auto 跟隨 DSH / 強制淺深 / 跟隨 Windows
sound default 按類型或具體音效名;soundFile 優先
focusOnOpen true 點完成通知時前置 Harness
locale zh 文案語言

單獨預覽彈窗(不經過 DSH)

powershell -NoProfile -File scripts/popup.ps1 -PayloadFile test/payload-info.json

排查「爲什麼沒彈」

狀態寫在:

%TEMP%\dsh-desktop-notifier-state.json

客戶端模塊是否進圖可看:

%TEMP%\dsh-desktop-notifier-clientgraph.json

own: false 且列表無本插件時,重啓 Harness 讓宿主重新掃描包聲明。

適用場景與注意

適合在 Windows 10/11 上用 DSH Desktop 或 Harness、且經常 multitasking 的開發者:後臺跑 agent 時用桌面角標獲知完成/錯誤,在卡片上直接答選擇題或點審批,再一鍵回到對應對話。

務必知曉:

  • 插件以當前 dsh 進程權限 運行;安裝前請閱讀源碼與 MIT 許可證,確認可接受其行爲(彈窗、讀主題、寫 %TEMP% 診斷文件等)。
  • 僅 Windows;多顯示器混合 DPI 下位置可能有少量像素偏差。
  • 升級插件後,「點查看切回對話」依賴客戶端半側長輪詢;最穩妥是重啓 Harness 讓頁面重新加載(Host 側彈窗可熱重載)。
  • skillhub.cn 等社區目錄爲獨立生態站點,與 DeepSeek / 幻方無官方從屬關係;安裝來源以 GitHub README 爲準。

結尾

dsh-desktop-notifier 把 DSH 的回合結束、錯誤、提問與審批接到 Windows 原生右下角卡片,並可通過設置頁細調通知條件、音效與主題。需要條目說明時打開 目錄頁,安裝與配置細節以 GitHub README 爲準。

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

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

小夜