Skip to content

本项目为xiaozhi-esp32提供后端服务,帮助您快速搭建ESP32设备控制服务器。Backend service for xiaozhi-esp32, helps you quickly build an ESP32 device control server.

License

Notifications You must be signed in to change notification settings

xinnan-tech/xiaozhi-esp32-server

Repository files navigation

Banners

小智后端服务xiaozhi-esp32-server

本项目为开源智能硬件项目 xiaozhi-esp32提供后端服务
根据小智通信协议使用Python实现
帮助您快速搭建小智服务器

English · 简体中文 · 更新日志 · 部署文档 · 反馈问题

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


适用人群 👥

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

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

小智esp32连接自己的后台模型 自定义音色 使用粤语交流 控制家电开关 成本最低配置
自定义音色 播放音乐 天气插件 IOT指令控制设备 播报新闻

警告 ⚠️

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

2、本项目成立时间较短,还未通过网络安全测评,请勿在生产环境中使用。 如果您在公网环境中部署学习本项目,请务必在配置文件 config.yaml 中开启防护:

server:
  auth:
    # 开启防护
    enabled: true  

开启防护后,您需要根据实际情况校验机器的 token 或 mac 地址,详细请参见配置说明。


部署文档

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

🚀 部署方式选择

部署方式 特点 适用场景 Docker部署文档 源码部署文档
最简化安装 智能对话、IOT功能,数据存储在配置文件 低配置环境,无需数据库 Docker只运行Server 本地源码只运行Server
全模块安装 智能对话、IOT、OTA、智控台,数据存储在数据库 完整功能体验 Docker运行全模块 本地源码运行全模块

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

智控台地址: https://2662r3426b.vicp.fun
OTA接口地址: https://2662r3426b.vicp.fun/xiaozhi/ota/
Websocket接口地址: wss://2662r3426b.vicp.fun/xiaozhi/v1/

常见问题 ❓

如遇到问题或产品建议反馈点这里


功能清单 ✨

已实现 ✅

功能模块 描述
通信协议 基于 xiaozhi-esp32 协议,通过 WebSocket 实现数据交互
对话交互 支持唤醒对话、手动对话及实时打断。长时间无对话时自动休眠
意图识别 支持使用LLM意图识别、function call函数调用,减少硬编码意图判断
多语言识别 支持国语、粤语、英语、日语、韩语(默认使用 FunASR)
LLM 模块 支持灵活切换 LLM 模块,默认使用 ChatGLMLLM,也可选用阿里百炼、DeepSeek、Ollama 等接口
TTS 模块 支持 EdgeTTS(默认)、火山引擎豆包 TTS 等多种 TTS 接口,满足语音合成需求
记忆功能 支持超长记忆、本地总结记忆、无记忆三种模式,满足不同场景需求
IOT功能 支持管理注册设备IOT功能,支持基于对话上下文语境下的智能物联网控制
智控台 提供Web管理界面,支持智能体管理、用户管理、系统配置等功能,方便管理员和用户进行管理

正在开发 🚧

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

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


产品生态 👬

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

项目名称 项目地址 项目描述
小智安卓客户端 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 均可接入使用。


TTS 语音合成

使用方式 支持平台 免费平台
接口调用 EdgeTTS、火山引擎豆包TTS、腾讯云、阿里云TTS、CosyVoiceSiliconflow、TTS302AI、CozeCnTTS、GizwitsTTS、ACGNTTS、OpenAITTS 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 -

Memory 记忆存储

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

Intent 意图识别

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

鸣谢 🙏

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

About

本项目为xiaozhi-esp32提供后端服务,帮助您快速搭建ESP32设备控制服务器。Backend service for xiaozhi-esp32, helps you quickly build an ESP32 device control server.

Topics

Resources

License

Stars

Watchers

Forks

Packages