前言¶
DeepSeek Harness (DSH) 的 Agent 任務通常運行在遠程服務器或 Kali 等終端上。當開發者通過 SSH 隧道或瀏覽器遠程訪問時,服務端本地的播放設備發出的聲音無法被感知。這導致在長時間運行的任務中,用戶難以察覺 Agent 是否卡住、完成或出錯。
dsh-dudulu 插件將“判定 + 出聲”的全部邏輯移至瀏覽器端。它通過監聽 DSH 的會話狀態邊沿,在網頁打開時直接播放提示音,讓用戶能隨時獲知 Agent 的進展。
核心功能¶
-
觸發時機
- 任務完成。
- 任務暫停(等待審批 / 提問)。
- 任務出錯。
-
檢測與播放
- 全部在瀏覽器端完成,與 DSH 服務端跑在哪臺機器、什麼操作系統無關。
- 利用
@deepseek-ai/dsh-client-connection的sessions store直接監聽狀態邊沿(pendingInteraction、running),比通過turn/end推斷更準確。
-
音效支持
- 默認提示音爲內置的
dudulu01.mp3(Base64 嵌入,不依賴外部託管)。 - 若音頻解碼失敗,會自動回落到內置合成音“嘟嘟嚕”(三段上行短音,純 oscillator 生成)。
- 默認提示音爲內置的
-
設置面板
- 總開關控制。
- 三類通知(完成、暫停、出錯)的獨立開關。
- 音量滑條(0–100,支持實時試聽)。
- 自定義提示音上傳(支持恢復默認與清除)。
安裝與啓用¶
確保你使用的是 DeepSeek Harness 的 web profile。
- 執行安裝命令:
dsh plugin --profile web add github:Cmjingahaha/dsh-dudulu
- 重啓
dsh web服務。 - 打開瀏覽器設置頁面,找到 dudulu · 嘟一聲 配置項。
配置與使用¶
-
解鎖自動播放
瀏覽器通常禁止自動播放音頻。首次使用時,請在網頁上進行一次點擊或按鍵操作,以解鎖AudioContext。 -
調整參數
在設置面板中,根據需要調整總開關、各類通知開關以及音量。支持上傳小於 1MB 的自定義音頻文件。 -
保存偏好
設置偏好保存在瀏覽器的localStorage中(鍵名dsh-dudulu.v1),刷新頁面或重啓後依然有效。
限制與故障排查¶
-
子代理不響
目前插件僅爲主 Agent 的回合事件播放提示音,子代理(subagent)運行時的提示音已被排除。 -
網頁需保持打開
插件依賴瀏覽器環境運行,關閉網頁後提示音功能失效。 -
硬刷新
修改插件源碼或配置後,務必在瀏覽器中執行硬刷新(Ctrl + Shift + R)以清除前端緩存。 -
常見錯誤排查
- 若設置面板未出現「dudulu · 嘟一聲」條目,請檢查瀏覽器控制台(F12)是否有
failed to apply loader entry (dsh-dudulu)錯誤。 - 檢查插件軟鏈是否存在:
~/.dsh/profiles/web/node_modules/dsh-dudulu → ~/.dsh/plugins-local/dsh-dudulu。
- 若設置面板未出現「dudulu · 嘟一聲」條目,請檢查瀏覽器控制台(F12)是否有
總結¶
dsh-dudulu 解決了遠程開發場景下聲音無法傳遞的痛點。通過瀏覽器端的輕量級實現,它爲 DSH 的 Agent 任務提供了清晰的狀態反饋機制。所有配置均基於本地瀏覽器存儲,無需服務端額外配置。