Skip to content

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.

nanobot

Open source · MIT

Self-hosted personal AI agent in Python that works through a browser, terminal, or chat apps.

XiaoZhi

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

nanobotXiaoZhi
TypeAppApp
PriceFree and open sourceFree and open source
LicenceMITMIT
GitHub stars49.8k32.5k
Setup difficultyIntermediateIntermediate
How you get itInstall with a package managerClone and build from source
Main languagePythonC++
Last code update4 days ago5 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-ai

Install stable release with pip (inside an activated virtual environment)

python -m pip install nanobot-ai
Step-by-step guide: how to use nanobot

XiaoZhi

Clone the repository

git clone https://github.com/78/xiaozhi-esp32

Update ESP-IDF submodules after switching SDK revision

git submodule update --init --recursive
Step-by-step guide: how to use XiaoZhi

Frequently 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.