项目概述:开源 AI 语音交互解决方案
Xiaozhi-ESP32 是一个基于 ESP-IDF 开发框架的开源硬件项目,旨在利用低成本硬件打造个人专属的 AI 聊天机器人。它通过 WebSocket 或 UDP 协议与 LLM、TTS API 服务连接,实现实时语音交互功能,无需在设备上运行 LLM。
该项目采用 MIT 开源协议,允许用户自由使用、修改和分发代码,只需包含原作者的版权声明和许可声明即可。这一特性使其特别适合学生、创客和开发者进行 AI+IoT 项目实践。
核心设计理念是通过模块化、可扩展的架构,在资源受限的嵌入式设备上实现流畅的语音交互。该方案平衡了性能与成本,让更多人能够接触并学习 AI 技术。
核心功能:全面而实用的特性
Xiaozhi-ESP32 集成了多种先进功能,使其在开源智能硬件中表现突出:
- 语音唤醒与交互:支持离线语音唤醒,同时也可通过 BOOT 键实现点击和长按两种触发方式,提供灵活的交互选择
- 多语言识别:支持国语、粤语、英语、日语、韩语五种语言的语音识别,借助 SenseVoice 模型实现高效准确的识别
- AI 对话与合成:集成多种大语言模型(如 Qwen、DeepSeek、Doubao),支持大模型 TTS(包括火山引擎或 CosyVoice),实现自然流畅的语音对话
- 显示功能:支持 OLED/LCD 显示屏,可实时显示信号强度、对话内容,还支持 LCD 显示图片表情
- 物联网控制:内置 ThingManager 类管理物联网设备,可通过语音命令控制智能家居设备
- 声纹识别:能够识别是谁在喊 AI 的名字,基于 3D Speaker 模型,提供个性化体验
- 记忆功能:具备短期记忆能力,每轮对话后会进行自我总结,增强交互连续性
- 网络连接:除了常规的 Wi-Fi 连接,还支持 ML307 Cat.1 4G 网络,增加使用场景灵活性
系统架构:模块化设计
Xiaozhi-ESP32 采用模块化架构,中央应用控制器负责协调各个子系统。该架构使系统能够与不同的硬件配置协同工作,同时保持一致的功能。
核心组件
系统由几个关键组件协同工作:
- 应用程序控制器:管理设备状态并协调所有其他组件,是系统核心
- 电路板抽象层:提供独立于硬件的物理组件访问,使核心应用程序无需了解组件具体实现细节即可与它们交互
- 通信协议:通过 WebSocket 或 MQTT 处理客户端 - 服务器通信
- 显示系统:管理所连接显示器上的视觉反馈
- 音频处理:处理音频输入/输出和处理
状态管理
系统通过明确定义的状态机进行操作,控制设备响应用户交互和系统事件的行为。状态包括启动、激活、升级、空闲、连接、监听、说话和 Wi-Fi 配置等不同模式。
硬件与部署:灵活的选择方案
硬件需求
Xiaozhi-ESP32 兼容多款 ESP32 开发板,以下是核心硬件要求:
- 主控板:ESP32-S3 或 ESP32-C3 开发板(如 ESP32-WROOM 或 ESP32-S3)
- 音频模块:麦克风模块用于语音输入,扬声器模块用于语音输出
- 显示模块:可选配 OLED 或 LCD 显示屏
- 网络模块:支持 Wi-Fi 或 ML307 Cat.1 4G 通信
部署方式
项目提供两种运行方式:
- 在线版本:接入 xiaozhi.me 服务器,个人用户可免费试用,适合普通用户
- 离线版本:在本地个人电脑上搭建服务器,需要一定的技术背景,更适合开发者


