DeepSeek Harness (DSH) 的 better-sidebar 默認不渲染音頻文件,文檔中常將其列爲「已知二進制、無渲染器」。dsh-plugin-better-sidebar-plugin-audio 通過向 better-sidebar 註冊文件預覽器,並內置支持 HTTP Range 的媒體路由,解決了這個問題。它能讓任意大小的音頻文件在右側欄直接播放、查看波形、拖動進度以及分析頻譜。
功能¶
插件主要包含以下能力:
- 波形繪製
- 兩層結構:淡色峯值帶(墊底)與深色 RMS 主體(壓頂),使用不同透明度的同色相,避免同色糊塊或碎點。
- 交互:支持點擊/拖動定位、滾輪以指針爲中心縮放、
Alt+拖動平移、雙擊適配全曲。
- 全曲頻譜圖
- 基於 STFT(1024 點 FFT、Hann 窗、Mel 軸、無插值)。
- 與波形共用時間軸,縮放和平移時細節會隨視窗重算,而非簡單拉伸。
- 實時頻譜
- 播放時通過 FFT(2048 點、對數軸)生成數據。
- 提供柱狀、折線、瀑布三種風格,或關閉。
- 播放控制
- 支持播放/暫停/停止/重播、音量調節、靜音。
- 倍速範圍:0.25x 至 3x。
- 循環與選區
- 循環:關閉/整曲/選區 A-B 循環(按
L切換)。 - 選區:按
Shift+拖動框選,實時顯示區間時長及峯值/RMS dBFS。
- 循環:關閉/整曲/選區 A-B 循環(按
- 大文件支持
- 利用 HTTP Range 實現流式播放,不整包解碼。
- 自動解碼約 176KB/s,超過 30 分鐘的文件僅流式播放。
- 聲道與降級
- 聲道切換:混合/左/右/獨立包絡。
- 降級處理:瀏覽器解碼失敗時提示、Web Audio 不可用時停用頻譜。
安裝¶
使用以下命令安裝插件。該插件依賴 Node.js >= 20。
dsh plugin --profile web add "github:huanlinoto/dsh-plugin-better-sidebar-plugin-audio"
安裝後需要重啓 dsh web 並在瀏覽器進行硬刷新(Ctrl+Shift+R)才能生效。
使用¶
- 在 DSH 的文件樹中找到任意音頻文件(支持 mp3/wav/flac/ogg/m4a/aac/wma/opus)。
- 點擊文件即可在右側欄加載播放器。
- 使用快捷鍵控制播放:
- 空格:播放/暫停。
- ← / →:跳轉 ±5s(按住
Shift爲 ±1s)。 - Home / End:跳至首尾。
- M:靜音。
- L:切換 A-B 循環模式。
注意事項¶
- 界面特性:界面文字不可選中,讀數行高度固定,畫布填滿主區域。
- 配色跟隨:顏色通過探針元素解析
var()鏈,確保在不同皮膚下正確顯示。波形兩層顏色必須不同。 - 緩存問題:安裝新插件後務必進行硬刷新,否則可能看不到新功能。
- 依賴:依賴預構建的
lib/庫,通過 GitHub 安裝即開箱即用。
總結¶
該插件爲 DSH 環境補齊了音頻預覽能力,利用流式技術解決了大文件播放問題,並通過精細的波形和頻譜算法提升了開發調試的體驗。