前言¶
在 DeepSeek Harness(DSH)裏跑智能體時,工具調用審批、ask_user_question 等交互往往發生在後臺會話裏。窗口不在前臺、沒有系統提示時,很容易錯過一次批准或一次確認,任務就會停在那裏。社區插件 dsh-attention-reminder 專門在這兩類節點上給出可開關的聲音與界面提醒,下面介紹它的定位、安裝方式和日常使用。
這是什麼¶
dsh-attention-reminder 由維護者 chenyuiyu 發佈,在 SkillHub 目錄中歸類爲客戶端插件。當 DSH 需要你的審批(approval/request)或回答(ask_user_question)時,插件可以短促鳴鈴、把 DSH 窗口提到前臺,並在頁面上方浮出卡片說明正在等待什麼。聲音與彈窗兩個開關彼此獨立,重載頁面或重啓後仍會記住上次選擇。
項目地址:GitHub,目錄頁:SkillHub。當前 package 版本爲 0.1.1,許可證 MIT;實現爲純 JavaScript,無構建步驟、無額外依賴。
核心功能¶
監聽的事件與提醒方式¶
Host 端(index.js)監聽 waterfall 事件 approval/request 與 user-questions/request,把尚未結束的請求放進有上限的隊列(最多 24 條);請求在 next() 返回的 promise 結束或 AbortSignal 中止後從隊列移除。所有 handler 仍通過 return next() 委託,不改變原有審批與提問流程。
Web 端(client.js)每秒輪詢一次 GET/POST /api/attention-reminder(經 connection.fetch.register 註冊),只對尚未播報過的 id 觸發提醒。DSH 插件沒有 host 到頁面的推送通道,因此採用與 @deepseek-ai/dsh-deja 類似的 HTTP 路由輪詢模式。
兩個獨立開關¶
開關集中在會話標題欄右側的 🔔 按鈕面板裏:
- Sound:通過 WebAudio 播放約 0.5 秒的單次 bell;每個新請求只響一次,卡片會一直留在屏幕上直到你處理完。
- Popup:調用
window.focus()嘗試把 DSH 提到前臺;在頁面上方通過shell.overlay浮出卡片(最多同時展示 3 張,其餘摺疊爲「+N more」);在瀏覽器允許時還會發一條系統通知。
面板還提供 Send a test reminder,走與真實提醒相同的路徑,便於檢查聲音與彈窗是否生效。
開關狀態保存在 $DSH_HOME/plugin-data/dsh-attention-reminder/state.json(默認路徑爲 ~/.dsh/plugin-data/dsh-attention-reminder/state.json)。
安裝與啓用¶
CLI 安裝需指定 profile,命令以 README 爲準:
dsh plugin --profile <profile> add github:chenyuiyu/dsh-attention-reminder
在 DSH Desktop 上,也可以從 Settings → Plugins 安裝同一插件。
安裝前建議瀏覽倉庫源碼並確認 MIT 許可證;插件在當前 DSH 進程權限下運行,與任何社區插件一樣,只安裝你信任的來源。
典型用法¶
- 按上文命令或 Desktop 插件頁完成安裝後,打開任意 DSH 會話。
- 點擊會話標題欄右側 🔔,按需打開 Sound、Popup,或兩者都開。
- 可先點 Send a test reminder,確認鈴音與浮層、系統通知是否符合預期。
- 當智能體發起審批或
ask_user_question時,若對應開關已開,你會聽到一次鈴音並(在 Popup 開啓時)看到浮層卡片;處理完請求後,該條會從提醒隊列中消失。
首次啓用 Popup 或點擊測試按鈕時,瀏覽器會請求通知權限(屬於用戶手勢觸發);若僅開聲音,也需知悉瀏覽器規則:至少與頁面交互一次後 WebAudio 才能出聲——若 DSH 剛打開、尚未點擊頁面就收到提醒,可能第一次無聲,點一下頁面後下一次即可正常。
適用場景與注意¶
適合:長時間讓 DSH 在後臺跑任務、又需要及時點批准或填答的開發者;希望聲音與彈窗分開控制、避免打擾同事時只開其一。
注意:
window.focus()在 Windows 前臺鎖定策略下不一定總能把窗口搶到最前;浮層卡片與系統通知仍會盡量出現。- 系統通知依賴瀏覽器通知權限;未授權時 Popup 仍可能有浮層與 focus 行爲,但通知可能缺失。
- 插件不修改審批與提問語義,只觀測並提醒;隊列與開關通過
/api/attention-reminder在 host 與頁面之間同步。
結尾¶
dsh-attention-reminder 把「需要人介入」的兩類 DSH 事件做成可測試、可分別關閉的聲音與彈窗提醒,適合作爲客戶端側的小而專的補充。更多細節見倉庫 README:
- 目錄頁:https://www.skillhub.cn/plugins/chenyuiyu/dsh-attention-reminder
- GitHub:https://github.com/chenyuiyu/dsh-attention-reminder
DSH 生態強調「一切皆插件」;SkillHub 爲社區獨立目錄,與 DeepSeek / 幻方無官方從屬關係,安裝與啓用請以你本機 DSH 版本與倉庫說明爲準。