dsh-plugin-better-sidebar-plugin-audio:音頻預覽插件

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。
  • 大文件支持
    • 利用 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)才能生效。

使用

  1. 在 DSH 的文件樹中找到任意音頻文件(支持 mp3/wav/flac/ogg/m4a/aac/wma/opus)。
  2. 點擊文件即可在右側欄加載播放器。
  3. 使用快捷鍵控制播放:
    • 空格:播放/暫停。
    • ← / →:跳轉 ±5s(按住 Shift 爲 ±1s)。
    • Home / End:跳至首尾。
    • M:靜音。
    • L:切換 A-B 循環模式。

注意事項

  • 界面特性:界面文字不可選中,讀數行高度固定,畫布填滿主區域。
  • 配色跟隨:顏色通過探針元素解析 var() 鏈,確保在不同皮膚下正確顯示。波形兩層顏色必須不同。
  • 緩存問題:安裝新插件後務必進行硬刷新,否則可能看不到新功能。
  • 依賴:依賴預構建的 lib/ 庫,通過 GitHub 安裝即開箱即用。

總結

該插件爲 DSH 環境補齊了音頻預覽能力,利用流式技術解決了大文件播放問題,並通過精細的波形和頻譜算法提升了開發調試的體驗。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜