Development
Everything needed to modify, extend or contribute to the XiaoZhi firmware: from ESP-IDF setup and source structure to the WebSocket / MQTT+UDP / MCP protocols and feature modules.
Development environment
Toolchain installation, dependencies and first build
clang-format, the C++23 baseline and error handling rules
Source and architecture
Directory layout, application state machine and rules
Networking, wake words, MCP and resource customization
Protocols
Connection setup, hello handshake and message types
open-xiaozhi-client: connect, frame log, manual JSON and MCP tool calls
Splitting control and audio channels
Device tool calls: protocol spec and usage guide
Feature implementation
Configure Wi-Fi over BLE
The emotion message and emoji switching protocol
Server pushes glyphs missing from the device font
notify messages and Ogg Opus streaming playback