DeepSeek Harness 插件:遠程 IM Webhooks 與多渠道通知

前言

DeepSeek Harness (DSH) 能夠捕獲會話中的特定事件,例如任務完成、報錯或等待審批。在沒有外部干預的情況下,這些事件僅存在於當前的會話或窗口中。如果你同時運行多個並行會話,或者將窗口最小化到後臺,這些事件很容易被忽略。

goodandready/dsh-plugin-notify 插件旨在解決這一隔離問題。它通過五種靈活的通知層,將事件反饋從會話內部擴展到瀏覽器外部。

插件簡介

插件名稱爲 @goodandready/dsh-plugin-notify,由 GooDAnDReaDY 維護,屬於聯網工具分類。它提供音頻提示、跨會話彈窗、桌面原生推送、遠程 IM Webhook 以及 Web Push (PWA) 等功能,覆蓋任務完成、報錯和審批等待等場景。

核心功能

插件主要提供以下能力:

  1. 音頻提示:利用 Web Audio API 生成五聲音階提示音,無需加載外部音頻文件。
  2. 跨會話彈窗:在屏幕上顯示浮動橫幅,橫幅包含“跳轉會話”按鈕,可直接跳轉到觸發事件的具體會話。
  3. 桌面/操作系統推送:通過 HTML5 Notification API,在 Windows、macOS、Linux 和 DSH Desktop 上發送原生通知,點擊通知可聚焦窗口或切換會話。
  4. 遠程 IM Webhooks:向飛書、企業微信、釘釘、Slack、Discord 或自定義端點發送 JSON 格式的 Webhook 請求。
  5. Web Push (PWA):利用 W3C Push API 和 Service Worker 實現後臺推送,即使瀏覽器標籤頁關閉也能接收通知。此功能需要 HTTPS 環境或 localhost。
  6. 其他功能:支持 Do Not Disturb (DND) 窗口設置、排除特定會話前綴,以及通過 Server-Sent Events (SSE) 實現實時通知流。

安裝

通過 DSH Web Profile 安裝:

dsh plugin --profile web add @goodandready/dsh-plugin-notify

安裝後,重啓 Web Profile 使客戶端加載生效。隨後進入 Settings → Plugins → Notify 配置插件。

配置與用法

Webhook 配置

所有的 Webhook URL 必須配置在 Settings → Credentials 中。在插件配置卡片中,只需填寫對應的憑證名稱。

YAML 配置示例

在插件的配置 YAML 中,可以啓用各類通知並設置參數:

- id: plugin-notify
  name: '@goodandready/dsh-plugin-notify'
  config:
    enableSound: false
    enableToasts: false
    enableDesktopNotifications: false
    notifyBackgroundOnly: false
    webhooks:
      feishu: NOTIFY_FEISHU_WEBHOOK
      wecom: NOTIFY_WECOM_WEBHOOK
      dingtalk: NOTIFY_DINGTALK_WEBHOOK
      slack: NOTIFY_SLACK_WEBHOOK
      discord: NOTIFY_DISCORD_WEBHOOK
      custom: NOTIFY_CUSTOM_WEBHOOK
    events: [task_done, error, approval_requested]
    local: true
    timeoutMs: 5000
    dnd:
      start: ''
      end: ''
    includeSession: true
    includeDuration: true
    excludeSessionPrefixes: []
    webPush:
      enabled: false
      onlyWhenAway: true
      subject: 'mailto:notify@localhost'
      stateFile: ''

VAPID 密鑰管理

若使用 Web Push 功能,VAPID 密鑰默認在首次使用時生成並持久化。也可通過環境變量手動管理:
* DSH_NOTIFY_VAPID_PUBLIC_KEY
* DSH_NOTIFY_VAPID_PRIVATE_KEY

本地化

UI 支持英語 和中文。俄語界面由 dsh-russian-lang 運行時提供。

注意事項

  1. 運行環境:插件依賴 Node.js 20 或更高版本。
  2. Web Push 限制:Web Push 需要 HTTPS 協議支持(本地開發除外)。在 iOS 設備上,PWA 必須添加到主屏幕(iOS 16.4+)才能正常接收後臺推送。
  3. 錯誤處理:Webhook 請求失敗僅記錄日誌,不會重試,也不會阻塞 DSH 的代理循環。失效的訂閱會被自動清理。
  4. 樣式隔離:注入的樣式表包含 data-dsh-plugin="dsh-plugin-notify" 標籤。

總結

該插件通過將 DSH 事件通知從會話中解放出來,提供了從本地音頻到遠程 IM 的多層級反饋。通過配置 Webhook,可以將自動化流程與現有的 IM 工具集成,確保關鍵事件及時被感知。

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

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

小夜