Open-XiaoAI Bridge
coderzc/open-xiaoai-bridge
Server that connects a flashed XiaoAI smart speaker to AI services, including the Hermes Agent API Server
Open-XiaoAI Bridge is a Python and Rust server that connects a XiaoAI smart speaker to external AI services. It can send speaker conversations to the Hermes Agent API Server or any OpenAI-compatible chat endpoint.
What Open-XiaoAI Bridge does
Open-XiaoAI Bridge opens up the closed ecosystem of the XiaoAI speaker and routes voice conversations to outside AI backends. Supported targets are the Hermes Agent API Server and other /v1/chat/completions services such as OpenAI, Ollama and LM Studio, plus QwenPaw, OpenClaw and xiaozhi-esp32-server. Each feature has its own on and off switch, so only the integrations you need run.
It supports custom wake words in Chinese and English, and different wake words can route to different AI services or to different OpenClaw agent sessions. Continuous conversation lets you keep talking without repeating the wake word, and voice activity detection and keyword spotting run before recognition. An optional HTTP API plays text or audio on the speaker remotely. This repository contains only the server side: the speaker must be flashed with SSH enabled and run a separate Rust client. The README is written in Chinese.
Key features
- Connects to the Hermes Agent API Server and other OpenAI-compatible chat services
- Also bridges QwenPaw, OpenClaw and xiaozhi-esp32-server
- Custom wake words in Chinese and English, routable to different services or OpenClaw agent sessions
- Continuous multi-turn conversation that can be interrupted by the XiaoAI wake phrase
- HTTP API for remote text-to-speech and audio playback on the speaker
- Docker Compose deployment or a local build with uv and Rust
When to use it
- Talking to a Hermes Agent through a smart speaker at home
- Giving several wake words to one speaker so each reaches a different AI backend
- Sending spoken notifications to the speaker from scripts through the HTTP API
Who it is for: Home-lab users with a XiaoAI speaker who want voice access to a Hermes Agent or another AI backend.
How it fits with Hermes Agent
The bridge lists the Hermes Agent API Server as one of several OpenAI-compatible backends it can talk to, next to OpenClaw, QwenPaw and others.
How to install Open-XiaoAI Bridge
These commands are copied from the project's README. Check the repository for the latest steps before you run them.
curl -O https://raw.githubusercontent.com/coderzc/open-xiaoai-bridge/main/config.py
curl -O https://raw.githubusercontent.com/coderzc/open-xiaoai-bridge/main/docker-compose.yml
docker compose up -dRequirements: A XiaoAI speaker with updated firmware, SSH enabled and the Rust client installed; VAD and KWS model files from the releases page (plus an ASR model for local_asr or xiaozhi); Docker Compose, or uv and Rust for a local build.
Note: The repository contains only the server side; the speaker has to be flashed and run a separate Rust client.
FAQ
What is Open-XiaoAI Bridge?
Open-XiaoAI Bridge is a server that connects a XiaoAI smart speaker to external AI services such as the Hermes Agent API Server, OpenClaw, QwenPaw and xiaozhi-esp32-server.
Does Open-XiaoAI Bridge work with Hermes Agent?
Yes. It can connect to the Hermes Agent API Server through its OpenAI-compatible integration. Enable it with the OPENAI_ENABLE environment variable and point it at your Hermes endpoint.
What do I need to run Open-XiaoAI Bridge?
You need a XiaoAI speaker that has been flashed with SSH enabled and is running the Rust client, VAD and KWS model files, and Docker Compose or a local uv and Rust toolchain. An ASR model is also needed for local_asr or xiaozhi.
Similar messaging for Hermes Agent
All messagingBridge that forwards WeChat direct messages to any ACP-compatible agent, with a built-in Hermes preset
AaronWong1999 HermesClawRun Hermes Agent, OpenClaw and OpenCode on one WeChat account by owning the single iLink connection
baileyh8 Hermes Feishu Streaming CardPlugin that turns Hermes Gateway replies in Feishu or Lark into live-updating interactive cards
Cheerwhy Hermes Lark StreamingHermes Gateway plugin that streams replies into Feishu and Lark interactive cards using CardKit v2.0
openmailsh OpenMail for Hermes AgentPlatform plugin that gives a Hermes agent its own email address, with threaded replies and inbox tools
AndorinaAI AndoriñaTurns Hermes Agent into a WhatsApp manager: send messages, voice notes and files, and search contacts
Related guides: How to run Hermes Agent securely · Run multiple Hermes agents with profiles