Xiaozhi ESP32 Server Java
A Java enterprise backend and management platform for Xiaozhi ESP32 smart-hardware devices, handling device monitoring, voice pipelines and conversation records.
Xiaozhi ESP32 Server Java is a Java server built on the Xiaozhi ESP32 project, providing a full front-end and back-end management platform for ESP32-based smart hardware. It runs as two independently scalable processes sharing MySQL and Redis: a management server exposing a REST API for user, device and role management and OTA upgrades, and a dialogue service that handles real-time WebSocket and MQTT audio streams and the AI conversation pipeline.
It integrates multiple AI platforms and local engines for speech recognition and synthesis and large language models, including OpenAI, Ollama, Dify, Coze and several Chinese cloud providers, and extends them through the MCP tool protocol and function calling. Additional features include voiceprint recognition that keeps separate memories per family member on a shared device, coordinated wake and response across multiple nearby devices, voice-controlled IoT device groups, a retrieval-augmented knowledge base over parsed documents and images, and long-term memory with a memory graph across sessions.
It deploys through prebuilt scripts or Docker Compose, with Flyway handling schema migrations and models downloading automatically; the front end is built with Vue.js and Ant Design, and the project is released under the MIT license.