Ecosystem Projects: Servers, Clients and Ports
The XiaoZhi device firmware, the communication protocol and the server are separate pieces. As long as a project implements the WebSocket or MQTT + UDP protocol, any of them can be replaced. A set of third-party open-source projects has grown around this protocol.
The list on this page comes from the “related open-source projects” in the upstream firmware README, and the repository status, license and home-page description of each entry were checked (2026-10-23). These projects are maintained by their own authors. They do not belong to this site or to the upstream firmware repository, and listing them is not an endorsement; evaluate features, security and license yourself before use.
1. Servers
Run a backend on your own computer or server and point the device at it. For the setup steps and security warnings, see Self-Hosted Server.
| Project | Stack | License | Summary |
|---|---|---|---|
| xinnan-tech/xiaozhi-esp32-server | Python + Java + Vue | MIT | Supports MQTT + UDP, WebSocket, MCP endpoints, voiceprint recognition and a knowledge base, with a management console |
| joey-zhou/xiaozhi-esp32-server-java | Java (Spring Boot) | MIT | Enterprise-style management platform; admin backend and conversation service run as two processes |
| AnimeAIChat/xiaozhi-server-go | Go | Modified Apache 2.0 with extra conditions | Aimed at personal and home use; the extra conditions include no multi-tenant use without written permission, so read its LICENSE before use |
| hackers365/xiaozhi-esp32-server-golang | Go | MIT | Fully streaming ASR → LLM → TTS, supports WebSocket and MQTT + UDP |
2. Clients and Ports
Non-ESP32 endpoints that speak the XiaoZhi communication protocol.
| Project | Platform | License | Summary |
|---|---|---|---|
| huangjunsen0406/py-xiaozhi | Python, cross-platform | MIT | Async multimodal interaction framework with real-time voice, vision tasks and IoT device control |
| TOM88812/xiaozhi-android-client | Flutter (Android, iOS, HarmonyOS, Web, desktop) | Apache-2.0 | Real-time voice chat app based on XiaoZhi, able to connect to xiaozhi-server |
| 100askTeam/xiaozhi-linux | Embedded Linux | No license declared in the repository | Core XiaoZhi code for Linux without the per-board BSP drivers; see its README for the boards already adapted |
| 78/xiaozhi-sf32 | SiFli SF32 Bluetooth chips | MIT | Networking over the Bluetooth PAN protocol, OPUS codec, device-side MCP |
| QuecPython/solution-xiaozhiAI | Quectel QuecPython modules | No license declared in the repository | Based on the WebSocket protocol; the sample board uses an EC800MCNLE module |
3. Selection Tips
- Confirm the protocol version first: each project implements the communication protocol itself, so fields and behavior may not match your firmware version exactly; compare against the protocol documents.
- Read the license first: most projects use MIT or Apache-2.0, but some add conditions or declare no license; confirm before commercial use.
- Check maintenance: look at recent commits and Issues, not just the star count.
- Mind security: third-party servers and clients handle device identifiers and voice data, see the security warnings in Self-Hosted Server.
4. Corrections and Additions
If the list has a mistake or needs an addition, email [email protected] with the repository address and license details. For problems in the firmware itself, please use the upstream GitHub Issues.
Related Documents
- Self-Hosted Server: connect a device to your own server
- WebSocket Communication Protocol, MQTT + UDP Hybrid Protocol and MCP Protocol
- Custom Board Guide
Sources: “related open-source projects” in README_zh.md of the upstream 78/xiaozhi-esp32 v2.5.2, plus each repository’s README and LICENSE, checked on 2026-10-23.