@dsh-external/dsh-client-ui-notifications:DSH Web 的等待與完成通知插件

DSH 理念是“一切皆插件”。在智能體開發過程中,當你切換標籤頁處理其他事務時,往往難以察覺 DSH 的狀態變化(如等待批准、提問或出錯)。本文介紹 @dsh-external/dsh-client-ui-notifications 插件,通過瀏覽器系統通知、Tab 標題閃爍、favicon 紅點及原生 Windows Toast 等方式,解決後臺任務被遺漏的問題。

這是什麼

@dsh-external/dsh-client-ui-notifications 是一個 DSH Web 插件,由 huangDouP 維護。它監聽 DSH 原生契約(如 approval/request、agent/status、agent/error),並在需要用戶介入或狀態變更時觸發提醒。

核心功能

該插件提供以下功能與呈現方式:

  • 觸發場景:等待批准、等待回答、回合完成、出錯。這些信號來源於會話快照(pending 中的 approval / question,running 狀態變更,或 lastAgentError 字段)。
  • 瀏覽器系統通知:調用 Notification API,需授予瀏覽器權限。注意:依賴標籤頁處於打開狀態(不能關閉)。
  • Tab 標題閃爍:後臺標籤標題在“⚠ / ✅”前綴與原標題間交替,最多 30 秒冷卻一次。
  • favicon 紅點:後臺標籤的 favicon 顯示紅點。
  • 原生 Windows Toast:由 DSH Host 進程直接彈出。優勢:瀏覽器整個關掉也能收到。零依賴 WinRT 實現,若安裝了 BurntToast 模塊則自動使用以獲得更美觀的樣式。
  • 設置頁:提供雙語文案(zh/en),支持逐項開關與配置,設置是持久化的正式模塊設置。

安裝與啓用

  1. 編輯 ~/.dsh/profiles/<你的profile>/package.json,添加以下內容:
    {
      "dependencies": {
        "@dsh-external/dsh-client-ui-notifications": "github:huangDouP/dsh-client-ui-notifications"
      },
      "dsh": {
        "profile": {
          "bundles": [
            "@deepseek-ai/dsh-base",
            "@deepseek-ai/dsh-web-app",
            "@dsh-external/dsh-client-ui-notifications"
          ]
        }
      }
    }
  1. 在該 profile 目錄下執行 pnpm install。
  2. 重啓 dsh。新增插件集合只在重啓後生效。

重啓後,進入 設置 → 通知 即可看到全部開關並逐項配置(啓用通知 / 等待批准 / 回合完成 / 出錯 / 瀏覽器系統通知 / 原生系統通知 / Tab 標題閃爍 / favicon 紅點 / 聲音 / 冷卻)。

注意事項

  • 權限依賴:使用瀏覽器系統通知前,需在瀏覽器設置中授予網站通知權限。
  • 運行環境:原生 Toast 功能由 DSH Host 進程提供,依賴 DSH 的宿主環境。
  • 錯誤檢測:錯誤通知依賴會話快照中的 lastAgentError 字段。
  • 持久化:設置頁是正式模塊設置,寫入 ~/.dsh/settings.yaml,重啓不丟失。

結語

該插件通過多渠道提醒機制,降低人工輪詢成本。插件詳情見 社區目錄 與 GitHub。

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

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

小夜