xiaozhi-esp32-server:为 ESP32 语音设备搭建自己的后端服务
xiaozhi-esp32 xiaozhi-esp32 的 ESP32 后端服务,帮助您快速构建 ESP32 设备控制服务器。
秒懂
- 它是什么?
- 本文介绍 xiaozhi-esp32-server,一个为 ESP32 语音硬件提供后端服务的开源项目。它支持 MQTT+UDP、WebSocket、声纹识别与知识库,但项目自身明确警告尚未通过网络安全测评,不适合生产环境。
- 适合谁用?
- 适合已经拥有 xiaozhi-esp32 硬件、熟悉其通信协议,并且愿意自己维护一套后端服务的开发者。它解决了依赖公共测试服务器的不确定性,让你能控制自己的语音设备数据流向。
- 能商用吗?
- 可以。MIT 是宽松许可证:你可以使用、修改并销售基于它的软件,只需保留版权和许可证声明。
- 还在维护吗?
- 在维护。仓库最近一次提交在 2 天前。
- 用什么语言写的?
- 主要是 JavaScript(依据 GitHub 的语言统计)。
以上回答依据项目的 GitHub 数据(最近同步于 2026年9月14日)和我们的分析,不构成法律意见。
开源项目深度解析
它解决什么问题
xiaozhi-esp32-server 是开源硬件项目 xiaozhi-esp32 的后端服务。官方提供公共测试服务器,但那是共享的,并发限制为 6 个,数据每天清空。如果你有自己的 ESP32 设备,想独立控制后端,或者想接入自己的语音识别、大模型、语音合成服务,这个项目就是为此设计的。它由华南理工大学刘思源教授团队主导研发,基于小智通信协议实现。适用人群很明确:已经买过 ESP32 硬件,对接过官方后端,现在想自己搭一套的人。不是给零基础用户准备的,它要求你至少能烧录固件、理解基本的网络协议。
架构与核心机制
项目的主语言是 JavaScript,但实现里混合了 Python、Java 和 Vue。核心架构基于 MQTT+UDP 网关、WebSocket 和 HTTP 服务器,提供控制台管理和认证系统。语音交互链路包含流式 ASR、流式 TTS、VAD 语音活动检测。声纹识别与 ASR 并行处理,实时识别说话人身份并传给 LLM,让对话可以个性化。记忆系统支持本地短期记忆、mem0ai 接口记忆和 PowerMem 智能记忆。知识库对接 RAGFlow,由大模型判断是否需要调度知识库再回答。工具调用方面支持客户端 IOT 协议、客户端 MCP 协议、服务端 MCP 协议和自定义工具函数。指令下发依托 MQTT 协议,可以从智控台把 MCP 指令下发到 ESP32 设备。整体是一个模块化的后端,不是单一二进制,各个组件可以独立替换。
部署方式与配置要求
项目提供两种部署方式。最简化安装只跑 server,支持智能对话和单智能体管理,数据存在配置文件里,不需要数据库。适合低配置环境,如果使用 FunASR 需要 2 核 4G,如果全走 API 则 2 核 2G 即可。全模块安装包含多用户管理、多智能体管理和智控台界面,数据存在数据库里,配置要求更高,FunASR 需要 4 核 8G,全 API 需要 2 核 4G。部署路径有两种:Docker 版和源码部署。源码部署的文档在 docs/Deployment.md 和 docs/Deployment_all.md,自动更新教程在 docs/dev-ops-integration.md。测试工具方面,音频交互测试工具位于 main/digital-human/index.html,在 main/digital-human 目录执行 python start.py 后访问 http://127.0.0.1:8006/index.html。模型响应测试工具是 main/xiaozhi-server/performance_tester.py,执行 python performance_tester.py 即可测试 ASR、LLM、VLLM、TTS 的响应速度。注意它只会测试配置了密钥的模型。
配置方案:免费入门与流式体验
项目提供两种配置方案。入门全免费方案适合个人家庭使用,ASR 用本地的 FunASR,LLM 用智谱的 glm-4-flash,VLLM 用 glm-4v-flash,TTS 用微软的 EdgeTTS。这套方案不产生额外费用,但响应速度较慢。流式配置适合演示、培训或超过 2 个并发的场景,ASR 用讯飞流式,LLM 用阿里百炼的 qwen-flash,VLLM 用 qwen3.5-flash,TTS 用火山流式。自 0.5.2 版本起支持流式配置,README 声称相比早期版本响应速度提升约 2.5 秒。这个提升是项目方给出的数据,我没有实测验证。如果你关心各组件耗时,项目方提供了性能测试报告仓库 xiaozhi-performance-research,你可以按里面的方法在自己的环境里测。
一个真实的限制:生产环境警告
README 开头就有两条警告。第一条说本项目与对接的任何第三方 API 服务商不存在商业合作关系,不为其服务质量及资金安全提供担保。它不托管账户密钥、不参与资金流转、不承担充值资金损失风险。这意味着你选择的语音识别、大模型、语音合成服务商如果有问题,责任在你自己。第二条更关键:项目功能未完善,且未通过网络安全测评,请勿在生产环境中使用。如果要在公网部署学习,必须做好防护。这是项目方自己的声明,不是我的推测。对于想把它当作正式产品后端的人,这是一个硬性障碍。它适合学习、实验、个人使用,不适合直接面向公众提供服务。
替代方案与差异
最直接的替代方案是使用官方提供的公共测试服务器。README 中列出了测试地址,包括智控台、OTA 接口和 WebSocket 接口。这个方案不需要你部署任何东西,烧录固件后直接连接即可。但它的限制很明显:并发只有 6 个,数据每天清空。这意味着它只适合短期体验,不适合长期使用或多人使用。另一个思路是自己从头实现一个符合小智通信协议的后端,但这需要你理解协议细节,工作量巨大。xiaozhi-esp32-server 的价值在于它把协议实现、语音链路、管理界面都打包好了,你只需要配置模型密钥和部署环境。与公共服务器相比,它给了你数据控制权;与从零实现相比,它省去了大量协议调试时间。
维护与升级成本
项目最近更新频繁,v0.9.6 发布于 2026 年 7 月,v0.9.5 在 6 月,v0.9.4 在 6 月初。基本保持每月一个版本。这对使用者意味着两件事:一是 bug 修复和新功能持续在推进,二是你需要跟上版本变化。源码部署提供自动更新教程,说明项目方意识到了升级的痛点。但自动更新也可能带来配置不兼容的风险,尤其是当配置文件格式或数据库结构变化时。许可证是 MIT,这意味着你可以自由使用、修改、商用,只要保留版权声明。但 MIT 许可证不提供任何担保,项目方也明确声明不承担第三方服务商的风险。如果你要长期使用,建议关注 release notes,并在升级前备份配置文件和数据库。
编辑结论
适合已经拥有 xiaozhi-esp32 硬件、熟悉其通信协议,并且愿意自己维护一套后端服务的开发者。它解决了依赖公共测试服务器的不确定性,让你能控制自己的语音设备数据流向。不适合对网络安全要求较高的生产环境,因为 README 明确写着“未通过网络安全测评”。部署前应先确认两件事:一是你的硬件是否与当前固件版本兼容,二是你选择的 ASR、LLM、TTS 服务商是否持有所需牌照。若你只是想体验语音助手,直接使用官方提供的公共测试地址更省事。这个项目的价值在于可控性,而不是开箱即用的稳定性。
社区笔记