You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

17 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

Banners

小智后端服务xiaozhi-esp32-server

本项目为开源智能硬件项目 xiaozhi-esp32提供后端服务
根据小智通信协议使用Python、Java、Vue实现
支持MCP接入点和声纹识别

English · 常见问题 · 反馈问题 · 部署文档 · 更新日志

GitHub Contributors GitHub Contributors Issues GitHub pull requests GitHub pull requests stars


适用人群 👥

本项目需要配合 ESP32 硬件设备使用。如果您已经购买了 ESP32 相关硬件,且成功对接过虾哥部署的后端服务,并希望独立搭建自己的 xiaozhi-esp32 后端服务,那么本项目非常适合您。

想看使用效果?请猛戳视频 🎥

小智esp32连接自己的后台模型 自定义音色 使用粤语交流 控制家电开关 成本最低配置
自定义音色 播放音乐 天气插件 IOT指令控制设备 播报新闻
实时打断 拍照识物品 多指令任务 MCP接入点 声纹识别

警告 ⚠️

1、本项目为开源软件本软件与对接的任何第三方API服务商包括但不限于语音识别、大模型、语音合成等平台均不存在商业合作关系不为其服务质量及资金安全提供任何形式的担保。 建议使用者优先选择持有相关业务牌照的服务商,并仔细阅读其服务协议及隐私政策。本软件不托管任何账户密钥、不参与资金流转、不承担充值资金损失风险。

2、本项目功能未完善且未通过网络安全测评请勿在生产环境中使用。 如果您在公网环境中部署学习本项目,请务必做好必要的防护。


部署文档

Banners

本项目提供两种部署方式,请根据您的具体需求选择:

🚀 部署方式选择

部署方式 特点 适用场景 部署文档 配置要求 视频教程
最简化安装 智能对话、IOT、MCP、视觉感知 低配置环境,数据存储在配置文件,无需数据库 ①Docker版 / ②源码部署 如果使用FunASR要2核4G如果全API要2核2G -
全模块安装 智能对话、IOT、MCP接入点、视觉感知、OTA、智控台 完整功能体验,数据存储在数据库 ①Docker版 / ②源码部署 / ③源码部署自动更新教程 如果使用FunASR要4核8G如果全API要2核4G 本地源码启动视频教程

💡 提示以下是按最新代码部署后的测试平台有需要可烧录测试并发为6个每天会清空数据

智控台地址: https://2662r3426b.vicp.fun

服务测试工具: https://2662r3426b.vicp.fun/test/
OTA接口地址: https://2662r3426b.vicp.fun/xiaozhi/ota/
Websocket接口地址: wss://2662r3426b.vicp.fun/xiaozhi/v1/

🚩 配置说明和推荐

[!Note] 本项目提供两种配置方案:

  1. 入门全免费配置:适合个人家庭使用,所有组件均采用免费方案,无需额外付费。

  2. 流式配置适合演示、培训、超过2个并发等场景采用流式处理技术响应速度更快体验更佳。

0.5.2版本起,项目支持流式配置,相比早期版本,响应速度提升约2.5秒,显著改善用户体验。

模块名称 入门全免费设置 流式配置
ASR(语音识别) FunASR(本地) 👍FunASRServer 或 👍DoubaoStreamASR
LLM(大模型) ChatGLMLLM(智谱glm-4-flash) 👍DoubaoLLM(火山doubao-1-5-pro-32k-250115)
VLLM(视觉大模型) ChatGLMVLLM(智谱glm-4v-flash) 👍QwenVLVLLM(千问qwen2.5-vl-3b-instructh)
TTS(语音合成) LinkeraiTTS(灵犀流式) 👍HuoshanDoubleStreamTTS(火山双流式语音合成)
Intent(意图识别) function_call(函数调用) function_call(函数调用)
Memory(记忆功能) mem_local_short(本地短期记忆) mem_local_short本地短期记忆

🔧 测试工具

本项目提供以下测试工具,帮助您验证系统和选择合适的模型:

工具名称 位置 使用方法 功能说明
音频交互测试工具 main》xiaozhi-server》test》test_page.html 使用谷歌浏览器直接打开 测试音频播放和接收功能验证Python端音频处理是否正常
模型响应测试工具1 main》xiaozhi-server》performance_tester.py 执行 python performance_tester.py 测试ASR(语音识别)、LLM(大模型)、TTS(语音合成)三个核心模块的响应速度
模型响应测试工具2 main》xiaozhi-server》performance_tester_vllm.py 执行 python performance_tester_vllm.py 测试VLLM(视觉模型)的响应速度

💡 提示:测试模型速度时,只会测试配置了密钥的模型。


功能清单

已实现

功能模块 描述
核心架构 基于WebSocket和HTTP服务器提供完整的控制台管理和认证系统
语音交互 支持流式ASR(语音识别)、流式TTS(语音合成)、VAD(语音活动检测),支持多语言识别和语音处理
声纹识别 支持多用户声纹注册、管理和识别与ASR并行处理实时识别说话人身份并传递给LLM进行个性化回应
智能对话 支持多种LLM(大语言模型),实现智能对话
视觉感知 支持多种VLLM(视觉大模型),实现多模态交互
意图识别 支持LLM意图识别、Function Call函数调用提供插件化意图处理机制
记忆系统 支持本地短期记忆、mem0ai接口记忆具备记忆总结功能
工具调用 支持客户端IOT协议、客户MCP协议、服务端MCP协议、MCP接入点协议、自定义工具函数
管理后台 提供Web管理界面支持用户管理、系统配置和设备管理
测试工具 提供性能测试工具、视觉模型测试工具和音频交互测试工具
部署支持 支持Docker部署和本地部署提供完整的配置文件管理
插件系统 支持功能插件扩展、自定义插件开发和插件热加载

正在开发 🚧

想了解具体开发计划进度,请点击这里

如果你是一名软件开发者,这里有一份《致开发者的公开信》,欢迎加入!


产品生态 👬

小智是一个生态,当你使用这个产品时,也可以看看其他在这个生态圈的优秀项目

项目名称 项目地址 项目描述
小智安卓客户端 xiaozhi-android-client 一个基于xiaozhi-server的Android、IOS语音对话应用,支持实时语音交互和文字对话。
现在是flutter版本打通IOS、Android端。
小智电脑客户端 py-xiaozhi 该项目提供了一个基于 Python 实现的小白 AI 客户端,使得在不具备实体硬件条件的情况下,
依然能够体过代码体验小智 AI 的功能。
小智Java服务端 xiaozhi-esp32-server-java 小智开源后端服务 Java 版本是一个基于 Java 的开源项目。
它包括前后端的服务,旨在为用户提供一个完整的后端服务解决方案。

本项目支持的平台/组件列表 📋

LLM 语言模型

使用方式 支持平台 免费平台
openai 接口调用 阿里百炼、火山引擎豆包、深度求索、智谱ChatGLM、Gemini 智谱ChatGLM、Gemini
ollama 接口调用 Ollama -
dify 接口调用 Dify -
fastgpt 接口调用 Fastgpt -
coze 接口调用 Coze -

实际上,任何支持 openai 接口调用的 LLM 均可接入使用。


VLLM 视觉模型

使用方式 支持平台 免费平台
openai 接口调用 阿里百炼、智谱ChatGLMVLLM 智谱ChatGLMVLLM

实际上,任何支持 openai 接口调用的 VLLM 均可接入使用。


TTS 语音合成

使用方式 支持平台 免费平台
接口调用 EdgeTTS、火山引擎豆包TTS、腾讯云、阿里云TTS、CosyVoiceSiliconflow、TTS302AI、CozeCnTTS、GizwitsTTS、ACGNTTS、OpenAITTS、灵犀流式TTS 灵犀流式TTS、EdgeTTS、CosyVoiceSiliconflow(部分)
本地服务 FishSpeech、GPT_SOVITS_V2、GPT_SOVITS_V3、MinimaxTTS FishSpeech、GPT_SOVITS_V2、GPT_SOVITS_V3、MinimaxTTS

VAD 语音活动检测

类型 平台名称 使用方式 收费模式 备注
VAD SileroVAD 本地使用 免费

ASR 语音识别

使用方式 支持平台 免费平台
本地使用 FunASR、SherpaASR FunASR、SherpaASR
接口调用 DoubaoASR、FunASRServer、TencentASR、AliyunASR FunASRServer

Voiceprint 声纹识别

使用方式 支持平台 免费平台
本地使用 3D-Speaker 3D-Speaker

Memory 记忆存储

类型 平台名称 使用方式 收费模式 备注
Memory mem0ai 接口调用 1000次/月额度
Memory mem_local_short 本地总结 免费

Intent 意图识别

类型 平台名称 使用方式 收费模式 备注
Intent intent_llm 接口调用 根据LLM收费 通过大模型识别意图,通用性强
Intent function_call 接口调用 根据LLM收费 通过大模型函数调用完成意图,速度快,效果好

鸣谢 🙏

Logo 项目/公司 说明
百聆语音对话机器人 本项目受百聆语音对话机器人启发,并在其基础上实现
十方融海 感谢十方融海为小智生态制定了标准的通讯协议、多设备兼容性方案及高并发场景实践示范;为本项目提供了全链路技术文档支持
玄凤科技 感谢玄凤科技贡献函数调用框架、MCP通信协议及插件化调用机制的实现代码通过标准化的指令调度体系与动态扩展能力显著提升了前端设备(IoT)的交互效率和功能延展性
汇远设计 感谢汇远设计为本项目提供专业视觉解决方案,用其服务超千家企业的设计实战经验,赋能本项目产品用户体验
西安勤人信息科技 感谢西安勤人信息科技深化本项目视觉体系,确保整体设计风格在多场景应用中的一致性和扩展性
Star History Chart