Analysis updated 2026-05-18
Try the Xiaozhi AI assistant cloud service without owning or flashing ESP32 hardware.
Develop and test applications against the Xiaozhi protocol from a browser.
Use browser camera and microphone to interact with Xiaozhi's voice and vision features.
Deploy a shareable Xiaozhi client to Cloudflare Pages instead of distributing physical devices.
| roalfb/olivia-ai | 3imed-jaberi/cryptography-si-isamm | 3imed-jaberi/koa-isomorphic-router | |
|---|---|---|---|
| Stars | 2 | 2 | 2 |
| Language | JavaScript | JavaScript | JavaScript |
| Last pushed | — | 2021-09-25 | 2021-02-06 |
| Maintenance | — | Dormant | Dormant |
| Setup difficulty | moderate | easy | easy |
| Complexity | 4/5 | 1/5 | 2/5 |
| Audience | developer | researcher | developer |
Figures from each repo's GitHub metadata at analysis time.
Requires deploying a Hono backend on Cloudflare Workers/Pages to proxy authenticated requests to the Xiaozhi cloud.
Olivia is a web application that runs entirely in your browser and pretends to be a physical ESP32 hardware device for Xiaozhi, an open source AI assistant ecosystem normally designed to run on a real microcontroller board with a microphone and speaker. Instead of needing to buy and flash actual hardware, Olivia lets you try out and build against the Xiaozhi cloud using just a browser tab. To pull this off, Olivia has to work around several things a browser normally cannot do that real ESP32 firmware can. Browsers cannot send certain custom authentication headers when opening a WebSocket connection, so Olivia runs a small server component, built with the Hono framework on Cloudflare Workers, that adds those headers on the device's behalf. The same server component also proxies image uploads for the vision feature and handles the device registration process, both of which also require headers a browser cannot set directly. For audio, the Xiaozhi server only accepts properly encoded Opus audio rather than raw microphone data, so Olivia loads a WebAssembly build of the Opus audio codec to encode your microphone input into the exact format the real hardware would send. Because it runs in a browser rather than on a physical chip, Olivia also gains some abilities a real device cannot have, such as switching between a phone's front and back camera, keeping a full text history of conversations, showing a live protocol debug panel, supporting more image formats than a hardware camera would capture, and being reachable from any device with a browser simply by sharing a web link rather than shipping physical hardware. On the AI and conversation side, it connects to the official Xiaozhi cloud service, streams text responses as they are generated, decodes emotion signals sent by the server, and keeps a stored conversation history. On the voice side, it captures microphone audio in real time with noise suppression and echo cancellation, supports both push-to-talk and continuous listening modes, and plays back the AI's spoken responses with minimal delay. The full README is longer than what was shown.
A browser app that emulates a real ESP32 hardware device to connect to the Xiaozhi AI assistant cloud without needing physical hardware.
Mainly JavaScript. The stack also includes JavaScript, TypeScript, Hono.
Use freely for any purpose, including commercial use, as long as you keep the copyright notice.
Setup difficulty is rated moderate, with roughly 1h+ to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.