前言¶
DeepSeek Harness(DSH)的 Agent 運行是異步的。在長時間任務或後臺運行時,單純依賴控制台日誌容易錯過關鍵狀態變更。dsh-windows-notify 插件爲 DSH 提供了 Windows 原生的系統級提醒能力,通過 Toast 彈窗、自定義提示音和任務欄氣泡角標,將 Agent 的運行狀態、待決策提示直接同步到桌面環境。
該插件作爲原生 DSH 配置文件插件(Profile Bundle)開發,不修改任何內置包文件,安裝升級後重啓即可生效。
核心功能¶
-
Agent 回合狀態通知
監聽 Agent 狀態從running到idle的變化。當 Agent 完成當前回合或任務結束時,觸發系統 Toast 彈窗。支持「僅角標」模式與 5 秒窗口內的合併摘要顯示。 -
決策提醒與角標聯動
當 Agent 調用ask_user_question需要輸入時,彈出「DSH 需要你的決定 ❓」提示框,列出問題與選項。用戶回答或取消後,任務欄托盤圖標右上角的紅色氣泡角標自動減 1。 -
任務欄氣泡角標
托盤圖標右上角的紅色氣泡同時顯示「待回覆決策」與「已完成但未查看」的數量。單擊托盤圖標可打開 DSH GUI 並清零已完成項。DSH 退出後,托盤進程會通過端口看門狗自動關閉。 -
提示音與免打擾
內置四套合成提示音(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,這是一個值得安裝的輔助工具。