dsh-desktop-notifications: 爲 DeepSeek Harness 提供 Windows 原生通知

前言

DeepSeek Harness (DSH) 採用「一切皆插件」的設計理念,允許用戶在後臺運行會話。當會話需要人工介入(如批准、回答問題)或發生錯誤時,如果終端窗口未置頂,這些關鍵信息很容易被忽略。

dsh-desktop-notifications 插件旨在解決這個問題。它在 Windows 平臺上爲 DSH 提供原生 Toast 通知,確保你不會錯過任何重要事件。

插件定位

這是一個 Windows 桌面通知插件,用於處理 DeepSeek Harness (dsh) 的各類後臺事件。插件由開發者 FANLS05 維護,採用 MIT 許可證。

它解決了在後臺運行 DSH 時,無法及時感知「審批請求」、「用戶提問」、「運行完成」或「錯誤提示」的問題。

核心功能

該插件提供以下核心能力:

  1. 事件覆蓋
    支持五種核心場景的原生通知:審批請求、用戶提問、運行完成、執行錯誤、以及登錄過期提示。
  2. 對話名稱優先
    通知的第一行固定爲會話標題(從會話日誌中摺疊獲取)。當多個會話同時運行時,你可以通過標題快速區分來源。
  3. 即時響應
    對於「審批」和「提問」類事件,通知會在請求到達的瞬間觸發。如果需要,可以通過配置增加延遲。
  4. Markdown 免疫
    通知文本會自動移除 Markdown 的強調標記(如 **)、代碼 spans 和鏈接語法,僅保留純文本內容,確保顯示整潔。
  5. 審計日誌
    每一條發出的通知都會被記錄到 ~/.dsh/dsh-desktop-notifications.log 文件中,方便排查爲什麼某個通知沒有彈出。
  6. 無硬依賴
    插件不依賴複雜的構建工具或原生模塊,僅使用純 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 行目的配置按鈕,即可在表單中修改上述選項。

注意事項

  1. Windows 限制:該插件僅支持 Windows 平臺。
  2. 進程依賴:DSH 的桌面進程是 Electron 工具進程,沒有內置的 Notification API。插件必須通過啓動一個 PowerShell 子進程來發布通知。
  3. 語言限制:目前通知的第二行文本爲中文(匹配作者 UI 語言)。
  4. 環境要求:需要 DSH 已配置桌面配置文件,且環境包含 Node 20+。

總結

dsh-desktop-notifications 是在 Windows 上使用 DSH 進行後臺開發時的實用工具。它利用真實的 Windows Toast 機制,將對話名稱、事件類型和錯誤信息清晰地呈現在桌面右下角。

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

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

小夜