前言¶
在使用 DeepSeek Harness(DSH)運行長任務或複雜工作流時,Agent 執行過程往往需要較長時間。開發者可能需要離開屏幕去處理其他事務,導致錯過子任務的完成節點,或無法及時響應整輪任務結束後的指令。
dsh-plugin-task-notify 旨在解決這一痛點。它通過瀏覽器端的音頻提示,在子任務完成時發出短促的“嘟”聲,在整輪任務超時結束時發出“叮”聲,提醒開發者返回操作。
功能概覽¶
該插件基於 Web Audio API 實現,無需加載外部音頻資源,且與後端 AI 模型無關。
- 子任務完成響“嘟”:監聽子代理工具調用(如
subagent、subagent_fork等)的結算狀態。當子任務完成時播放短促提示音,支持合併窗口以避免快速連續完成的噪音。 - 整輪任務響“叮”:在整輪任務開始時啓動計時器。若任務持續時間超過配置的閾值(默認 5 分鐘),當會話變爲空閒狀態時,播放上升的雙音調“叮”聲,並可選標題欄閃動或 TTS 播報。
- 多會話全局監控:默認監控所有會話,也可配置爲僅監控當前會話。
- 聲音自包含:完全基於瀏覽器原生 API 合成,不依賴外部文件。
- 支持 TTS 播報:可選開啓文本轉語音功能,支持自定義播報模板。
安裝與啓用¶
通過官方插件市場安裝是最快的方式:
dsh plugin add dsh-plugin-task-notify
安裝完成後,重啓 dsh web,該插件的設置卡片將出現在 Settings → Plugins 下。
配置項¶
插件支持以下配置項,均可在設置界面調整:
| 字段 | 含義 | 默認值 |
|---|---|---|
enabled |
總開關 | true |
thresholdMinutes |
整輪任務結束提醒的閾值(分鐘) | 5 |
subReminderEnabled |
子任務完成提示音開關 | true |
mergeMs |
連續子任務合併提示的窗口時間(毫秒) | 500 |
masterVolume |
整輪任務“叮”聲音量(0.0 - 1.0) | 0.6 |
subVolume |
子任務“嘟”聲音量(0.0 - 1.0) | 0.5 |
ttsEnabled |
開啓文本轉語音播報 | false |
ttsTemplate |
TTS 播報模板,使用 {time} 佔位實際時長 |
任務完成,用時約 {time} 分鐘 |
titleFlash |
整輪任務結束時閃爍標題欄 | true |
globalSessions |
監控所有會話 | true |
batchSingleBeep |
所有子任務合併爲整輪任務結束時響一聲 | false |
典型用法¶
1. 設置整輪任務閾值
如果你希望任務超過 10 分鐘才響鈴,可在配置中調整:
thresholdMinutes: 10
2. 自定義 TTS 模板
使用 {time} 變量來自動播報實際耗時:
ttsTemplate: '任務已完成,總耗時爲 {time} 分鐘'
3. 調整音量
根據環境噪音調整兩個提示音的音量:
masterVolume: 0.8
subVolume: 0.4
注意事項與兼容性¶
- 用戶手勢依賴:瀏覽器安全策略要求音頻播放前需要用戶與頁面交互。首次使用前請點擊頁面或發送一條消息,以激活音頻上下文。
- 瀏覽器限制:TTS 功能在後臺標籤頁可能受到限制,建議保持標籤頁在前臺或最小化狀態以獲得即時反饋。頁面關閉時聲音會停止。
- 兼容性版本:插件兼容 DSH
0.1.0-rc.8客戶端契約。插件對0.1.2-rc.1版本中的快照形狀變更做了適配修復,確保在舊版本上也能正常工作。
總結¶
dsh-plugin-task-notify 爲 DSH 用戶提供了非侵入式的任務狀態反饋機制。通過簡單的配置,即可將長時間運行的任務轉化爲可視與可聽的提醒,有效降低遺漏關鍵節點的風險。
- 項目地址:https://github.com/DearMrChai/dsh-plugin-task-notify