dsh-web
zhu1090093659/dsh-webDeepSeek Harness(DSH)Web 插件聚合生态包 · 一切皆插件,创意工坊分发(dsh-market.com)
在 DSH Web GUI 里边工作边听的网络电台。 一条 24px 的胶囊嵌在 composer 状态行里,和轮次、token 那些状态并排;点一次出声,切台、暂停、音量、曲目都在它自己的面板里。
*Internet radio for the DeepSeek-Harness Web GUI — a 24px capsule in the composer status row.*
https://github.com/CXZAAA/dsh-radiorestart-required,重启一次再刷新:sudo systemctl restart dsh-web包内声明了组合包 patch,插件页会自动加好 Loader 行并默认启用,不需要手改配置。
之前用脚本装过?先清掉旧的那份
dsh plugin --profile web remove dsh-plugin-radio再删掉 ~/.dsh/profiles/web/cordis.patch.yml 末尾 # dsh-radio (managed by install-local.sh) 那一段,避免同一行被写两次。
git clone https://github.com/CXZAAA/dsh-radio.git
cd dsh-radio
bash scripts/install-local.sh
sudo systemctl restart dsh-web仓库已提交 lib/ 构建产物,不需要在本地构建。
其他安装方式与卸载
pnpm git 安装(未在 CI 中验证;github: 简写默认走 SSH,没有 key 会卡住,用 git+https://):
dsh plugin --profile web add "git+https://github.com/CXZAAA/dsh-radio.git"之后手动在 ~/.dsh/profiles/web/cordis.patch.yml 追加:
# dsh-radio
- insert:
- id: radio
name: dsh-plugin-radio卸载:
dsh plugin --profile web remove dsh-plugin-radio并删掉上面那段 id: radio,重启 dsh-web。
歌手 — 曲名。--dsw-* 主题变量,明暗主题都成立;颜色只出现在频谱柱和失败态。操作 · 结果 点胶囊左端 · 播放 / 暂停(失败时变成重试) 点「下一台」 · 切到下一台,7 台循环 点台名 · 向上弹出面板 面板里点某台 · 切过去;点当前台是暂停 / 恢复 面板右上角齿轮 · 系统媒体键、频谱样式、记住上次电台 底部一行 · 左侧播放 / 下一台,右侧静音 + 音量滑杆 Esc · 关闭面板
面板:电台列表、频谱、当前曲目 设置:三项开关
电台 · 来源 · 流 ChillSynth · Nightride FM · MP3 320 Nightride · Nightride FM · MP3 320 Darksynth · Nightride FM · MP3 320 Spacesynth · Nightride FM · MP3 320 Main Mix · Radio Paradise · AAC 320 Mellow Mix · Radio Paradise · AAC 128 EVE Radio · GamingNow · MP3 256
全部是浏览器直放的渐进式流,没有 HLS、不需要音频代理。
http://,dsh 跑在 HTTPS 下时会被混合内容策略拦掉。pnpm install
pnpm typecheck # tsc --noEmit
pnpm build # esbuild → lib/client.js + lib/index.js
pnpm test # node:test:45 项,含 ModuleLoader 冒烟与宿主路由客户端半侧支持 HMR:改完 pnpm build 会自动推进已打开的页面;宿主半侧改动需要重启 dsh。
包结构
src/
index.ts # 宿主半侧:注册 /plugins/dsh-plugin-radio/now-playing(RP 曲目代理)
client/
index.ts # name / inject: ['slots'] / apply(ctx)
stations.ts # 7 个电台与主备地址
settings.ts # 设置与 localStorage 解析
i18n.ts # 中文(默认)/ 英文
player.ts # 单例 Audio、预缓冲、超时、备用流、AnalyserNode
nowPlaying.ts # Nightride / EVE / RP 三条曲目来源
store.ts # 模块级 store + MediaSession + 持久化
Radio.tsx # 状态行胶囊 / 面板 / 设置
styles.ts # CSS 字符串与 <style data-dsh-radio> 注入
lib/
client.js # window.__ModuleLoader__.load({ id, factory })
index.js # 宿主半侧产物
locale/{zh,en}.json # 插件页显示的标题与描述
cordis.patch.yml # 组合包 patch:插入 id: radiodesign/:方向稿、可交互原型、harness 截图MIT © 2026 CXZAAA