🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

车载电台夜路 lemonhall/dsh-radio-dock

DeepSeek Harness
lemonhall32 天前有提交已提供中文文档扫描:未发现敏感能力

在右侧栏边听 City Pop 边看夜路行驶

29.8/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/4 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add lemonhall/dsh-radio-dock
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:待复验
是什么
dsh 原生插件 · browser
装得上吗
曾在 dsh 0.2.0-rc.2 下真实安装成功,但当前 dsh 已更新至 0.2.1-rc.5,本站尚未在新版下复验
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 32 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🟢 扫描:未发现敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。

扫描于 2026/11/4(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • three.js车内视角
  • 蜿蜒夜路场景
  • CityPop电台收听

DeepSeek Harness 车载电台底座:three.js 车内视角 + 蜿蜒夜路 + radio-browser 电台(City Pop)。

README

由 DeepSeek 最新模型翻译生成
dsh-radio-dock 📻 把 godot_citys 里那套车载电台搬进 DeepSeek Harness 的右侧栏,配一个 three.js 的车内视角:夜里在弯路上一直开,电台放 City Pop。 右侧栏本来就是个 apps 入口 —— 官方的「文件 / 终端 / 浏览器」和第三方插件走的是同一套机制。这个插件在里面又加了一个座位。 效果 在 DSH 右侧栏里的车载电台 左边聊天、右边电台。这张是展开频道列表的样子:上面是当前在放的那台,中间四个标签(City Pop / Jazz / Synthwave / Lofi),下面是 radio-browser 的实时结果。 整屏 夜路上跑起来 (以上都是在 DSH 桌面版里真实截的,docs/make-screenshots.py 是裁图脚本。
展开完整文档(README 剩余 1 节)
dsh-radio-dock 📻

把 godot_citys 里那套车载电台搬进 DeepSeek Harness 的右侧栏,配一个 three.js 的车内视角:夜里在弯路上一直开,电台放 City Pop。

右侧栏本来就是个 apps 入口 —— 官方的「文件 / 终端 / 浏览器」和第三方插件走的是同一套机制。这个插件在里面又加了一个座位。

效果

在 DSH 右侧栏里的车载电台

左边聊天、右边电台。这张是展开频道列表的样子:上面是当前在放的那台,中间四个标签(City Pop / Jazz / Synthwave / Lofi),下面是 radio-browser 的实时结果。

整屏

夜路上跑起来

(以上都是在 DSH 桌面版里真实截的,docs/make-screenshots.py 是裁图脚本。)

- 车内视角:驾驶位高度、仪表台与方向盘剪影;月光、星空、月亮(带光晕)
- 会弯的公路:路面按三个正弦叠加的曲线做顶点位移,96 段;相机横向跟曲线、朝向跟切线
- 车流:同向的慢车被我们一辆辆超过(红色尾灯),对向的迎面掠过(暖白大灯);护栏柱、路灯、远处城市剪影循环
- 电台:频道来自 radio-browser.info,四个标签预设(City Pop / Jazz / Synthwave / Lofi)、频道列表、8 个快捷槽、开关 / 上下台 / 音量
- 断流自愈:公共电台被服务器掐断是常态,客户端有重连 + 看门狗(连"没暂停但播放位置不前进"的僵尸连接也会重连)

安装

plugin_manager install_bundle target=link:E:\development\dsh-radio-dock

或者克隆到本地后把路径换成你自己的:

git clone https://github.com/lemonhall/dsh-radio-dock
plugin_manager install_bundle target=link:<仓库路径>

⚠️ 客户端半边(右侧栏那个 tab)改动要重启一次应用;宿主半边热生效。

装好之后:右侧栏点「+」→ 选 📻 车载电台。

它是怎么work的

lib/index.js 宿主半:三条同源只读/中转路由 /dsh-radio/ping 配置自检 /dsh-radio/stations 取频道目录(curl 经本机代理 → radio-browser) /dsh-radio/stream 音频流转发(curl 走代理,边收边 pipe) /dsh-radio/three.module.js 把插件自带的 three.js 递出去 lib/client.js 客户端半:注册右侧栏 tab(sidebarRightTabs + 两个 keyed slot)
RadioScene = three.js 场景;RadioPanel = 电台 UI
vendor/three.module.js three r169(已随包,不依赖 CDN)

为什么音频要宿主中转:① 目录与音频都得走本机代理(127.0.0.1:7897);② 很多公共电台是 http 流,而页面是 http://127.0.0.1:19387 —— 混合内容会被浏览器拦;③ 顺便绕开 CORS。

配置

cordis.patch.yml:

| 键 | 默认 | 说明 |
| apiBase | https://de1.api.radio-browser.info | 电台目录(与原项目 CityRadioBrowserApi.gd 一致) |
| proxy | http://127.0.0.1:7897 | 目录与音频流都走它 |
| defaultCountry / defaultTag | Japan / city pop | 默认捞哪个方向 |
| cacheTtlMs | 21600000(6h) | 目录缓存 |
| streamTimeoutMs | 21600000(6h) | 音频流总时限(curl --max-time)。⚠️ 写小了就是"播一会儿自己停" |

源自哪儿

E:\development\godot_citys 的 city_game/world/radio/(Controller / Catalog / QuickBank / StreamResolver / UserState)、city_game/ui/CityVehicleRadio*、city_game/native/radio_backend/(带 FFmpeg 的 C++ GDExtension)。

移植时不需要那个 native 后端 —— 浏览器 直接放流即可。热键语义也照搬了原项目 project.godot 的 vehicle_radio_power_toggle / next / prev / quick_open / browser_open / confirm / cancel。

已知限制

- 频道靠公共目录 + 公共流,可用性不保证(有的台会挂、会限流)
- 没有做"当前播放曲目"(大部分公共流不带 ICY 元数据,拿到也不准)
- 车流是程序生成的,不是真实交通模拟

License

MIT
预览分享卡片长什么样 ↓lemonhall/dsh-radio-dock
分享 · DeepSeek Harness Hub
lemonhall/dsh-radio-dock

在右侧栏边听 City Pop 边看夜路行驶

这是你的仓库?认领条目

回到顶部