DeepSeek Harness 插件:dsh-notifier-plugin

DeepSeek Harness (DSH) 採用了插件化架構,開發者常在後臺運行任務。當任務結束或遇到中斷時,缺乏即時反饋會增加調試成本。dsh-notifier-plugin 旨在解決這一問題,通過系統級通知將關鍵事件反饋給用戶。

插件介紹

這是一個由 hotpot-labs 維護的客戶端插件。它提供桌面通知功能,支持在運行完成、模型提問 (ask_user_question) 或等待批准(沙箱升級/工具權限)時觸發通知。

通知內容會反映運行結果(已完成/錯誤/中止/達到 token 上限/被阻塞/被中斷)。在傳輸層面,支持在打包時切換:默認使用瀏覽器原生的 Notification(),也可配置使用 Tauri 的 @tauri-apps/plugin-notification。

核心能力

  • 桌面通知支持:兼容 macOS、Linux 和 Windows。
  • 關鍵事件觸發:支持運行完成、模型提問、批准請求(沙箱升級或工具權限)的即時通知。
  • 單次運行單通知:針對頂層運行會話,過濾子代理會話,一次運行僅觸發一次通知。
  • 前臺靜默:當頁面或窗口可見且聚焦時,不發送通知,避免打擾。
  • Web UI 設置卡片:提供實時配置界面,無需重啓即可調整開關。
  • 事件流重連:支持事件流的自動重連機制。

安裝與啓用

通過 npm 安裝該插件(推薦):

dsh plugin --profile web add dsh-notifier-plugin

安裝完成後,重啓 web 進程以加載插件:

dsh --profile web web

驗證插件是否正確掛載:

dsh --profile web --dump-config | grep -n dsh-notifier

配置方式

有兩種配置方式,Web UI 設置優先級高於配置文件。

Web UI 配置(推薦)

  1. 打開 dsh web。
  2. 進入 Settings -> Plugins -> Plugin configuration。
  3. 展開通知卡片,調整開關並保存。

配置文件配置

在 profiles 目錄下的 cordis.patch.yml 中聲明配置:

- id: dsh-notifier
  name: dsh-notifier-plugin
  config:
    enabled: true        # 總開關
    title: DeepSeek Harness
    sound: true          # 允許系統通知音效;false 則靜默
    onBlocked: true      # 阻塞通知的總開關
    onQuestion: true     # 提問通知(僅當 onBlocked 爲 true 時生效)
    onApproval: true     # 批准通知(僅當 onBlocked 爲 true 時生效)

使用注意

  1. 權限授予:瀏覽器要求用戶手勢才能授予通知權限。建議在設置卡片中點擊 Send test notification 按鈕來觸發授權。
  2. 前臺運行靜默:通知僅在 dsh web 頁面或 Tauri 窗口打開時觸發。無頁面時無法收到通知(Headless 模式下不生效)。
  3. macOS 簽名問題:macOS 對 ad-hoc 簽名的應用拒絕通知權限,需使用開發者簽名或通過宿主進程(osascript)進行中轉。
  4. Tauri 桌面端配置:Windows / Linux 端需額外安裝 tauri-plugin-notification 並配置 capabilities;macOS 端使用特殊的宿主中轉機制。
  5. pnpm 版本限制:如果使用 pnpm ≥ 10,可能會阻止 git 依賴運行構建腳本。若安裝後跳過構建,需在 profile 的 pnpm-workspace.yaml 中允許該插件的構建。

總結

dsh-notifier-plugin 爲 DeepSeek Harness 提供了基礎的桌面通知能力,適合需要後臺運行任務並關注狀態變更的開發者。通過系統通知,可以在不打開界面的情況下掌握任務進度。

  • 目錄頁: https://www.skillhub.cn/plugins/hotpot-labs/dsh-notifier-plugin
  • GitHub: https://github.com/hotpot-labs/dsh-notifier-plugin
羽毛球分组比赛记分
小程序二维码

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

小夜