xinnan-tech / xiaozhi-esp32-server
git clone https://github.com/xinnan-tech/xiaozhi-esp32-server.git
v0.9.7 · 24d ago
本项目为xiaozhi-esp32提供后端服务,帮助您快速搭建ESP32设备控制服务器。Backend service for xiaozhi-esp32, helps you quickly build an ESP32 device control server.
+23
stars, 24h · #1,631
+~114
stars, 7 days · #1,874
+~490
stars, 30 days · #1,676
11k
★ total · +1% this week
3.7k
forks · 734 open issues
Star history (as recorded here)
LanguageJavaScript
LicenseMIT
Created2025-02-02 (1y ago)
Last pushtoday
Watchers100
OwnerUser
GitHub topics
Links
- GitHub: github.com/xinnan-tech/xiaozhi-esp32-server
- Homepage: http://xiaozhi.biz
- Releases · Issues · Hacker News mentions
README excerpt
小智后端服务xiaozhi-esp32-server 本项目基于人机共生智能理论和技术研发智能终端软硬件体系 为开源智能硬件项目 xiaozhi-esp32 提供后端服务 根据 小智通信协议 使用Python、Java、Vue实现 支持MQTT+UDP协议、Websocket协议、MCP接入点、声纹识别、知识库 常见问题 · 反馈问题 · 部署文档 · 更新日志 Spearheaded by Professor Siyuan Liu's Team (South China University of Technology) 刘思源教授团队主导研发(华南理工大学) --- ## 适用人群 👥 本项目需要配合 ESP32 硬件设备使用。如果您已经购买了 ESP32 相关硬件,且成功对接过虾哥部署的后端服务,并希望独立搭建自己的 `xiaozhi-esp32` 后端服务,那么本项目非常适合您。 想看使用效果?请猛戳视频 🎥 --- ## 警告 ⚠️ 1、本项目为开源软件,本软件与对接的任何第三方API服务商(包括但不限于语音识别、大模型、语音合成等平台)均不存在商业合作关系,不为其服务质量及资金安全提供任何形式的担保。 建议使用者优先选择持有相关业务牌照的服务商,并仔细阅读其服务协议及隐私政策。本软件不托管任何账户密钥、不参与资金流转、不承担充值资金损失风险。 2、本项目功能未完善,且未通过网络安全测评,请勿在生产环境中使用。 如果您在公网环境中部署学习本项目,请务必做好必要的防护。 --- ## 部署文档 本项目提供两种部署方式,请根据您的具体需求选择: #### 🚀 部署方式选择 | 部署方式 | 特点 | 适用场景 | 部署文档 | 配置要求 | 视频教程 | |---------|------|---------|---------|---------|---------| | **最简化安装** | 智能对话、单智能体管理 | 低配置环境,数据存储在配置文件,无需数据库 | ①Docker版 / ②源码部署| 如果使用`FunASR`要2核4G,如果全API,要2核2G | - | | **全模块安装** | 智能对话、多用户管理、多智能体管理、智控台界面操作 | 完整功能体验,数据存储在数据库 |①Docker版 / ②源码部署 / ③源码部署自动更新教程 | 如果使用`FunASR`要4核8G,如果全API,要2核4G| 本地源码启动视频教程 | 常见问题及相关教程,可参考这个链接 > 💡 提示:以下是按最新代码部署后的测试平台,有需要可烧录测试,并发为6个,每天会清空数据, [code] #### 🚩 配置说明和推荐 > [!Note] > 本项目提供两种配置方案: > > 1. `入门全免费`配置:适合个人家庭使用,所有组件均采用免费方案,无需额外付费。 > > 2. `流式配置`:适合演示、培训、超过2个并发等场景,采用流式处理技术,响应速度更快,体验更佳。 > > 自`0.5.2`版本起,项目支持流式配置,相比早期版本,响应速度提升约`2.5秒`,显著改善用户体验。 | 模块名称 | 入门全免费设置 | 流式配置 | |:---:|:---:|:---:| | ASR(语音识别) | FunASR(本地) | 👍XunfeiStreamASR(讯飞流式) | | LLM(大模型) | glm-4-flash(智谱) | 👍qwen-flash(阿里百炼) | | VLLM(视觉大模型) | glm-4v-flash(智谱) | 👍qwen3.5-flash(阿里百炼) | | TTS(语音合成) | EdgeTTS(微软) | 👍HuoshanDoubleStreamTTS(火山流式) | | Intent(意图识别) | function_call(函数调用) | function_call(函数调用) | | Memory(记忆功能) | mem_local_short(本地短期记忆) | mem_local_short(本地短期记忆) | 如果您关心各组件的耗时,请查阅小智各组件性能测试报告,可按报告中的测试方法在您的环境中实际测试。 #### 🔧 测试工具 本项目提供以下测试工具,帮助您验证系统和选择合适的模型: | 工具名称 | 位置 | 使用方法 | 功能说明 | |:---:|:---|:---:|:---:| | 音频交互测试工具 | main》digital-human》index.html | 在 `main/digital-human` 执行 `python start.py` 后访问 `http://127.0.0.1:8006/index.html` | 测试音频播放和接收功能,验证Python端音频处理是否正常 | | 模型响应测试工具 | main》xiaozhi-server》performance_tester.py | 执行 `python performance_tester.py` | 测试ASR(语音识别)、LLM(大模型)、VLLM(视觉模型)、TTS(语音合成)三个核心模块的响应速度 | > 💡 提示:测试模型速度时,只会测试配置了密钥的模型。 --- ## 功能清单 ✨ ### 已实现 ✅ | 功能模块 | 描述 | |:---:|:---| | 核心架构 | 基于MQTT+UDP网关、WebSocket、HTTP服务器,提供完整的控制台管理和认证系统 | | 语音交互 | 支持流式ASR(语音识别)、流式TTS(语音合成)、VAD(语音活动检测),支持多语言识别和语音处理 | | 声纹识别 | 支持多用户声纹注册、管理和识别,与ASR并行处理,实时识别说话人身份并传递给LLM进行个性化回应 | | 智能对话 | 支持多种LLM(大语言模型),实现智能对话 | | 视觉感知 | 支持多种VLLM(视觉大模型),实现多模态交互 | | 意图识别 | 支持外挂的大模型意图识别、大模型自主函数调用,提供插件化意图处理机制 | | 记忆系统 | 支持本地短期记忆、mem0ai接口记忆、PowerMem智能记忆,具备记忆总结功能 | | 知识库 | 支持RAGFlow知识库,让大模型判断需要调度知识库后再回答 | | 工具调用 | 支持客户端IOT协议、客户MCP协议、服务端MCP协议、MCP接入点协议、自定义工具函数 | | 指令下发 | 依托MQTT协议,支持从智控台将MCP指令下发到ESP32设备 | | 管理后台 | 提供Web管理界面,支持用户管理、系统配置和设备管理;界面支持中文简体、中文繁体、英文显示 | | 测试工具 | 提供性能测试工具、视觉模型测试工具和音频交互测试工具 | | 部署支持 | 支持Docker部署和本地部署,提供完整的配置文件管理 | | 插件系统 | 支持功能插件扩展、自定义插件开发和插件热加载 | ### 正在开发 🚧 想了解具体开发计划进度,请点击这里。常见问题及相关教程,可参考这个链接 如果你是一名软件开发者,这里有一份《致开发者的公开信》,欢迎加入! --