A 43k-star agent runtime that refuses to be a black box
nanobot keeps its core loop small and readable, then piles on the practical stuff: WebUI, chat channels, memory, MCP, and enough providers to make your head spin.

What it does nanobot is a Python agent runtime pitched as the lightweight, ownable alternative to Claude Code and OpenAI Codex. It gives you a small core plus the glue for real deployment: a bundled WebUI, chat channels (Telegram, Discord, Slack, WeChat, Feishu, WhatsApp, Matrix, Signal), tool use, memory, MCP server support, model routing with fallbacks, and sandboxed execution. The README emphasizes “readable” over “magic” — the agent loop is meant to be hackable.
The interesting bit
The project moves fast and documents every hiccup. The news section is essentially a public changelog of daily fixes — context compaction, streaming reasoning, safer shell allowlists — which reads less like marketing and more like a live engineering notebook. That transparency is the feature. They also replaced litellm with native SDKs to keep dependencies tight, a rare move in the “support every provider” space.
Key highlights
- Ships with a WebUI inside the pip wheel; no separate frontend build needed
/goalcommand for sustained multi-turn objectives with visible progress- ~20 LLM providers including niche ones (Xiaomi MiMo, StepFun, Skywork, VolcEngine, Olostep)
- MCP (Model Context Protocol) servers and resources exposed as tools
- Cross-channel sessions: start in Telegram, continue in WebUI, same memory
- Python ≥3.11, MIT license, active commit velocity
Caveats
- The README is long on release notes and short on architecture docs; you learn what it does by reading what broke yesterday
- “Ultra-lightweight” is aspirational — the feature surface is enormous for a small core
- Some channel integrations (WeChat, Feishu) are China-centric; Western users may not need half the transport layer
Verdict Grab this if you want to fork and modify your agent stack, or if you need a single runtime that talks to every chat app your team uses. Skip it if you just want a polished CLI that works out of the box — the setup wizard exists, but the real documentation is the source code.