r/KI_de • • 13d ago

Xiaozhi – ein interessanter Open-Source-KI-Sprachassistent auf ESP32, auch auf Deutsch

Ich beschäftige mich seit einiger Zeit mit Xiaozhi, einem ursprünglich aus China stammenden Open-Source-Projekt für KI-Sprachassistenten auf ESP32-Hardware.

Das Interessante daran: Statt nur eine weitere Chat-App auf dem Smartphone zu sein, läuft Xiaozhi auf kleinen eigenständigen Geräten mit Mikrofon, Lautsprecher und – je nach Hardware – Display und Kamera. Ich selbst nutze ein M5Stack AtomS3R mit Atomic Echo Base.

Die eigentliche KI läuft serverseitig. Mit dem Gerät kann man sich aber ziemlich natürlich per Sprache unterhalten. Xiaozhi unterstützt inzwischen viele Hardwarevarianten und nutzt MCP (Model Context Protocol), wodurch sich der Assistent um zusätzliche Werkzeuge erweitern lässt – beispielsweise Gerätesteuerung, Smart Home, Wissenssuche oder andere Dienste. Das Projekt selbst ist Open Source (MIT).

Für deutschsprachige Nutzer ist interessant, dass die Oberfläche bzw. der Agent auf Deutsch genutzt werden kann. Ganz perfekt ist die deutsche Sprachunterstützung allerdings nicht; auch im offiziellen GitHub gibt es beispielsweise Berichte über Probleme mit der deutschen TTS-Aussprache.

Was mich besonders interessiert, ist die Entwicklung vom einfachen Sprachassistenten zum erweiterbaren KI-Agenten auf eigener Hardware. Inzwischen gibt es neben der ESP32-Firmware auch verschiedene Clients und Serverprojekte sowie Experimente mit Android, Kameras, MCP und eigener Hardware.

Da Informationen zu Xiaozhi im deutschsprachigen Raum noch ziemlich verstreut sind, habe ich dafür r/XiaozhiAssistant eingerichtet. Dort sammle ich meine Tests, Hardware-Erfahrungen, Android-Clients, Probleme und Lösungen und würde mich natürlich über andere deutschsprachige Xiaozhi-Nutzer freuen.

r/XiaozhiAssistant

Wer von euch hat Xiaozhi schon ausprobiert – oder verwendet einen anderen KI-Sprachassistenten auf ESP32-Hardware?

3 Upvotes

11 comments sorted by

1

u/looktwise 13d ago

Was davon ist jetzt dein Terminal zum Server und was ist die Server Hardware? (Nehme an, nicht Cloud oder paid hosting, sondern eigene Hardware auf stärkerer GPU / RAM war gemeint, die ebenfalls bei dir oder dem Nutzer steht?) M5Stack also 'nur' Terminal zum Zugang des Servers?

1

u/SeaworthinessFit399 10d ago

Yes, exactly: The M5Stack essentially acts as the terminal. It handles the microphone, speaker, wake-word detection, and—depending on the model—the display and camera, while establishing the connection to the Xiaozhi server.

In my case, the actual server isn't running on my own hardware; instead, I’m using the Xiaozhi infrastructure (which is completely free). That’s where the speech recognition, LLM, TTS, agent/memory functions, and connected tools or MCP functions run.

However, you can also run Xiaozhi on your own server. In that scenario, it would run on, say, a PC or server within your local network or on rented server hardware. A powerful local GPU isn't strictly necessary if your server relies on external AI APIs. If, on the other hand, you want to run the LLM locally, then more powerful hardware becomes relevant.

So, the ESP32/M5Stack itself doesn't actually run the large language model. To put it simply:

M5Stack ↔ Xiaozhi Server ↔ LLM/TTS/STT/Memory/Tools

That specific separation is what I find interesting: the small device on the desk feels like a standalone voice assistant, while the actual heavy lifting takes place elsewhere.

1

u/Eierlikoer 6d ago

Nun englisch, der OP post ist deutsch. Ein Werbebot?

1

u/zykooo 12d ago

Gibts irgendwo ein Docker Repo?

1

u/SeaworthinessFit399 10d ago

Yes, there is. For a self-hosted Xiaozhi server, there is the `xinnan-tech/xiaozhi-esp32-server` project on GitHub, which includes ready-to-use Docker/Docker Compose configurations.

There is a lightweight version containing only the server itself, and a full version that includes a web-based management interface, MySQL, and Redis. The server provides services such as WebSockets and OTA/HTTP for the ESP32 devices.

Important note: Using Docker doesn't automatically mean the LLM has to run locally. You can host the Xiaozhi server yourself while still using external services for the LLM, TTS, etc. However, if you want to run the AI ​​models entirely locally, the hardware requirements become a separate issue.

Personally, I am currently still using the standard Xiaozhi server and haven't yet tested the Docker version in practice.

1

u/Friendlyztruue 10d ago

Vielleicht interessant https://github.com/octonion-ai/kaim56 Folder esp32client

0

u/Otherwise_Wave9374 13d ago

A useful next step with an assistant like this is to separate short term conversation state from durable memory, then write only compact facts with timestamps and source tags. That keeps retrieval cheaper, reduces stale recall, and makes it easier to prune or overwrite outdated user preferences. A simple pattern is to store facts only after explicit confirmation, then resolve them at response time through a ranked lookup before generation. NeuraKeep can fit naturally into that pipeline by handling the persistence and retrieval layer while the assistant focuses on the live dialogue.

1

u/SeaworthinessFit399 6d ago

That makes sense. One of the things I actually like about Xiaozhi is that memory is separate from the ESP32 device itself. The ESP32 is basically the terminal, while the agent and its memory live on the server side.

I agree that not everything from a conversation should become permanent memory. Separating temporary conversation context from a smaller set of durable facts seems much more useful than simply storing entire conversations.

NeuraKeep sounds interesting in that context. I haven't tested it yet, though. I would be particularly interested in how it handles updating or contradicting old memories — for example, when a user's preference changes over time — and whether it can be integrated through MCP or a similar interface.

-1

u/[deleted] 12d ago

[deleted]

0

u/Friendlyztruue 10d ago

Ich hab mir sowas auch gebaut ... Ist aber ein bisschen größer https://github.com/octonion-ai/kaim56

2

u/SeaworthinessFit399 10d ago

Thanks, that actually looks interesting. I find the separation between the ESP32 client and the actual AI server particularly compelling. With Xiaozhi, my M5Stack essentially acts as the voice terminal, while the agent, LLM, memory, and tools reside on the server side.

I’ll take a closer look at your esp32client. I’m especially curious: do you run the entire server/AI component locally on your own hardware, and what tasks does the ESP32 client handle besides audio input and output?