Free (Open Source)
Full MIT-licensed self-hosted agent — no paid tiers, no usage limits, no feature gates. Requires your own API keys for LLM providers.
Ultra-lightweight personal AI agent — WebUI, 10+ chat channels, MCP, model routing, memory, and skills
Nanobot is an ultra-lightweight, open-source (MIT) personal AI agent that ships with WebUI, multi-channel chat (Telegram, Discord, WeChat, Slack, Feishu, email), MCP support, memory, model routing with fallbacks, cron automation, and a plugin skill system — all pip-installable in seconds. Built on a deliberately small and readable Python core, it lets you truly own your AI agent stack.
Full MIT-licensed self-hosted agent — no paid tiers, no usage limits, no feature gates. Requires your own API keys for LLM providers.
Nanobot is an ultra-lightweight, open-source personal AI agent designed to be small, readable, and fully ownable. First committed in February 2026 and released under the MIT license, it has climbed to 44.2k GitHub stars, 7.8k forks, and over 2,900 commits in under five months — making it the fastest-growing personal AI agent framework.
Nanobot's philosophy is deliberately contrarian. Instead of building a heavyweight orchestration layer, it centers everything on a small Python core where messages come in from chat apps, the LLM decides when tools are needed, and memory or skills are pulled in only as context. This keeps the core path readable and easy to extend. Channels, tools, memory, MCP, and deployment options are all optional plugins — not mandatory infrastructure.
You get an agent you can pip install in seconds, configure in minutes, and run across 10+ chat platforms simultaneously — all from a single codebase you can fully inspect and modify. Nanobot doesn't lock you into a proprietary cloud or a single provider. You own the stack, you choose the models (with automatic fallbacks), and you decide where it runs.
"Small core, everything else is optional." — Nanobot's design philosophy.
Nanobot's core agent loop is intentionally minimal. Messages flow in from any channel, the LLM processes them with access to tools and memory, and responses stream back. The core path is ~a few hundred lines of Python — readable enough for a single developer to understand and modify in an afternoon.
The entire package is pip-installable:
pip install nanobot-ai No Docker required. No Node.js. No heavy framework dependencies. The WebUI ships inside the published wheel — no separate build step.
Nanobot's channel-first approach is its key differentiator. Instead of forcing you into a specific interface, the agent operates where you already work:
| Channel | Integration |
|---|---|
| Telegram | Full bot API, inline buttons, draft streaming, media messages |
| Discord | Thread sessions, channel allow-lists, long-message splitting |
| | QR/media resilience, voice, typing indicators |
| Slack | Thread isolation, file sending, reaction on completion |
| Feishu (Lark) | CardKit streaming, rich-text parsing, reply threading |
| | Send/receive via configured accounts, attachments |
| Matrix | End-to-end encrypted communication |
| DingTalk | Rich media, message replies |
| Signal | Secure messaging with media support |
| | Group chats, media messages |
| | Media messages, deduplication |
| WeCom (WeChat Work) | Business communication |
Each channel maintains unified cross-channel sessions — conversations persist and context carries over no matter which platform you're using.
Nanobot supports 20+ LLM providers and lets you configure model presets with cascading fallbacks:
{
"modelPresets": {
"primary": {
"label": "Primary",
"provider": "openrouter",
"model": "anthropic/claude-opus-4.5",
"maxTokens": 8192,
"contextWindowTokens": 65536,
"temperature": 0.1,
"fallbackModels": [
{"provider": "openai", "model": "gpt-5.4"},
{"provider": "anthropic", "model": "claude-sonnet-4.5"}
]
}
}
} Supported providers include OpenAI, Anthropic, Google Gemini, DeepSeek, Mistral, Groq, xAI, Kimi, MiniMax, Moonshot, Hugging Face, Ollama, vLLM, Azure OpenAI, AWS Bedrock, OpenRouter, VolcEngine, StepFun, Zhipu, NVIDIA NIM, LM Studio, and more. Switch models mid-session without losing context.
If the primary model is rate-limited, down, or slow, Nanobot automatically falls through to the next available model in the cascade. This makes it resilient for production and always-on use cases.
The Unified CLI Apps and MCP system (introduced in v0.2.1) lets you register standalone command-line applications as agent-accessible tools, bridging the gap between traditional CLI utilities and the MCP ecosystem.
Nanobot is built for long-running, sustained workflows:
The WebUI ships inside the pip wheel and requires zero build steps:
{ "channels": { "websocket": { "enabled": true } } } nanobot gateway Open http://127.0.0.1:8765 for a full chat interface with Thought/response timelines, file-edit activity, project workspaces, and model/context controls. The WebUI is i18n-ready with locale switching and supports LAN access.
Nanobot's skill plugin system lets you add capabilities as on-demand packages:
Nanobot's architecture follows a deliberate "small core, everything else is optional" design philosophy. The runtime is organized around a minimal agent loop:
Chat Channel (Telegram, Discord, WebUI, etc.)
│
▼
┌──────────┐
│ Gateway │ Unified entry point, routes messages to the agent loop
└────┬─────┘
│
▼
┌──────────┐ ┌──────────┐
│ Agent │────▶│ LLM │ Model routing + fallbacks
│ Loop │◀────│ Provider │
└────┬─────┘ └──────────┘
│
├──────────────────┬──────────────────┐
▼ ▼ ▼
┌────────┐ ┌────────────┐ ┌────────────┐
│ Tools │ │ Memory │ │ Skills │
│ (MCP, │ │ (Token/ │ │ (Plugins, │
│ CLI) │ │ Dream) │ │ ClawHub) │
└────────┘ └────────────┘ └────────────┘
│
▼
┌──────────┐
│ Channel │ Response streamed back to the originating channel
│ Output │
└──────────┘ Key architectural principles:
Minimal core — the agent loop is deliberately small and readable. Messages arrive, the LLM processes them with tools, and responses are streamed out.
Everything is optional — channels, memory, MCP, skills, the WebUI. Each is a plug-in module that the core discovers and loads. You add only what you need.
No heavy orchestration — unlike multi-agent frameworks with complex coordinator hierarchies, Nanobot keeps one agent loop with tool access. Latency stays low and code stays readable.
Stateless gateway — the gateway streams requests to LLM providers over standard protocols. Your data stays local; only relevant context is sent to APIs.
Unified channel sessions — cross-channel context means you can start a conversation in Telegram, continue it in the WebUI, and check results via email.
The project structure reflects this philosophy: the nanobot/ core package is small, while bridge/ contains channel adapters, webui/ contains the frontend, and docs/ contains documentation. Each major subsystem is independently testable and replaceable.
Deploy Nanobot on a VPS or Raspberry Pi and connect it to Telegram, Discord, and Slack. Use it as your always-on personal assistant — researching topics, managing schedules, monitoring GitHub issues, and answering questions across all your chat platforms simultaneously.
Software teams run Nanobot connected to Slack and email, configured with GitHub and MCP tools. Developers ask questions about codebases, trigger CI/CD pipelines, and get code reviews — all from within their existing chat channels without switching context.
Configure Nanobot with web search tools, RSS-reading skills, and cron automation for daily digests. The agent fetches, summarizes, and delivers personalized news briefings to your preferred channel every morning — and can dive deeper on request.
With Dream memory and persistent sessions, Nanobot functions as an extensible knowledge base. Feed it documents, have conversations about them, and revisit insights weeks later. The memory system preserves context without manual tagging or folder management.
Run Nanobot alongside local LLMs via Ollama or vLLM . Connect it to home automation MCP servers, schedule reminders, control smart devices through natural language, and manage your daily routine — all from a single agent runtime.
Nanobot is 100% free and open source under the MIT license. There are no paid tiers, no feature gates, no usage quotas, no cloud subscription, and no enterprise upsell.
The only cost is the infrastructure you choose:
This is a genuinely open-source project started by Xubin Ren as a personal endeavor and sustained by community contributions. The MIT license means you can use, modify, and distribute Nanobot for any purpose — personal, commercial, or otherwise.
sh -c "$(curl -fsSL https://raw.githubusercontent.com/HKUDS/nanobot/main/scripts/install.sh)" irm https://raw.githubusercontent.com/HKUDS/nanobot/main/scripts/install.ps1 | iex pip install nanobot-ai # Run the interactive setup wizard
nanobot onboard --wizard
# Or initialize manually
nanobot onboard The wizard walks you through selecting a provider, entering your API key, and choosing a model. Configuration is saved to ~/.nanobot/config.json.
# Check status
nanobot status
# Send a single message
nanobot agent -m "Hello! What can you do?"
# Start an interactive CLI session
nanobot agent Add this to ~/.nanobot/config.json:
{ "channels": { "websocket": { "enabled": true } } } Then start the gateway:
nanobot gateway Open http://127.0.0.1:8765 in your browser.
Each channel has specific configuration. For example, to connect Telegram:
{
"channels": {
"telegram": {
"enabled": true,
"botToken": "your-bot-token-from-BotFather"
}
}
} See the Chat Apps documentation for full channel setup guides.
pip install --upgrade nanobot-ai Or use the one-command installer again for automatic upgrades.
The Workbench Release — packaged WebUI becomes a daily agent workbench with clearer Thought/response timelines, live file-edit activity, project workspaces, model and context controls, CLI Apps + MCP extensions, and broader provider/channel support
The /goal Release — sustained objectives across turns, WebUI ships inside the wheel, image generation end to end, 5 new providers with fallback_models, agent-loop refactor
Smarter threads on Feishu, Discord, Slack, and Teams; DeepSeek-V4 support; Hugging Face and Olostep providers; /history command
Sturdier long-running tasks, Dream two-stage memory, production-ready sandboxing and programming Agent SDK
Architecture decoupling, litellm removal, end-to-end streaming, WeChat channel, security fix
MCP support, progress streaming, new providers, multiple channel improvements
pip install nanobot-ai\nnanobot onboard --wizard\n# Configure API key for your preferred provider\nnanobot agent -m \"Summarize the latest AI research papers about agent frameworks\"\n\n# Or start an interactive session\nnanobot agent\n\n# Enable WebUI\nnanobot gateway\n# Open http://127.0.0.1:8765 in your browser\n\n# Connect Telegram or Discord\n# Edit ~/.nanobot/config.json, add channel config, restart\nnanobot gateway Paca is a free, open-source, self-hosted Scrum board where AI agents work as equal teammates — assigned to sprints, picking up tasks, and collaborating on BDD specs alongside humans. Built as an alternative to Jira and Linear, it treats AI agents as first-class Scrum members.
AionUi is a free, open-source Cowork desktop app that runs Claude Code, Codex, Gemini CLI, OpenClaw, Hermes Agent, and 20+ more coding agents side-by-side within a unified Electron interface. It auto-detects installed CLI agents, provides a built-in AI engine with 30+ provider support, and adds Team Mode for multi-agent orchestration — all from one desktop workspace.
Cua is an open-source (MIT) infrastructure platform for building, benchmarking, and deploying computer-use agents. It provides background desktop control via Cua Driver, ephemeral multi-OS sandboxes via Cua Sandbox, standardized benchmarks via Cua Bench, and macOS virtualization via Lume — all accessible through a unified Python/TypeScript SDK, MCP server, and CLI.