前言¶
DSH 的 Web UI 插件可以擴展界面行爲。dsh-sound 解決的是提醒問題:任務結束、需要審批、需要回答、計劃審查、目標受阻或後臺失敗時,用聲音提示開發者,而不是隻依賴界面狀態變化。
這是什麼¶
dsh-sound 是一個 DeepSeek Harness(DSH)插件,面向 Web UI,由 AI-Galaxy-GPU 維護,許可證爲 MIT。它的作用是:在任務結束或需要人工關注時播放可自定義聲音,讓開發者不必一直盯着 Web UI 窗口。
核心功能¶
六類獨立事件¶
dsh-sound 覆蓋六類事件:
turn end / background task completedapproval requestuser questionplan reviewgoal blockedbackground / loop failure
每類事件都有獨立聲音和獨立音量,音量範圍爲 0–100%。
聲音來源¶
每類事件可以選擇:
- 內置合成聲音:
Ding/Chime/Bell/Complete/Success - 靜音
- 本地文件:
MP3/WAV等
本地音樂文件保存在 IndexedDB,庫名爲 dsh-sound-audio,不佔用 localStorage 配額。
設置面板¶
打開:
Settings → 聲音通知 / Sound Notification
設置面板包含:
- 總開關
- 六類事件行
- 音量滑塊
- 聲音選擇
- 本地文件選擇/替換
- 配置導出/導入
多標籤頁與事件回退¶
多個標籤頁打開時,同一事件只響鈴一次,使用 BroadcastChannel 做 tie-break。
當事件流不可用或幀解包失敗時,插件會回退到 snapshot diffing。
安裝與啓用¶
安裝條件¶
安裝前需要滿足:
- DSH 版本支持 bundle-plugin,包含
dsh.profile.bundles與dsh.bundle.patch pnpm在 PATH 中- Node 版本滿足
>=20
依賴方面,dependencies 包括 @deepseek-ai/schemastery,peerDependencies 包括 @deepseek-ai/cordis。
Web profile 安裝¶
執行:
dsh plugin --profile web add dsh-sound
然後打開 Settings → 聲音通知 / Sound Notification,選擇事件聲音、音量或本地文件。
其他 profile¶
其他 profile 使用相同方式:
dsh plugin --profile <name> add dsh-sound
不使用 pnpm 的手動安裝¶
如果沒有 pnpm,可以手動安裝:
- 將該包及其運行時依賴複製到:
$DSH_HOME/profiles/web/node_modules/
- 在:
$DSH_HOME/profiles/web/package.json
的 dsh.profile.bundles 中加入 "dsh-sound"。
- 重啓:
dsh web
典型用法¶
配置每類事件¶
在設置面板中,爲每個事件選擇聲音、調整音量,或選擇本地文件。
導出和導入配置¶
使用設置面板導出完整配置爲 JSON,也可以從 JSON 文件恢復配置。這樣可以在瀏覽器或機器間遷移配置。
本地開發驗證¶
可以運行:
npm test
npm run check
npm test 運行測試;npm run check 做語法檢查。
配置與遷移¶
瀏覽器端配置保存在 localStorage,key 爲:
dsh-sound:config
每次讀取都會做清洗並補默認值。
配置項包括:
enabled
quietCurrent
以及六類事件聲音字段、六類事件音量字段和:
localFiles
0.2.0 遷移會自動升級舊配置:
defaultSound變爲completionSound- voice/TTS 值退化爲事件默認值
workspaces、debounceMs、全局volume和 voice 設置會被移除
在 rc.6 中,settings API allowlist 不向瀏覽器暴露第三方 namespace,因此當前客戶端不依賴 settingsScope。
適用場景與注意¶
適合在 DSH Web UI 中運行任務、審批、提問等流程,並希望用聲音降低盯屏成本的開發者。
注意:
- 插件以當前
dsh進程權限運行,安裝前應檢查源碼與許可證。 - 內置合成聲音不需要音頻文件;本地文件會寫入 IndexedDB。
- 多標籤頁場景依賴
BroadcastChanneltie-break。 - 本地開發時,profile 的 pnpm 使用
nodeLinker: hoisted,會把file:依賴複製進node_modules;修改本地 checkout 後,需要重新執行 update,或用 symlink 替換複製目錄。
結尾¶
dsh-sound 把 DSH Web UI 中的完成、審批、提問、計劃審查、目標受阻和失敗事件映射成可配置聲音提醒,適合作爲本地開發時保持注意力的輕量插件。
- GitHub:https://github.com/AI-Galaxy-GPU/dsh-sound
- 社區目錄:可按
dsh-sound檢索