前言¶
DeepSeek Harness (DSH) 採用「一切皆插件」的設計理念,允許用戶在後臺運行會話。當會話需要人工介入(如批准、回答問題)或發生錯誤時,如果終端窗口未置頂,這些關鍵信息很容易被忽略。
dsh-desktop-notifications 插件旨在解決這個問題。它在 Windows 平臺上爲 DSH 提供原生 Toast 通知,確保你不會錯過任何重要事件。
插件定位¶
這是一個 Windows 桌面通知插件,用於處理 DeepSeek Harness (dsh) 的各類後臺事件。插件由開發者 FANLS05 維護,採用 MIT 許可證。
它解決了在後臺運行 DSH 時,無法及時感知「審批請求」、「用戶提問」、「運行完成」或「錯誤提示」的問題。
核心功能¶
該插件提供以下核心能力:
- 事件覆蓋
支持五種核心場景的原生通知:審批請求、用戶提問、運行完成、執行錯誤、以及登錄過期提示。 - 對話名稱優先
通知的第一行固定爲會話標題(從會話日誌中摺疊獲取)。當多個會話同時運行時,你可以通過標題快速區分來源。 - 即時響應
對於「審批」和「提問」類事件,通知會在請求到達的瞬間觸發。如果需要,可以通過配置增加延遲。 - Markdown 免疫
通知文本會自動移除 Markdown 的強調標記(如**)、代碼 spans 和鏈接語法,僅保留純文本內容,確保顯示整潔。 - 審計日誌
每一條發出的通知都會被記錄到~/.dsh/dsh-desktop-notifications.log文件中,方便排查爲什麼某個通知沒有彈出。 - 無硬依賴
插件不依賴複雜的構建工具或原生模塊,僅使用純 ESM 模塊和一段 PowerShell 腳本即可運行。
安裝與啓用¶
確保你的 DSH 已啓用桌面配置文件,並且環境包含 Node 20+。
安裝命令如下:
dsh plugin --profile desktop add github:FANLS05/dsh-desktop-notifications
安裝後,在 DSH 的插件管理器中,找到 dsh-desktop-notifications 行目,確保其處於啓用狀態。
配置方法¶
插件支持通過配置文件或 GUI 進行配置。
1. 通過配置文件¶
編輯你的桌面配置文件(通常是 ~/.dsh/profiles/desktop/cordis.patch.yml),在 desktop-notifications 行目下添加 config 塊:
- id: desktop-notifications
config:
notifySubagent: true # 子代理結束時通知
notifyWorkflow: true # 工作流結束時通知
sound: false # 關閉通知音效
stripMarkdown: false # 保留 Markdown 原樣(默認會自動清理)
approvalDelayMs: 1500 # 審批延遲 1500ms
questionDelayMs: 1500 # 提問延遲 1500ms
notifyOnMount: true # 啓動時發送一次檢查通知
2. 通過 GUI¶
打開 Settings → Plugins,展開 dsh-desktop-notifications 包,點擊 desktop-notifications 行目的配置按鈕,即可在表單中修改上述選項。
注意事項¶
- Windows 限制:該插件僅支持 Windows 平臺。
- 進程依賴:DSH 的桌面進程是 Electron 工具進程,沒有內置的
NotificationAPI。插件必須通過啓動一個 PowerShell 子進程來發布通知。 - 語言限制:目前通知的第二行文本爲中文(匹配作者 UI 語言)。
- 環境要求:需要 DSH 已配置桌面配置文件,且環境包含 Node 20+。
總結¶
dsh-desktop-notifications 是在 Windows 上使用 DSH 進行後臺開發時的實用工具。它利用真實的 Windows Toast 機制,將對話名稱、事件類型和錯誤信息清晰地呈現在桌面右下角。