前言¶
DSH 的插件理念是「一切皆插件」。在 DSH Web GUI 裏運行 agent 時,任務完成、agent 提問、等待批准或計劃審閱,都可能發生在頁面後臺。如果窗口不在前臺,缺少系統級提醒就容易錯過處理時機。
下面介紹 dsh-agent-notify。它把這幾類事件接到 Windows 系統通知中心,用瀏覽器 Notification API 彈出通知氣泡,不依賴網頁內彈窗,也不使用合成音。
這是什麼¶
dsh-agent-notify 是 chidaic 維護的 DSH Web GUI 任務完成通知插件,許可證爲 MIT。
它解決的是 Web GUI 中 agent 狀態變化不夠醒目的問題:
- agent 完成任務後發送系統通知。
- agent 需要用戶回答、批准或審閱計劃時發送系統通知。
- 點擊通知氣泡後聚焦頁面,並打開對應會話。
它是純瀏覽器端插件,host half 爲空,設置保存在瀏覽器 localStorage。
核心功能¶
通知觸發¶
插件會監聽以下狀態變化:
- 會話從
running變爲停止時,發送「任務完成」系統通知。 - agent 提問,即
question時,發送「需要你的回答」通知。 - 出現
approval或plan-review時,發送「需要你的批准」或「請審閱計劃」通知。
通知形式¶
通知通過瀏覽器 Notification API 發出,在 Windows 通知中心顯示爲氣泡。
具體行爲:
- 聲音爲 Windows 系統通知音,由 Windows 設置控制。
- 沒有網頁內彈窗。
- 沒有合成音。
- 沒有額外 UI 按鈕。
- 點擊氣泡會聚焦頁面並打開對應會話。
通知不帶 tag。這是爲了避免 Windows 上 Chrome 對同 tag 通知只靜默更新、不彈新氣泡。
通知內容¶
通知內容包含:
- 會話標題。
- 該會話最後一條
assistant回覆的前 90 字摘要。
其中,摘要僅在該會話窗口已打開時出現。
系統通知模式¶
插件支持三種系統通知模式:
不發送後臺時發送始終發送
默認模式爲 始終發送。
授權方式¶
有兩種授權方式:
- 首次點擊頁面時自動請求通知權限。
- 在 DSH 官方設置界面的
任務提示頁面手動授權。
設置入口¶
插件會接入 DSH 官方設置界面的一級頁面 任務提示。在該頁面可以:
- 啓用或關閉通知。
- 選擇是否包含子代理通知。
- 選擇系統通知模式。
- 查看權限狀態。
- 手動授權。
- 發送測試通知。
設置保存在 localStorage 的 dsh.agentNotify.settings.v3。
防誤報¶
插件對重複通知做了限制:
- 頁面加載或重連後,第一個列表快照只作爲基線,不重放歷史完成事件。
- 重連期間發生的完成,不會在恢復連接後誤報。
- 同一
pending狀態不重複通知。 - 子代理會話默認不通知,可在設置中開啓。
瀏覽器端加載¶
插件爲純瀏覽器端實現,host half 爲空,無需構建工具。
瀏覽器端 bundle 變更後,刷新頁面即可加載最新 client.js。如果遇到舊緩存,可以用 Ctrl+Shift+R 硬刷新。
安裝與啓用¶
先安裝插件:
dsh plugin --profile web add dsh-agent-notify
如果從 GitHub 安裝,使用下面命令:
dsh plugin --profile web add github:chidaic/dsh-agent-notify
經過上面的步驟後,刷新頁面即可加載插件。
啓用通知時,先做這兩步:
- 首次點擊頁面時,允許瀏覽器通知權限。
- 進入 DSH 官方設置界面 →
任務提示,啓用通知並選擇系統通知模式。
典型用法¶
選擇通知模式¶
進入 DSH 官方設置界面 → 任務提示,選擇系統通知模式:
不發送:不發送系統通知。後臺時發送:僅在頁面處於後臺時發送。始終發送:默認模式,始終發送系統通知。
授權¶
授權可以這樣操作:
- 首次點擊頁面時,瀏覽器會詢問通知權限,選擇允許。
- 如果之前拒絕了權限,也可以進入 DSH 官方設置界面 →
任務提示,在權限狀態區域手動授權。
診斷通知¶
如果通知沒有彈出,可以在設置頁使用 發送測試通知。
它會無視當前發送模式直接發送一條系統通知,並顯示結果。
如果顯示已發送,但 Windows 通知中心沒有彈出氣泡,檢查以下位置:
- 瀏覽器站點權限。
- Windows 系統通知開關。
- Windows 通知聲音。
- Windows 專注助手。
子代理通知¶
子代理會話默認不通知。
如果希望子代理會話也進入系統通知,需要進入 DSH 官方設置界面 → 任務提示,開啓包含子代理通知。
更新¶
瀏覽器端 bundle 變更後,刷新頁面即可。
如果頁面仍像舊版本一樣,用 Ctrl+Shift+R 硬刷新,避免舊緩存影響判斷。
適用場景與注意¶
適合在 DSH Web GUI 中運行 agent,並希望在任務完成、等待回答、等待批准時得到系統級提醒的使用者。
需要注意以下幾點:
- 插件依賴瀏覽器
Notification API與 Windows 系統通知設置。 - 通知效果可能受瀏覽器站點權限、Windows 系統通知開關、通知聲音和專注助手影響。
- 頁面加載或重連後不會重放歷史完成事件。
- 子代理會話默認不通知。
- 插件以當前 dsh 進程權限運行,安裝前應檢查源碼與
MIT許可證。
鏈接¶
GitHub 倉庫:
https://github.com/chidaic/dsh-agent-notify