前言¶
DeepSeek Harness (DSH) 的理念是「一切皆插件」,目前默認幾乎沒有聲音反饋。任務跑完了?失敗了?按鈕點中了沒有?只能靠眼睛確認。dsh-ui-sound 插件把「界面交互」和「任務狀態更新」都變成可聽見的語義反饋,每一類反饋都能在設置頁裏單獨挑音效、單獨開關。
插件簡介¶
該插件由林冠宇 (SOH4C4759) 維護,採用 MIT 許可證。它通過實時合成音效(不依賴任何音頻文件)提供交互和任務狀態反饋,並支持偏好持久化。
核心功能¶
插件主要提供兩類音效:
- 界面交互音效:對按鈕按下進行語義分類發聲,包括普通、主要、開關、發送、關閉、危險、鏈接等類型,鍵盤 Enter、Space 激活同樣發聲。
- 任務狀態音效:在當前會話開始運行、運行成功結束、運行失敗結束,以及出現需要處理的交互(授權請求 / 提問 / 計劃複覈)時發聲。
安裝與啓用¶
在終端中執行以下命令安裝插件:
dsh plugin --profile <你的 profile> add github:SOH4C4759/dsh-ui-sound
安裝完成後重啓 DSH,在 設置 → 音效 裏配置即可。
配置與用法¶
在設置頁的「音效」選項卡中,你可以配置總開關、音量、音色包以及各類音效的開關。
默認音量設置爲 55%,音色包默認爲 zen(紙、木、風鈴風格)。插件內置了 12 個音色包:minimal、soft、glass、arcade、mechanical、organic、dreamy、scifi、rubber、cinematic、studio、zen。
配置偏好會持久化存儲,文件路徑爲:
%USERPROFILE%\.dsh\ui-sound\config.json
例如,一個典型的配置文件如下:
{
"enabled": true,
"volume": 0.55,
"pack": "zen",
"taskSounds": true,
"clickSounds": true,
"attentionSounds": true,
"mapping": { "task.success": "complete", "click.send": "send" }
}
給其它插件用的 API¶
瀏覽器端通過 ctx.reflect.provide("uiSound", service) 暴露服務,宿主插件或其它組件可以調用以下方法:
ctx.uiSound.play("task.success") // 按情景觸發(受總開關與對應開關約束)
ctx.uiSound.playCue("achievement") // 直接播一個 cue
ctx.uiSound.preview("success") // 試聽功能
ctx.uiSound.getPrefs() // 獲取當前偏好
注意事項¶
- 瀏覽器自動播放策略:瀏覽器不允許網頁在沒有用戶手勢前啓動 AudioContext。因此,頁面加載後第一次點擊之前不會有聲音。插件會在第一次
pointerdown時預熱並恢復 AudioContext,若仍無聲,請先點擊頁面任意位置。 - 不支持導入自定義音頻文件:音效引擎由 Web Audio 實時合成,不支持導入自定義音頻文件。
- 不包含 hover 音:懸停發聲在長時間使用中會變成噪聲,因此未包含此功能。
- 不包含工具調用級音效:工具調用頻率高,單獨發聲會淹沒真正重要的狀態變化。
- 社區移植版:這是社區移植版,基於上游
dsh-plugin-uisfx適配 DSH 0.2.0,並非上游官方延續。