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字段)。 - 瀏覽器系統通知:調用
NotificationAPI,需授予瀏覽器權限。注意:依賴標籤頁處於打開狀態(不能關閉)。 - Tab 標題閃爍:後臺標籤標題在“⚠ / ✅”前綴與原標題間交替,最多 30 秒冷卻一次。
- favicon 紅點:後臺標籤的 favicon 顯示紅點。
- 原生 Windows Toast:由 DSH Host 進程直接彈出。優勢:瀏覽器整個關掉也能收到。零依賴 WinRT 實現,若安裝了 BurntToast 模塊則自動使用以獲得更美觀的樣式。
- 設置頁:提供雙語文案(zh/en),支持逐項開關與配置,設置是持久化的正式模塊設置。
安裝與啓用¶
- 編輯
~/.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"
]
}
}
}
- 在該 profile 目錄下執行
pnpm install。 - 重啓 dsh。新增插件集合只在重啓後生效。
重啓後,進入 設置 → 通知 即可看到全部開關並逐項配置(啓用通知 / 等待批准 / 回合完成 / 出錯 / 瀏覽器系統通知 / 原生系統通知 / Tab 標題閃爍 / favicon 紅點 / 聲音 / 冷卻)。
注意事項¶
- 權限依賴:使用瀏覽器系統通知前,需在瀏覽器設置中授予網站通知權限。
- 運行環境:原生 Toast 功能由 DSH Host 進程提供,依賴 DSH 的宿主環境。
- 錯誤檢測:錯誤通知依賴會話快照中的
lastAgentError字段。 - 持久化:設置頁是正式模塊設置,寫入
~/.dsh/settings.yaml,重啓不丟失。