
一句话语音就能播任意歌xiaomusic 在线搜索配置与点歌实战指南【免费下载链接】xiaomusic使用小爱音箱播放音乐音乐使用 yt-dlp 下载。项目地址: https://gitcode.com/GitHub_Trending/xia/xiaomusic小爱音箱本地曲库里没有的歌xiaomusic 的在线搜索功能可以凭一句语音在网内搜出音乐资源并直接播出来。本文带你把 MusicFree 插件、LX Server 接口这两类接口的配置跑通并讲清楚搜索播放、语音点歌和 AI 智能解析的用法。第一次上手三步让音箱播出一首歌先说清楚这个功能是干什么的它不依赖你本地的曲库而是靠后台配置的接口生态到互联网上搜歌再把命中的结果做成可播放的歌单发给音箱。搜索源相关的活由 js_plugin_manager.py 负责搜索、播放这类在线业务集中在 online_music.py。最短上手路线选生态。打开在线搜索后台配置页 setting.html在「接口生态」区域二选一如果你已经部署了 LX Sync Server选 LX Server 接口没有的话选 MusicFree 插件版填插件源地址后点「更新订阅」批量拉取插件。填关键配置。走 LX Server 路线只需填一个 API 地址占位示例http://127.0.0.1:9527/api点「接口测试」确认连通走 MusicFree 路线则检查哪些插件被启用顺序会影响权重。搜出第一首歌。到搜索页 index.html 输入关键词点搜索。结果可以直接在网页端播放想通过音箱听需先在「小爱音箱设置面板」完成音箱绑定再把命中结果推送到设备。走完这三步整条链路已经跑起来了后面都是关于怎么选择更合适、怎么用得更顺。选搜索源生态MusicFree 插件还是 LX Server 接口两种生态并列且互斥同一时间只有一种生效。后端配置项back_conf_info.api_type取 1 表示 MusicFree 插件取 2 表示 LX Server 接口结构见插件配置模板。页面点击切换时会弹确认提示原因是两套配置项——插件列表与平台列表——互相不兼容切错了旧配置就用不上。对比项MusicFree 插件版LX Server 接口版工作原理加载 JS 插件对接各音乐源插件跑在 Node.js 沙箱里系统拉起node js_plugin_runner.jsPython 端通过标准输入输出交换 JSON 消息接入已部署的 LX Sync Server接口逻辑由服务端统一维护配置成本要管理插件订阅、上传、启停填一个 API 地址即可鉴权信息和平台列表按需补充适合谁MusicFree 生态、已有可用插件资源的用户洛雪生态、已部署 LX Sync Server 的用户管理粒度单个插件启用、禁用、卸载、订阅更新平台级增删平台并行聚合搜索两边的运转细节各说几句MusicFree 侧插件文件放在配置目录下的js_plugins/文件夹元数据写入conf/plugins-config.json的music_free_info节点。除订阅更新外可以手动上传.js文件文件名不能是保留字ALL/all/OpenAPI/OPENAPI同名插件不能重复上传也可以直接粘贴一个http(s)://插件地址在线导入后台还提供了直达 MusicFree 官方插件市场的入口。LX Server 侧只需base_url。搜索时会并行请求所有已配置平台再合并平台列表用tx小秋音乐、kg小枸音乐、kw小蜗音乐、wy小芸音乐、mg小蜜音乐这类短标识。V1.1.2 起有「接口测试」按钮后端请求${base_url}/music/config校验player.enableAuth、user.enablePublicRestriction等字段判定接口是否合法V1.1.3 起可配置x-user-name与x-user-token请求时自动附加这两个鉴权头V1.1.2 起还支持通过${base_url}/music/lyric查歌词。LX Server 路线还内置了一整套播放保障机制选它之前值得先了解音质优先级链master→flac24bit→flac→320k→192k→128k先按你的偏好选偏好不可用时逐档自动降级失败换源直链解析失败自动试下一档音质整个原平台失败时按「歌名 歌手 时长误差不超过 5 秒」跨平台找同一首歌继续播先查缓存播放前请求${base_url}/music/cache/check命中直接返回缓存 URL未命中则走 SSE 进度接口加${base_url}/music/url异步解析直链相对地址补全LX Server 返回的相对路径会自动拼上base_url补成完整可播放地址。⚠️ 一个版本相关的提醒LX Music Sync Server v1.8.2 之后给接口加了 Token 限制计划使用 LX Server 的话暂时别升到该版本等 onlineSearch 新版适配。搜索与播放精准关键词格式和两条播放链路关键词怎么输搜索框支持歌曲名 - 艺术家格式。后端_parse_keyword_by_dash会以第一个-为界拆分前段当歌名、后段当歌手命中率会明显更高。常规搜索每页 20 条支持分页翻页每条结果带标题、艺术家、专辑、时长、音质和来源平台标签。聚合与排序规则MusicFree 路线由_search_all_plugins并行调用全部已启用插件每个插件的额度按limit ÷ 插件数分配最后统一排序LX Server 路线由_search_all_platform_lx并行请求所有已配置平台并汇总合并后统一交给optimize_search_results排序优先级是歌名匹配度 歌手匹配度 插件权重。插件权重由启用列表里的顺序决定前 9 个插件有效排得越靠前权重越高最高 9 分。两条播放链路推送到小爱音箱命中后构造_online_play这类临时歌单推送到绑定设备播放。音箱没绑定的话推送走不通记得先去「小爱音箱设置面板」完成绑定。网页端在线播放不经过音箱直接在当前网页播音频流适合快速试听。提醒一句部分 MusicFree 插件如 B 站源拿到的音频流可能不被小爱音箱支持这类资源改用网页端播放更稳妥。语音点歌两个口令、白名单和 AI 智能提取两个新增口令口令指令格式例子做了什么在线播放指定歌曲在线播放 关键词在线播放 林俊杰 江南用当前生态搜索匹配首个资源立即播播放歌手歌单播放歌手 歌手名播放歌手 周杰伦搜该歌手热门歌曲建临时歌单顺序播有一个容易漏掉的前置步骤把,singer_play,online_play,加进「允许唤醒的命令」列表。名单里缺这两个口令就不会被识别。背后机制上online_play通过_search_top_one给结果打分后取最高分的那首播放——歌名完全匹配 90、开头匹配 70、结尾 50、包含 30歌手名匹配按 9/7/5/3 递减。singer_play则搜出歌手歌曲后生成名为_online_歌手名的歌单顺序播放。另有一条语音搜歌单链路online_playlist_play先搜歌单列表按策略挑出最优歌单默认取首条策略选项见下节高级设置再把歌单里全部歌曲拉到音箱播放。AI 提取给「半句话」用的开关口令不是标准「歌名 - 歌手」格式时比如「我想听那首关于秋天的歌」可以启用 AI 智能提取后端_parse_keyword_with_ai读取aiapi_info配置enabledtrue且api_key非空时调用 openai_utils.py 里的analyze_music_command提取歌名和歌手名。默认关闭需要在高级设置里配置接口地址、API Key 和模型名接口地址留空时用阿里百炼模型默认qwen-flash大模型接口必须符合OpenAI API 规范目前只支持这一规范解析失败或 AI 不可用时自动回退到传统的歌名-歌手分割功能不断。后台配置页走查与 plugins-config.json 字段速查全部持久化配置集中在运行时文件conf/plugins-config.json首次启动时从模板文件复制生成。后台配置页setting.html 配套 setting-backend.js、setting-musicfree.js、setting-lxserver.js分这么几个区块接口生态单选入口切换时会弹兼容确认插件源配置MusicFree 路线订阅地址编辑、「更新订阅」按钮系统请求订阅源 JSON校验含plugins数组后批量下载插件、已装插件状态列表启用/禁用/卸载、手动上传.js、在线导入以及官方频道直达入口LX Server 配置区LX 路线API 地址带格式校验、x-user-name/x-user-token鉴权信息、「接口测试」按钮、平台增删管理高级设置模态框对应GET/POST /api/advanced-config/*接口包含五张卡片卡片干什么默认自动追加歌曲小爱播完最后一首时自动加同歌手歌曲仅「全部播放」即全部循环模式生效开自动拉取并转换每 30 秒自动拉 LX 歌单并转成 XM 歌单仅 LX 生态显示关AI 大模型配置启用 AI 提取 接口地址留空用阿里百炼 API Key 模型名默认qwen-flash关口令搜索偏好语音口令搜索的偏好平台all表示聚合搜索all语音搜单策略default首条 /max_songs歌曲最多 /max_plays播放最多 /random随机default密码校验V1.1.2默认关闭。把conf/plugins-config.json的password字段设为非空即启用进后台时前端先请求GET /api/password/check返回required: true就弹密码框POST /api/password/verify通过后才能进入。忘记密码可在配置文件里重置——密码置空就是关闭密码锁。核心字段速查字段位置干什么用api_typeback_conf_info1MusicFree 插件2LX Server 接口enabled_pluginsmusic_free_info已启用插件列表顺序即权重排序plugins_infomusic_free_info已安装插件信息source_urlmusic_free_info.plugin_source插件订阅源地址base_urllx_server_infoLX Server API 地址x-user-name/x-user-tokenlx_server_infoLX Server 鉴权头platformslx_server_infoLX 平台字典key 是标识value 是展示名auto_convertlx_server_info是否每 30 秒自动拉取转换 LX 歌单box_play_platformlx_server_info/music_free_info语音口令搜索偏好平台all为聚合auto_add_song顶层自动追加同歌手歌曲开关aiapi_info顶层AI 口令提取enabled/api_key/base_url/modelpassword顶层后台密码锁非空即启用voice_playlist_strategy顶层语音搜单策略⚠️ 升级提醒凡是涉及配置文件结构变化的版本如 V1.1.1 重构旧版用户要手动删掉/conf/plugins-config.json重启服务后在网页端重新配置。避坑清单常见症状、原因和处理办法LX Server 生态无法播放原因接口版本或配置问题。处理先核接口地址用「接口测试」验证连通再参照 issues/811.md 的处理方案排查。想把平台歌单同步到音箱播放原因目前不是内置能力有方案讨论。处理见 issues/807.md 的讨论。AI 口令提取不生效原因aiapi_info没开或api_key为空或大模型接口不符合 OpenAI API 规范。处理在conf/plugins-config.json设置enabled: true并填api_key同时确认接口规范。自动追加歌曲怎么用原因只对「全部播放」全部循环模式生效且早期版本没暴露到前端。处理用高级设置或直接改conf/plugins-config.json顶层auto_add_song为true要关就改false。LX 转换来的歌单用不了原因LX 歌单转出的 XM 歌单带_online_lx_前缀只在 LXServer 生态下有效。处理把后台生态切到 LX Server 再使用。某些歌音箱播不了、网页端却正常原因部分插件如 B 站源拿到的音频流格式不被小爱音箱支持。处理这类资源走网页端播放。后台升级后原配置不见了原因部分版本调整了配置文件结构。处理删旧/conf/plugins-config.json重启服务重新在网页端配置。两条底层的保护逻辑也顺带说明源码里的在线 URL 校验_make_request_with_validation会拒绝内网、回环、链路本地、多播这类地址来防 SSRF另外优先级逻辑很直白——选了 LX Server 就只调 LX Server 接口选了 MusicFree 就只调已启用且排序靠前的插件前 9 个有效。想深挖实现源码该看哪里xiaomusic/online_music.py在线搜索业务核心——搜索、聚合排序、播放直链、换源降级、AI 解析、SSRF 防护都在这里xiaomusic/js_plugin_manager.py插件与接口管理——Node 沙箱拉起、插件加载、订阅更新、LX 接口请求、自动转换定时任务xiaomusic/api/routers/plugin.py在线搜索相关的全部 REST 接口含配置更新、插件上传、接口测试、密码校验xiaomusic/static/onlineSearch/setting.html 及配套 setting-backend.js、setting-musicfree.js、setting-lxserver.js前端后台配置页xiaomusic/static/onlineSearch/index.html前端搜索页输入关键词、选择播放方式都在这xiaomusic/plugins-config-example.json配置文件模板字段定义可以对着它核对。【免费下载链接】xiaomusic使用小爱音箱播放音乐音乐使用 yt-dlp 下载。项目地址: https://gitcode.com/GitHub_Trending/xia/xiaomusic创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考