dsh-windows-notify:Windows 級系統提醒插件

前言

DeepSeek Harness(DSH)的 Agent 運行是異步的。在長時間任務或後臺運行時,單純依賴控制台日誌容易錯過關鍵狀態變更。dsh-windows-notify 插件爲 DSH 提供了 Windows 原生的系統級提醒能力,通過 Toast 彈窗、自定義提示音和任務欄氣泡角標,將 Agent 的運行狀態、待決策提示直接同步到桌面環境。

該插件作爲原生 DSH 配置文件插件(Profile Bundle)開發,不修改任何內置包文件,安裝升級後重啓即可生效。

核心功能

  1. Agent 回合狀態通知
    監聽 Agent 狀態從 running 到 idle 的變化。當 Agent 完成當前回合或任務結束時,觸發系統 Toast 彈窗。支持「僅角標」模式與 5 秒窗口內的合併摘要顯示。

  2. 決策提醒與角標聯動
    當 Agent 調用 ask_user_question 需要輸入時,彈出「DSH 需要你的決定 ❓」提示框,列出問題與選項。用戶回答或取消後,任務欄托盤圖標右上角的紅色氣泡角標自動減 1。

  3. 任務欄氣泡角標
    托盤圖標右上角的紅色氣泡同時顯示「待回覆決策」與「已完成但未查看」的數量。單擊托盤圖標可打開 DSH GUI 並清零已完成項。DSH 退出後,托盤進程會通過端口看門狗自動關閉。

  4. 提示音與免打擾
    內置四套合成提示音(soft/brisk/calm/crisp),無版權風險,可在設置頁試聽。支持免打擾時段(支持跨午夜設置),期間僅累計角標,不彈窗不發聲。同時支持跟隨 Windows 專注助手或系統勿擾模式靜音。

安裝與啓用

安裝命令如下,將插件添加到指定 DSH Profile 中:

dsh plugin --profile web add dsh-windows-notify

安裝或升級後,必須重啓 DSH 才能加載新的插件配置和補丁。

配置與用法

設置頁配置

插件在 DSH 設置頁增加了一個「通知」區段,命名空間爲 dsh-notify。修改配置後保存即生效。

配置項 默認值 說明
sound soft 提示音風格:soft / brisk / calm / crisp
soundEnabled true 提示音總開關
quietHours.enabled / start / end false / 22:00 / 08:00 免打擾時段(支持跨午夜)
respectSystemDnd true 跟隨 Windows 專注助手/勿擾
completeMode toast 完成通知模式:toast 彈窗 / badge-only 僅角標
completeMerge true 5 秒窗口內合併完成摘要

環境變量控制

通過環境變量可全局控制插件行爲:

  • DSH_NOTIFY=0:禁用所有通知。
  • DSH_NOTIFY_SOUND=<wav路徑>:覆蓋默認提示音路徑。
  • DSH_NOTIFY_MIN_INTERVAL_MS:設置通知節流間隔(防止高頻彈窗)。

技術架構與限制

插件機制

插件採用原生 DSH 插件機制實現:
* Profile Bundle:通過 cordis.patch.yml 補丁層向 Profile 組合注入依賴。
* Settings 命名空間:使用 ctx.settings.register 註冊 dsh-notify 配置,持久化到 $DSH_HOME/settings.yaml。
* WebServer 路由:提供 /api/dsh-notify/config(讀寫配置)與 /api/dsh-notify/preview(試聽)接口。

技術實現

  • 宿主端:監聽 agent/status 事件,處理決策提醒邏輯。
  • 瀏覽器端:通過 __ModuleLoader__ 工廠零構建加載,通過自有路由讀寫配置(避開 DSH 的白名單限制)。
  • 通知內核:通過 PowerShell 腳本調用 Windows WinRT Toast API 和 ITaskbarList3 接口實現原生 UI。腳本以 UTF-8 BOM 編碼保存以支持中文。

已知限制

  • 僅提醒:當前版本僅提供通知展示,不支持 Toast 內置按鈕交互(受限於 Windows 對未打包應用的限制)。
  • 熱加載限制:Bundle 補丁不支持熱加載,安裝或升級插件後必須重啓 DSH。
  • 平臺限制:僅支持 Windows 10/11。非 win32 平臺(如 Linux、macOS)所有提醒邏輯會自動跳過。
  • 數據隱私:配置與日誌僅存儲於本地 $DSH_HOME 目錄,不聯網、無遙測、不讀取憑據。

結語

dsh-windows-notify 是一個專注於提升 DSH Windows 用戶體驗的插件,它通過原生的系統通知機制,解決了長時間運行任務時信息獲取滯後的問題。如果你在 Windows 平臺使用 DSH,這是一個值得安裝的輔助工具。

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

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

小夜