前言¶
DeepSeek Harness (DSH) 提供了智能體開發的 Web UI。在操作過程中,智能體何時接收消息、開始思考、調用工具或結束回合可能難以察覺。dsh-sound-notifier 插件通過在 Web UI 中播放合成提示音來解決這一問題。
插件簡介¶
這是一個 DSH 插件,用於在 Web UI 中根據智能體狀態變化播放提示音。它通過 Web Audio API 合成聲音,無需外部音頻資源。
功能特性¶
插件在以下時刻播放提示音:
* 消息接收:播放兩聲短促提示音(660 Hz → 990 Hz)。
* 思考開始:播放上升音調(392 → 784 Hz,三角波)。
* 工具調用:播放清晰雙響(233 Hz → 311 Hz,三角波)。
* 回合結束:播放大三和絃琶音(C5–E5–G5)。
其他特性:
* 僅頂級會話播放提示音,子代理保持靜音。
* 使用 Web Audio API 合成,無需音頻資源。
* 刷新頁面後已播放事件不會重放(通過 sessionStorage 實現)。
安裝與啓用¶
在 DeepSeek Harness 倉庫根目錄下執行以下命令:
pnpm dsh plugin --profile web add /path/to/dsh-sound-notifier
安裝後,需要重啓 DSH 以加載插件。
配置與使用¶
插件加載後,可以通過編輯 client.js 中的 SOUNDS 表來自定義聲音。
* 編輯配置:修改 freq(起始頻率)、endFreq(結束頻率)、dur(持續時間)、type(波形)、gain(音量)等參數。
* 驗證配置:在不重啓的情況下驗證配置是否生效,可以使用:
pnpm dsh --profile web --dump-config
工作原理與限制¶
- 輪詢延遲:事件觸發到播放提示音存在約 400 毫秒的延遲。
- 依賴 Web Server:固定端點
/sound-alerts/events依賴webServer,無 webServer 時無法進行輪詢。 - 會話過濾:僅頂級會話(
agent.owner === undefined)播放提示音,子代理頁面保持靜音。 - 內部調用跳過:內部 LLM 調用(如 compaction 和 session-title)不會觸發思考提示音。
- 瀏覽器限制:瀏覽器自動播放策略限制,音頻上下文按需創建。