xiaozhi-esp32-server-java
Xiaozhi ESP32 Server Java is an enterprise-style backend for the Xiaozhi ESP32 smart-hardware project, with a full management console. The README (in Chinese) says it uses a multi-module, two-process design: the admin platform and the conversation service run separately and share MySQL and Redis, so they can be deployed and scaled independently. Devices connect over WebSocket and MQTT, with server-initiated wake-up and OTA remote upgrades.
The AI side is broad. It integrates OpenAI, Zhipu, iFlytek Spark, Ollama, Dify and Coze for language models, with MCP tool protocol and Function Call extensions. Speech covers local and cloud STT (Vosk, FunASR, Alibaba Cloud, Tencent Cloud, iFlytek) and TTS (local sherpa-onnx, Volcano Engine, Alibaba Cloud, Edge TTS), with voice cloning, real-time interruption and two-way streaming. Other features are voice control of smart-home devices through Function Call, a RAG knowledge base with long-term memory, and dashboards for tokens, latency and device activity.
Deployment options are scripts (`bin/all.sh start`), Docker Compose, or source deployment on Linux and Windows, with Flyway creating tables automatically. Local models are not in the repository, so the first run downloads them with `scripts/download_models.sh`, or `download_base.sh` only if you use third-party STT and TTS. The stack is Spring Boot, MyBatis-Plus, Vue and Ant Design on MySQL 8 and Redis 7, and the README reports about 1.8 GB of memory in its test. The licence is MIT and the last push was 2026-09-27. This review is based on the README and repository data; we have not run it ourselves.
Features
Why choose it
Trade-offs
Compatibility
Quick start
Use cases
Alternatives
Featured in these lists
Comments
No comments yet. Be the first!