dsh-blackhole-radio-lab:用 3D 黑洞舞臺聽網絡電臺

前言

在 DSH(DeepSeek Harness)里長時間寫提示、跑對話時,背景音往往還要切到瀏覽器或獨立播放器:找臺、分類、切流和主界面是兩套窗口。社區裏已有把電臺做成 DSH 側邊入口的插件,但多數是列表或卡片式瀏覽。若你希望用一套可交互的三維場景承載大量真實電臺源,並在同一進程裏播放與控制,dsh-blackhole-radio-lab 把目錄、渲染和播放收進一個 DSH 插件 bundle,左欄底部一張卡片即可進入全屏舞臺。

這是什麼

dsh-blackhole-radio-lab 是維護者 WhatCannotBeSaid 發佈的 DSH 插件(npm 包名 dsh-blackhole-radio-lab,當前 README 標註 v1.2.1,MIT 許可)。裝上後左欄底部多一張電臺卡片,點卡片上的黑洞圖標進入全屏「黑洞電臺」舞臺:中央是事件視界、光子環與吸積盤,外圍三層視差星場;約 2.4 萬臺真實網絡電臺嵌在吸積盤裏,遠看是一條亮帶,靠近才分辨單個電臺。頁面沒有常駐搜索欄或分類側欄,搜索和分類在你主動點擊時出現。

插件分類屬於聯網工具:播放時瀏覽器直連電臺流,曲目信息來自流內 ICY 元數據;目錄數據來自 Radio Browser 公開 API,發佈包內含構建期探活後的快照。

核心功能

舞臺與交互

  • 手寫軌道相機:左鍵拖動環繞黑洞、滾輪縮放、阻尼收斂,焦點鎖在黑洞核心。
  • 原生 Three.js:單個 Points 與自定義着色器承載全部電臺,不爲每臺電臺單獨建 Mesh。
  • 遠中近三級 LOD:遠看連續亮帶,中距見盤面亮結,近距顯示單個電臺與附近臺名(臺名畫在 2D canvas,不進 DOM)。
  • 黑洞與星團兩相:按住黑洞左鍵約 2.3 s,盤面散成星團;星團或空白處按住右鍵約 2.3 s,星點重新凝聚成盤。配置項 wormhole 爲 false 時可恢復瞬時切換。
  • 轉場期間若幀時間喫緊,會按視口面積把渲染像素壓到約 70 萬以內,仍不足再逐步降倍率,空閒後爬回。

電臺與播放

  • 內置快照啓動(構建時已逐條探活),缺快照時回落實時抓取;用戶側可按配置在 DSH 運行期間後臺刷新目錄,緩存寫入 $DSH_HOME/cache/blackhole-radio-lab/。
  • 搜索覆蓋臺名、國家地區、語言、分類;13 個流派烘進星團視覺分區,無單獨分類面板。
  • 播放 / 暫停、上一臺 / 隨機下一臺、音量;啓動或卡頓超過 15 秒時同臺最多重連一次,不自動換臺。
  • 記住音量與最後成功播放站,重開不自動出聲;支持系統播放 / 暫停 / 停止控制。
  • 懸停卡片可點播放,顯示流派與 LIVE;收藏在左欄底部卡片上。收藏與喜歡的歌曲保存在本機 $DSH_HOME/blackhole-radio-lab/library.json,不聯網同步。
  • 點歌名可在 Spotify、網易雲音樂、QQ 音樂、Apple Music、YouTube 中搜索(平臺可右鍵切換)。界面語言隨應用中文 / English。

Host 與架構(簡要)

插件分 Host 半(index.js + src/host/:配置、靜態路由、目錄刷新、ICY 曲目探測,零運行時依賴)與瀏覽器半(按需加載 client.stage.js、client.radio.js 等 chunk)。Host 對曲目查詢拒絕迴環、私網地址,重定向逐跳校驗;不加載遠端腳本、不引 CDN。

安裝與啓用

先決條件:Node.js ≥ 20,DSH(README 寫明已驗證 0.2.1-rc.2)。

從 npm 安裝發佈版:

dsh plugin --profile <profile> add dsh-blackhole-radio-lab

將 <profile> 換成你實際使用的 DSH profile 名。裝完後必須重啓 DSH:桌面端進程不會在運行時自行發現新 bundle。

卸載:

dsh plugin --profile <profile> remove dsh-blackhole-radio-lab

可選配置掛在 cordis.patch.yml 對應條目的 config 下,例如抗鋸齒、渲染倍率上限、是否啓用 wormhole 轉場、目錄刷新策略等;未給出的鍵回落到插件 index.js 中的默認值。完整鍵名與範圍見倉庫 README 的配置表。

典型用法

進入舞臺後,常用操作如下(與 README「上手」表一致):

操作 結果
左鍵拖動 繞黑洞旋轉
滾輪 以黑洞爲中心縮放
單擊黑洞中心 / 回車 打開搜索
黑洞上按住左鍵 2.3 s 盤面散開爲星團;按住 0.6 s 時環外脈衝表示已識別;鬆手回抽
星團或空白處按住右鍵 2.3 s 星點內收成盤;120 ms 內鬆手則打開收藏列表
星點上懸停 / 點擊 懸停卡片 / 播放暫停
Esc 關閉浮層或退回黑洞

左欄底部卡片獨佔站名、曲目行、收藏、喜歡、播放控制與音量;點卡片黑洞圖標進入全屏舞臺。

調試時可在頁面 URL 加查詢參數,例如 ?bhrlStations=5000 臨時覆蓋臺數、?bhrlWormhole=0 關閉按住轉換。

適用場景與注意

適合誰: 已在用 DSH、希望在工作流同屏聽全球網絡電臺,且能接受 WebGL 三維交互而非傳統列表 UI 的開發者或重度用戶。

權限與信任: 插件以當前 DSH 進程權限運行;安裝前請閱讀 GitHub 倉庫 源碼與 MIT(及黑洞着色器相關的 BSD-3-Clause 聲明)。播放直連第三方流,你的 IP 會暴露給對應電臺;作者服務器不參與中繼。

已知限制(節選): 無賬號與雲同步;部分電臺會 404 或地區受限;關閉窗口時 pagehide 會停止播放;實時抓取路徑每次最多取 5,000 臺,內置快照遠大於此。DSH 社區目錄 SkillHub 條目 與 DeepSeek / 幻方無官方從屬關係,生態理念是「一切皆插件」,需自行判斷是否安裝第三方 bundle。

結尾

dsh-blackhole-radio-lab 把 Radio Browser 規模的真實電臺目錄、ICY 元數據播放與本機偏好,放進可環繞、可縮放的黑洞 / 星團三維舞臺,並作爲 DSH 左欄常駐入口。若要查看簡介與安裝說明,可打開 SkillHub 插件頁 或 GitHub 倉庫 README。

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

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

小夜