前言¶
在 DSH 裏跑智能體時,權限審批、追問、計劃審覈和一輪任務結束都需要人介入。若瀏覽器開着別的標籤,或只用 CLI/TUI,很容易錯過這些節點。常見做法是頁內通知或系統 Notification,但要麼與當前會話無關時仍刷屏,要麼彈窗不可交互、終端側沒有等價提醒。
下面介紹社區客戶端插件 dsh-notify-interactive(維護者 wuqiuwangtian,MIT,當前版本 0.2.1)。它的核心規則只有一條:你正聚焦於當前會話時不提醒;否則用帶具體內容的 Windows 小窗通知,需要時在 DSH 風格彈窗裏直接作答。
這是什麼¶
dsh-notify-interactive 是 DSH 的「任務中斷」提醒插件,面向 Web / CLI / TUI profile,目標 DSH 版本線爲 0.2.2-rc.1。
它監聽會話事件(權限審批、提問、計劃審覈、輪次結束),在你不看當前會話時推送提醒;Web 側可選 Document Picture-in-Picture 置頂交互彈窗,無 Web UI 時由宿主通過 PowerShell 拉起原生 WinForms 小窗。插件不寫 session log、不註冊模型工具、不自動作答、不上傳數據。
核心功能¶
覆蓋的事件¶
| 能力 | 說明 |
|---|---|
| 事件類型 | 權限審批、智能體提問、計劃審覈、任務完成 |
| 靜默 | 聚焦當前會話 → 不提醒 |
| Web 交互彈窗 | 可選、按需打開;始終置頂,處理完自動關閉 |
| 彈窗內操作 | 審批允許/拒絕;提問單選/多選/自定義/跳過;計劃批准/拒絕;完成回到對話 |
| CLI/TUI | 宿主觀察 session 事件,通過 PowerShell 彈 Windows 提醒 |
| Web 關頁 | 客戶端上報 presence,頁面關閉後宿主接管 Windows 提醒 |
| 音效 | 可選 Web Audio 本地合成;Windows 兜底使用系統提示音 |
提醒路徑怎麼選¶
- 正在看當前會話:什麼都不發生。
- Web 在前臺但事件屬於其他會話,或頁面失焦/隱藏:默認拉起帶內容的 Windows 小窗(只讀提醒);若你已手動打開交互彈窗,則在彈窗內顯示卡片。
- Web 頁面關閉,或僅用 CLI/TUI:宿主側 Windows 小窗。
交互彈窗不能由後臺事件自動打開(瀏覽器限制),需在有提醒時手動點「打開彈窗」。Windows 兜底不能在系統小窗裏批准、拒絕或回答問題,需回到 DSH 或終端處理。
安裝與啓用¶
插件以當前 DSH 進程權限運行。安裝前建議在 GitHub 查看源碼與 MIT 許可證。
Web profile 安裝:
dsh plugin --profile web add https://github.com/wuqiuwangtian/dsh-notify-interactive
或下載 Release 中的 dsh-notify-interactive-0.2.1.tgz 後本地添加:
dsh plugin --profile web add ./dsh-notify-interactive-0.2.1.tgz
CLI/TUI profile 安裝同一個包;沒有 Web UI 時,宿主半區會接管 Windows 提醒。
安裝後刷新 DSH 頁面。交互彈窗不必常駐。從 0.1.x 升到 0.2.x 時,宿主半區新增了 Windows 兜底與 presence 路由,需要重啓一次 DSH 進程;之後日常只需刷新頁面。
典型用法¶
經過上面的安裝步驟後,可按下面順序自檢。
- 刷新 DSH 頁面。
- 默認無需打開彈窗:每條待處理消息會拉起帶具體內容的 Windows 小窗。在設置裏點 測試 Windows 提醒 可驗證宿主兜底。
- 若要在小窗內直接作答,點 打開彈窗;僅有待處理提醒時可開,處理完自動關閉,無提醒時不會出現空黑框。
- 點 測試審批卡 / 測試提問卡 / 測試完成卡:彈窗打開時顯示演示卡片;彈窗關閉時改爲拉起 Windows 演示小窗(本地演示,不響應真實請求)。
設置項¶
設置保存在瀏覽器 localStorage,鍵名爲 dsh.notify-interactive.settings.v2,按瀏覽器獨立,不跨設備。
| 設置 | 默認 | 說明 |
|---|---|---|
| 啓用提醒 | 開 | 總開關 |
| 播放提示音 | 開 | Web 音效 |
| 音效 | 清脆鈴音 | 6 個本地合成預設,含靜音 |
| 音量 | 70% | 0–100% |
0.2.x 已移除頁內通知卡片、瀏覽器 Notification 通道、系統通知權限及彈窗開關等冗餘配置。
適用場景與注意¶
適合:在 Windows 或 WSL(能檢測到 powershell.exe)上使用 DSH,且希望「不在看當前會話纔打擾」,並可選 DSH 風格 PiP 彈窗內完成審批/作答。
邊界(見上游 README「已知邊界」):
- Windows 兜底只讀;原生小窗有「打開 DSH / 關閉」,暫無單選/多選/文本框。
- 其他非 Windows 環境無 Windows 兜底。
- 無 GUI 的終端無法顯示桌面彈窗。
- 多標籤頁各實例獨立;presence 異常時宿主最多約 15 秒後接管。
- 每個瀏覽器標籤獨立設置,不做 leader 選舉(第二階段計劃)。
同類調研結論:上游稱未找到同時滿足「聚焦靜默 + 可交互 DSH 風格彈窗 + CLI/TUI Windows 兜底」的活躍替代項目;詳見倉庫 docs/research.md。
DeepSeek Harness 生態以「一切皆插件」爲理念;SkillHub 目錄頁 爲社區站點,與 DeepSeek / 幻方無官方從屬關係。
結尾¶
dsh-notify-interactive 把「要不要打擾」收成一條聚焦規則,並把 Web 可交互彈窗與 CLI/TUI 的 Windows 只讀提醒放在同一套 session 事件鏈上。需要窗口內操作時手動打開 PiP;否則默認每條消息走 Windows 小窗,無需常駐窗口。