网络电台音乐播放器
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_15292d5a/yjkj-internet-radio-music-player。
技能介绍
解决的问题
这个技能处理的是“只想用一句话播放合适网络电台”的本地播放场景:用户说 play happy music 或 播放适合睡觉的音乐 时,需要把自然语言映射到具体流派,再从数量较多、状态会变化的电台流里挑出可用链接,并交给播放器执行。它还顺带解决切台、回退、状态查询和历史查看的问题。
如何工作
技能依赖 Internet Radio Music DB 提供流派化电台流数据库,主逻辑在 scripts/play_music.py 中运行。播放时先根据内置 mood map 判断目标流派,例如 calm/sleep 对应 ambient、classical、folk;随后按四级相关度排序:精确 genre 命中优先,genres 中位置越靠前越优先,附加子流派越少越优先,速度较快者优先。选中流后先做 HTTP 可用性检查,再启动 Foobar2000 播放 URL,并把当前流派、当前流和历史写入 state.json。
常用能力包括:
- 播放控制:
Play、Stop、Next、Previous、Resume等命令。 - 同流派切台:
Next从数据库中按当前流派重新排序选择,而不是随机跳历史。 - 自动恢复:被
Stop后再次无参数Play,会恢复最后一条已播放流。 - WebUI 插件:可嵌入网页面板,提供播放控制、流派选择、数据库统计、列表、可用性检查和重建入口。
适用边界
它不是通用音乐流媒体客户端,核心可用性依赖本地数据库、网络电台源和 Foobar2000。Next 只在同流派数据库内切换;流是否可播受电台源状态影响;数据库失败项会被移除或重建。适合希望用命令行或 Web 面板驱动本地 Foobar2000 播放网络电台流的工程师。
使用场景
- 工程师在聊天里输入 `play happy music`,技能映射到 dance、pop 等流派并启动 Foobar2000 播放可用电台流。
- 桌面值班时不想手动找电台网址,用 `Stop`、`Next`、`Status` 命令完成停止、同流派切台和查看当前流。
- 需要把播放入口嵌入 WebChat,用可嵌入面板选择流派、播放、停止、切台并查看状态。
- 整理本地播放记录时,用 `show_history.py` 查看、筛选并导出 CSV、HTML 或 JSON 历史。
适合人员
- 本地 Foobar2000 用户:希望用一句自然语言或聊天命令播放网络电台,而不是手动搜索和粘贴电台 URL。
- Agent 工作流开发者:需要把播放控制、同流派切台和历史查询接入聊天或 WebChat 面板。
- 桌面自动化维护者:需要管理播放状态、检查电台流可用性,并通过 WebUI 面板维护播放入口。
- 音乐流数据整理者:需要查看流派统计、播放历史,并把记录导出为 CSV、HTML 或 JSON。