如何让小爱音箱播放本地音乐:XiaoMusic 部署与配置指南

发布时间:2026/10/16 6:11:33

如何让小爱音箱播放本地音乐:XiaoMusic 部署与配置指南 如何让小爱音箱播放本地音乐XiaoMusic 部署与配置指南【免费下载链接】xiaomusic使用小爱音箱播放音乐音乐使用 yt-dlp 下载。项目地址: https://gitcode.com/GitHub_Trending/xia/xiaomusic对小爱音箱说播放歌曲 周杰伦它自带的曲库经常搜不到歌。XiaoMusic 是一个跑在后台的开源音乐播放服务拦截语音口令缺少的音乐用 yt-dlp 自动下载存到本地再让小爱音箱直接播放。 它能做什么一句话把音箱的播放源从平台曲库换成你自己的音乐库。语音点播口令前缀播放歌曲加歌名即可从本地库播放在线播放、播放歌手等口令在本地没有的歌会先下载再播放。曲库自动扫描自动识别音乐目录下 mp3、flac、wav、ape、ogg、m4a 格式的文件拷进去就能点。语音控制上一首/下一首、单曲循环、全部循环、随机播放、按歌单播放、加入收藏/取消收藏、关机全部语音完成。Web 管理界面搜索、删除、收藏歌曲切换播放设备查看下载进度所有参数都在页面上改不需要动配置文件。网络歌单支持 json 格式的网络歌单电台、在线歌曲并附带 m3u 电台文件转 json 的工具。⚙️ 它是怎么做到的整体是一个 Python FastAPI 写的 Web 服务启动后默认监听 8090 端口核心流程四步用小米账号通过 MiService 接口登录小米服务持续拉取小爱同学的对话记录从中识别播放口令口令触发后先检索本地曲库没有就按配置的来源前缀默认 B 站搜索调 yt-dlp 下载必要时用 ffmpeg 转成 mp3、做响度均衡下载完的音乐存入本地目录服务给音箱下发一个 HTTP 播放链接音箱从你的服务器拉流播放歌曲列表、设备管理、设置项全部由 FastAPI 路由提供接口前端是网页页面。 快速上手启动容器把 8090 映射到宿主机任意端口音乐目录和配置目录分开挂载docker run -p 58090:8090 -v /xiaomusic_music:/app/music -v /xiaomusic_conf:/app/conf hanxi/xiaomusic不用 docker 也可以执行pip install -U xiaomusic然后用xiaomusic --config config.json启动。浏览器打开http://宿主机IP:58090设置页里首次填入小米账号和密码保存后才会拉出设备列表。对着音箱说播放歌曲验证本地有的直接播没有的进下载流程。配置文件关键字段说明参照 config-example.json 模板常用字段如下{ account: 小米账号, password: 小米密码, music_path: music, hostname: http://192.168.2.5, port: 8090, search_prefix: bilisearch:, convert_to_mp3: false }account/password小米账号与密码必填hostname音箱所在局域网内能访问到的地址须为 IPv4别填 localhostport默认 8090改端口要同步改其他引用处search_prefix在线搜索来源前缀默认 bilisearch: 走 B 站convert_to_mp3下载后统一转 mp3型号兼容时有用进阶玩法自定义语音口令在配置里往user_key_word_dict加词值可以写exec#code1(...)或exec#httpget(...)把晨间唤醒这类自定义词绑定到一段执行逻辑或一个 HTTP 请求。示例代码在 plugins/ 目录。在线音乐插件内置 JS 插件机制可接入 LXServer、MusicFree 等在线音乐源字段结构见 xiaomusic/plugins-config-example.json插件管理逻辑在 xiaomusic/js_plugin_manager.py配置入口在 Web 端的在线搜索设置页。曲库管理与多前端控制台里全部 / 所有歌曲 / 收藏 / 下载四个页签按设备维度管理歌曲xiaomusic/static/ 下还内置了 pure、tailwind、xplayer 等多套前端页面可按喜好切换。⚠️ 避坑指南问题登录失败后台看不到设备列表解答先核对账号密码仍失败可改用 cookie 登录或在 mi.com 官网重新登录过一次滑块验证。问题语音口令不生效解答语音口令获取对话记录默认关闭需在设置页打开口令要带播放歌曲前缀说播放音乐是不识别的。问题日志显示正在播放但没声音解答检查hostname是否为音箱同局域网可访问的地址端口若改过 8090 要同步修改。问题flac 歌曲播不了解答部分型号不支持 flac在设置里打开转换为MP3或型号兼容模式。只依赖语音点播和本地曲库的话默认配置基本够用遇到问题先查 docs/issues/ 里的 FAQ 集合。源码主体在 xiaomusic/ 目录项目文档见 docs/index.md。【免费下载链接】xiaomusic使用小爱音箱播放音乐音乐使用 yt-dlp 下载。项目地址: https://gitcode.com/GitHub_Trending/xia/xiaomusic创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
延伸阅读

更多相关文章

2026/10/16 6:11:33

[基于OpenEvals的自动化评估-13]Agent执行轨迹评估[LLM-as-a-Judge]

基于OpenEvals的自动化评估-12:Agent执行轨迹评估介绍的轨迹评估很简单,它首先确定待评估的消息列表与作为基准的列表在消息数量上相等、角色上一一匹配。如果涉及工具调用,在根据指定的工具调用列表匹配模式和参数匹配模式对工具调用进行比较。其实Agen…

2026/10/16 6:11:33

CSS面试别死记硬背:吃透盒模型与BFC,掌握布局原理

做前端这些年,我最大的感触是:CSS面试题非常好准备,也非常容易准备错方向。很多人把题库刷了个遍,背得滚瓜烂熟,真到面试官面前还是答得支支吾吾。原因很简单——你背的是答案,面试官想看的是思维过程。这篇…

2026/10/16 6:11:33

React Native鸿蒙适配实战:用PanResponder+SVG实现涂鸦画板

最近接到一个有点意思的需求:要在 iOS、Android、鸿蒙三端同时上一个涂鸦画板,用来给用户做批注和签字。技术栈已经定死在 React Native 上,鸿蒙端靠某跨端适配框架跑 RN 实例,所以我脑子里第一反应是:手势用 PanRespo…

2026/10/16 7:32:00

npm全局包默认目录不用改:环境变量与PATH原理详解

前阵子有个群友问我:“我刚装完 Node.js,网上教程都说要改全局安装目录、配置环境变量,不然以后装全局包会出问题,你怎么看?”我回了他一句:如果你只是正常开发,这两步确实基本是多余的。这个标…

2026/10/16 7:32:00

free-claude-code低成本接入全攻略:从官方额度到开源替代方案

free-claude-code这个关键词,最近在开发者和技术社区里出现得越来越频繁。我第一次看到它时,以为是一个具体的开源仓库名,顺着链接点进去才发现,它更像是某一类需求的集合标签:大家想知道怎么用更低的成本,…

2026/10/16 7:32:00

Rancher Prime升级计划卡死?ImagePullBackOff根因与修复指南

周一的告警通道里突然涌入一批 ImagePullBackOff 通知,全部来自系统升级控制器所在的命名空间。打开关联的 Pod 列表,二三十个 Job 子 Pod 整整齐齐停在 Init 状态,任何重试都没用。标题里说的“错误的 kubectl 图像”,其实就是升…

2026/10/16 7:32:00

从零搭建代码生成工具链:核心模块、部署调试与成本控制实战

1. 从“free-claude-code”这个标题说起:一个开发者工具链的命名逻辑第一次看到“free-claude-code”这个标题,我的直觉是:这大概率是一个围绕代码生成能力做文章的开源项目或工具集。名字里带“free”,通常意味着两件事——要么是…

2026/10/16 7:32:00

静态库 vs 动态库:-fPIC、PLT/GOT、LD_PRELOAD、链接顺序

同一份源码,编成静态库(.a)和动态库(.so),链接方式完全不同——一个把代码复制进可执行文件、一个在运行时才加载,体积和依赖各有取舍。这篇用 nm/readelf/ldd/size 的真实输出把这套「链接与加…

2026/10/16 5:33:43

Python调用Gemini Structured Outputs实现工单路由门禁

客服工单最怕的不是模型“答错一句话”,而是它给出一段看起来合理的说明,程序却从中猜错优先级。通俗做法是:要求模型只交 JSON(JavaScript Object Notation,轻量数据格式),再让代码验证它。Gem…

2026/10/16 4:03:48

Spring Boot超市进销存系统毕设实战:从需求拆解到答辩通关

最近带的一个学生项目组里,有A同学跑来问我:选什么毕设题目最稳妥,既能让评审老师觉得工作量够,又不会在答辩时被问到语无伦次。我第一反应就是推荐基于Spring Boot的超市仓库管理系统——也就是超市进销存系统。这个题目乍一看平…

2026/10/15 13:42:16

Flutter StatefulWidget 生命周期核心解析

很多刚开始接触 Flutter 的朋友,在看完一堆“Hello World”和基础组件之后,大概率都会撞上同一堵墙:StatefulWidget 里那堆 initState、build、dispose 方法,到底什么时候被调用?为什么顺序是那样?在里面到…

2026/10/16 0:01:11

Cephadm实战指南:Linux系统工程师的生产级Ceph集群部署与排障

简介:本资源是一份完整的Ceph分布式存储系统中文技术文档合集,面向Linux系统运维工程师、云平台架构师及存储方向开发者,帮助读者系统掌握Ceph集群的部署、配置与运维核心能力。文档覆盖对象存储(RGW)、块设备&#xf…

2026/10/16 0:01:11

ITK中SpatialObject几何体系解析:坐标系、变换与管道集成

1. 空间对象的定位:为什么 ITK 需要一套几何描述体系很多刚开始接触 ITK 的朋友,包括我自己,最初都是被它的图像滤波、配准、分割这些“正统”功能吸引进来的。等真正上手做点实际项目,比如把分割出来的器官边界做量化分析、给血管…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑