nanobot vs XiaoZhi
Which should you use? A side-by-side look at what each one does, who it suits, what it costs, how hard it is to set up, and where each falls short.
Open source · MIT
Self-hosted personal AI agent in Python that works through a browser, terminal, or chat apps.
Open source · MIT
Open-source firmware that turns ESP32 boards into a voice chatbot controllable through MCP.
The short answer
Choose nanobot if you need…
- People who want a self-hosted personal assistant they can inspect and customize
- Developers who want a small Python agent framework with memory, tools, and MCP support
- Users who want an assistant reachable from chat apps like Telegram, Discord, or Slack
- People who want to summarize PDF, Word, Excel, or PowerPoint files with an AI assistant
Choose XiaoZhi if you need…
- Hobbyists who want a voice assistant on a supported ESP32 development board
- Developers building a custom voice device or adding MCP-controlled hardware
- Makers who want to experiment with the xiaozhi.me cloud service and its free Qwen real-time model
- Students learning embedded C++ on real hardware with audio and display peripherals
Side-by-side
| nanobot | XiaoZhi | |
|---|---|---|
| Type | App | App |
| Price | Free and open source | Free and open source |
| Licence | MIT | MIT |
| GitHub stars | 49.8k | 32.5k |
| Setup difficulty | Intermediate | Intermediate |
| How you get it | Install with a package manager | Clone and build from source |
| Main language | Python | C++ |
| Last code update | 4 days ago | 5 days ago |
What each one is
nanobot
nanobot is an open-source personal AI assistant you run yourself. You can use it in a browser, a terminal, or chat apps like Telegram or Discord to work with files, remember preferences, and schedule tasks. It does not include a model; you connect it to a supported model provider or a local model server.
XiaoZhi
XiaoZhi is open-source firmware for small ESP32-family microcontroller boards that makes them into a voice assistant. It combines speech recognition, a large language model and speech output, and uses the MCP protocol so the assistant can also control devices and connect to outside tools. The README says it is mainly a voice interaction entry point that works with large models such as Qwen and DeepSeek.
Best for
nanobot
- People who want a self-hosted personal assistant they can inspect and customize
- Developers who want a small Python agent framework with memory, tools, and MCP support
- Users who want an assistant reachable from chat apps like Telegram, Discord, or Slack
- People who want to summarize PDF, Word, Excel, or PowerPoint files with an AI assistant
XiaoZhi
- Hobbyists who want a voice assistant on a supported ESP32 development board
- Developers building a custom voice device or adding MCP-controlled hardware
- Makers who want to experiment with the xiaozhi.me cloud service and its free Qwen real-time model
- Students learning embedded C++ on real hardware with audio and display peripherals
Strengths
nanobot
- Self-hosted, and the README says you can inspect and extend the code
- Works across a browser UI, terminal, and many chat channels
- Supports OpenAI-compatible APIs and local models, so you can choose your provider
XiaoZhi
- Large hardware support list, with 138 board directories and 171 release variants per the README
- Supports multiple connection options, including Wi-Fi, Ethernet and 4G, plus WebSocket and MQTT+UDP transports
- Documented developer guides for custom boards, MCP usage and the communication protocols
Not ideal for
nanobot
- People who want a ready-made hosted service with no setup, since you must supply a model account or local model server
- Non-technical users who are uncomfortable with terminals or configuration, unless they follow the separate non-technical guide
- Teams needing a documented enterprise security model, since the README does not describe one in detail
XiaoZhi
- People without an ESP32-compatible board, since the firmware runs only on that hardware
- Users who need a finished consumer product with no setup, because the README points beginners to a flashing guide and the build path requires ESP-IDF
- Teams requiring a specific SDK version below ESP-IDF v6.0.1, since the README says 5.x is no longer supported
Trade-offs
nanobot
- Requires a model provider account or local model hardware, and costs depend on that choice
- The README is truncated and describes current source, which may differ from the stable release
- Setup involves Python and terminal steps for most users
XiaoZhi
- Building from source requires ESP-IDF v6.0.1 or later and the README warns about specific tag and submodule pitfalls
- Default setup relies on the official xiaozhi.me server, and the README does not detail self-hosting beyond linking third-party server projects
- Much of the setup documentation and tutorials are hosted on external sites and in Chinese, so the README alone may not cover every step
Getting started
nanobot
Install stable release with uv
uv tool install nanobot-aiInstall stable release with pip (inside an activated virtual environment)
python -m pip install nanobot-aiXiaoZhi
Clone the repository
git clone https://github.com/78/xiaozhi-esp32Update ESP-IDF submodules after switching SDK revision
git submodule update --init --recursiveFrequently asked questions
What is the difference between nanobot and XiaoZhi?
nanobot: Self-hosted personal AI agent in Python that works through a browser, terminal, or chat apps. XiaoZhi: Open-source firmware that turns ESP32 boards into a voice chatbot controllable through MCP. nanobot suits people who want a self-hosted personal assistant they can inspect and customize, while XiaoZhi suits hobbyists who want a voice assistant on a supported esp32 development board.
Are nanobot and XiaoZhi free?
nanobot: Free and open source. XiaoZhi: Free and open source.
Is nanobot or XiaoZhi more popular?
nanobot has more GitHub stars (49.8k) than XiaoZhi (32.5k). Popularity isn't the same as fit — check which one matches your use case above.
What are other alternatives to nanobot and XiaoZhi?
Other options people compare them with include LangChain, CowAgent, Paperclip, Reasonix, Horizon.
Keep comparing
Built from our catalogue entries for both products: open-source details come from each project's README (AI-assisted, refreshed weekly) and GitHub data; AI-tool details are editorial. Spotted something wrong? Let us know from either product's page.