![cover-v5-optimized](./images/GitHub_README.png)

PyPI Downloads Python License Commits last month Issues closed follow on X(Twitter) Docs Feishu WeChat Discord

🐈 **nanobot** is an open-source and ultra-lightweight AI agent in the spirit of [OpenClaw](https://github.com/openclaw/openclaw), [Claude Code](https://www.anthropic.com/claude-code), and [Codex](https://www.openai.com/codex/). It keeps the core agent loop small and readable while still supporting chat channels, memory, MCP and practical deployment paths, so you can go from local setup to a long-running personal agent with minimal overhead. ## πŸ“’ News - **2026-04-14** πŸš€ Released **v0.1.5.post1** β€” Dream skill discovery, mid-turn follow-up injection, WebSocket channel, and deeper channel integrations. Please see [release notes](https://github.com/HKUDS/nanobot/releases/tag/v0.1.5.post1) for details. - **2026-04-13** πŸ›‘οΈ Agent turn hardened β€” user messages persisted early, auto-compact skips active tasks. - **2026-04-12** πŸ”’ Lark global domain support, Dream learns discovered skills, shell sandbox tightened. - **2026-04-11** ⚑ Context compact shrinks sessions on the fly; Kagi web search; QQ & WeCom full media. - **2026-04-10** πŸ““ Notebook editing tool, multiple MCP servers, Feishu streaming & done-emoji. - **2026-04-09** πŸ”Œ WebSocket channel, unified cross-channel session, `disabled_skills` config. - **2026-04-08** πŸ“€ API file uploads, OpenAI reasoning auto-routing with Responses fallback. - **2026-04-07** 🧠 Anthropic adaptive thinking, MCP resources & prompts exposed as tools. - **2026-04-06** πŸ›°οΈ Langfuse observability, unified Whisper transcription, email attachments. - **2026-04-05** πŸš€ Released **v0.1.5** β€” sturdier long-running tasks, Dream two-stage memory, production-ready sandboxing and programming Agent SDK. Please see [release notes](https://github.com/HKUDS/nanobot/releases/tag/v0.1.5) for details.
Earlier news - **2026-04-04** πŸš€ Jinja2 response templates, Dream memory hardened, smarter retry handling. - **2026-04-03** 🧠 Xiaomi MiMo provider, chain-of-thought reasoning visible, Telegram UX polish. - **2026-04-02** 🧱 Long-running tasks run more reliably β€” core runtime hardening. - **2026-04-01** πŸ”‘ GitHub Copilot auth restored; stricter workspace paths; OpenRouter Claude caching fix. - **2026-03-31** πŸ›°οΈ WeChat multimodal alignment, Discord/Matrix polish, Python SDK facade, MCP and tool fixes. - **2026-03-30** 🧩 OpenAI-compatible API tightened; composable agent lifecycle hooks. - **2026-03-29** πŸ’¬ WeChat voice, typing, QR/media resilience; fixed-session OpenAI-compatible API. - **2026-03-28** πŸ“š Provider docs refresh; skill template wording fix. - **2026-03-27** πŸš€ Released **v0.1.4.post6** β€” architecture decoupling, litellm removal, end-to-end streaming, WeChat channel, and a security fix. Please see [release notes](https://github.com/HKUDS/nanobot/releases/tag/v0.1.4.post6) for details. - **2026-03-26** πŸ—οΈ Agent runner extracted and lifecycle hooks unified; stream delta coalescing at boundaries. - **2026-03-25** 🌏 StepFun provider, configurable timezone, Gemini thought signatures. - **2026-03-24** πŸ”§ WeChat compatibility, Feishu CardKit streaming, test suite restructured. - **2026-03-23** πŸ”§ Command routing refactored for plugins, WhatsApp/WeChat media, unified channel login CLI. - **2026-03-22** ⚑ End-to-end streaming, WeChat channel, Anthropic cache optimization, `/status` command. - **2026-03-21** πŸ”’ Replace `litellm` with native `openai` + `anthropic` SDKs. Please see [commit](https://github.com/HKUDS/nanobot/commit/3dfdab7). - **2026-03-20** πŸ§™ Interactive setup wizard β€” pick your provider, model autocomplete, and you're good to go. - **2026-03-19** πŸ’¬ Telegram gets more resilient under load; Feishu now renders code blocks properly. - **2026-03-18** πŸ“· Telegram can now send media via URL. Cron schedules show human-readable details. - **2026-03-17** ✨ Feishu formatting glow-up, Slack reacts when done, custom endpoints support extra headers, and image handling is more reliable. - **2026-03-16** πŸš€ Released **v0.1.4.post5** β€” a refinement-focused release with stronger reliability and channel support, and a more dependable day-to-day experience. Please see [release notes](https://github.com/HKUDS/nanobot/releases/tag/v0.1.4.post5) for details. - **2026-03-15** 🧩 DingTalk rich media, smarter built-in skills, and cleaner model compatibility. - **2026-03-14** πŸ’¬ Channel plugins, Feishu replies, and steadier MCP, QQ, and media handling. - **2026-03-13** 🌐 Multi-provider web search, LangSmith, and broader reliability improvements. - **2026-03-12** πŸš€ VolcEngine support, Telegram reply context, `/restart`, and sturdier memory. - **2026-03-11** πŸ”Œ WeCom, Ollama, cleaner discovery, and safer tool behavior. - **2026-03-10** 🧠 Token-based memory, shared retries, and cleaner gateway and Telegram behavior. - **2026-03-09** πŸ’¬ Slack thread polish and better Feishu audio compatibility. - **2026-03-08** πŸš€ Released **v0.1.4.post4** β€” a reliability-packed release with safer defaults, better multi-instance support, sturdier MCP, and major channel and provider improvements. Please see [release notes](https://github.com/HKUDS/nanobot/releases/tag/v0.1.4.post4) for details. - **2026-03-07** πŸš€ Azure OpenAI provider, WhatsApp media, QQ group chats, and more Telegram/Feishu polish. - **2026-03-06** πŸͺ„ Lighter providers, smarter media handling, and sturdier memory and CLI compatibility. - **2026-03-05** ⚑️ Telegram draft streaming, MCP SSE support, and broader channel reliability fixes. - **2026-03-04** πŸ› οΈ Dependency cleanup, safer file reads, and another round of test and Cron fixes. - **2026-03-03** 🧠 Cleaner user-message merging, safer multimodal saves, and stronger Cron guards. - **2026-03-02** πŸ›‘οΈ Safer default access control, sturdier Cron reloads, and cleaner Matrix media handling. - **2026-03-01** 🌐 Web proxy support, smarter Cron reminders, and Feishu rich-text parsing improvements. - **2026-02-28** πŸš€ Released **v0.1.4.post3** β€” cleaner context, hardened session history, and smarter agent. Please see [release notes](https://github.com/HKUDS/nanobot/releases/tag/v0.1.4.post3) for details. - **2026-02-27** 🧠 Experimental thinking mode support, DingTalk media messages, Feishu and QQ channel fixes. - **2026-02-26** πŸ›‘οΈ Session poisoning fix, WhatsApp dedup, Windows path guard, Mistral compatibility. - **2026-02-25** 🧹 New Matrix channel, cleaner session context, auto workspace template sync. - **2026-02-24** πŸš€ Released **v0.1.4.post2** β€” a reliability-focused release with a redesigned heartbeat, prompt cache optimization, and hardened provider & channel stability. See [release notes](https://github.com/HKUDS/nanobot/releases/tag/v0.1.4.post2) for details. - **2026-02-23** πŸ”§ Virtual tool-call heartbeat, prompt cache optimization, Slack mrkdwn fixes. - **2026-02-22** πŸ›‘οΈ Slack thread isolation, Discord typing fix, agent reliability improvements. - **2026-02-21** πŸŽ‰ Released **v0.1.4.post1** β€” new providers, media support across channels, and major stability improvements. See [release notes](https://github.com/HKUDS/nanobot/releases/tag/v0.1.4.post1) for details. - **2026-02-20** 🐦 Feishu now receives multimodal files from users. More reliable memory under the hood. - **2026-02-19** ✨ Slack now sends files, Discord splits long messages, and subagents work in CLI mode. - **2026-02-18** ⚑️ nanobot now supports VolcEngine, MCP custom auth headers, and Anthropic prompt caching. - **2026-02-17** πŸŽ‰ Released **v0.1.4** β€” MCP support, progress streaming, new providers, and multiple channel improvements. Please see [release notes](https://github.com/HKUDS/nanobot/releases/tag/v0.1.4) for details. - **2026-02-16** 🦞 nanobot now integrates a [ClawHub](https://clawhub.ai) skill β€” search and install public agent skills. - **2026-02-15** πŸ”‘ nanobot now supports OpenAI Codex provider with OAuth login support. - **2026-02-14** πŸ”Œ nanobot now supports MCP! See [MCP section](#mcp-model-context-protocol) for details. - **2026-02-13** πŸŽ‰ Released **v0.1.3.post7** β€” includes security hardening and multiple improvements. **Please upgrade to the latest version to address security issues**. See [release notes](https://github.com/HKUDS/nanobot/releases/tag/v0.1.3.post7) for more details. - **2026-02-12** 🧠 Redesigned memory system β€” Less code, more reliable. Join the [discussion](https://github.com/HKUDS/nanobot/discussions/566) about it! - **2026-02-11** ✨ Enhanced CLI experience and added MiniMax support! - **2026-02-10** πŸŽ‰ Released **v0.1.3.post6** with improvements! Check the updates [notes](https://github.com/HKUDS/nanobot/releases/tag/v0.1.3.post6) and our [roadmap](https://github.com/HKUDS/nanobot/discussions/431). - **2026-02-09** πŸ’¬ Added Slack, Email, and QQ support β€” nanobot now supports multiple chat platforms! - **2026-02-08** πŸ”§ Refactored Providersβ€”adding a new LLM provider now takes just 2 simple steps! Check [here](#providers). - **2026-02-07** πŸš€ Released **v0.1.3.post5** with Qwen support & several key improvements! Check [here](https://github.com/HKUDS/nanobot/releases/tag/v0.1.3.post5) for details. - **2026-02-06** ✨ Added Moonshot/Kimi provider, Discord integration, and enhanced security hardening! - **2026-02-05** ✨ Added Feishu channel, DeepSeek provider, and enhanced scheduled tasks support! - **2026-02-04** πŸš€ Released **v0.1.3.post4** with multi-provider & Docker support! Check [here](https://github.com/HKUDS/nanobot/releases/tag/v0.1.3.post4) for details. - **2026-02-03** ⚑ Integrated vLLM for local LLM support and improved natural language task scheduling! - **2026-02-02** πŸŽ‰ nanobot officially launched! Welcome to try 🐈 nanobot!
## πŸ’‘ Key Features of nanobot - **Ultra-lightweight**: stable long-running agent behavior with a small, readable core. - **Research-ready**: the codebase is intentionally simple enough to study, modify, and extend. - **Practical**: chat channels, API, memory, MCP, and deployment paths are already built in. - **Hackable**: you can start fast, then go deeper through repo docs instead of a monolithic landing page. ## πŸ“¦ Install > [!IMPORTANT] > If you want the newest features and experiments, install from source. > > If you want the most stable day-to-day experience, install from PyPI or with `uv`. **Install from source** ```bash git clone https://github.com/HKUDS/nanobot.git cd nanobot pip install -e . ``` **Install with `uv`** ```bash uv tool install nanobot-ai ``` **Install from PyPI** ```bash pip install nanobot-ai ``` ## πŸš€ Quick Start **1. Initialize** ```bash nanobot onboard ``` **2. Configure** (`~/.nanobot/config.json`) Configure these **two parts** in your config (other options have defaults). Add or merge the following blocks into your existing config instead of replacing the whole file. *Set your API key* (e.g. [OpenRouter](https://openrouter.ai/keys), recommended for global users): ```json { "providers": { "openrouter": { "apiKey": "sk-or-v1-xxx" } } } ``` *Set your model* (optionally pin a provider β€” defaults to auto-detection): ```json { "agents": { "defaults": { "provider": "openrouter", "model": "anthropic/claude-opus-4-6" } } } ``` **3. Chat** ```bash nanobot agent ``` - Want different LLM providers, web search, MCP, security settings, or more config options? See [Configuration](./docs/configuration.md) - Want to run nanobot in chat apps like Telegram, Discord, WeChat or Feishu? See [Chat Apps](./docs/chat-apps.md) - Want Docker or Linux service deployment? See [Deployment](./docs/deployment.md) ## πŸ—οΈ Architecture

nanobot architecture

🐈 nanobot stays lightweight by centering everything around a small agent loop: messages come in from chat apps, the LLM decides when tools are needed, and memory or skills are pulled in only as context instead of becoming a heavy orchestration layer. That keeps the core path readable and easy to extend, while still letting you add channels, tools, memory, and deployment options without turning the system into a monolith. ## ✨ Features

πŸ“ˆ 24/7 Real-Time Market Analysis

πŸš€ Full-Stack Software Engineer

πŸ“… Smart Daily Routine Manager

πŸ“š Personal Knowledge Assistant

Discovery β€’ Insights β€’ Trends Develop β€’ Deploy β€’ Scale Schedule β€’ Automate β€’ Organize Learn β€’ Memory β€’ Reasoning
## πŸ“š Docs Browse the [repo docs](./docs/README.md) for the latest features and GitHub development version, or visit [nanobot.wiki](https://nanobot.wiki/docs/latest/getting-started/nanobot-overview) for the stable release documentation. - Talk to your nanobot with familiar chat apps: [Chat Apps](./docs/chat-apps.md) - Configure providers, web search, MCP, and runtime behavior: [Configuration](./docs/configuration.md) - Integrate nanobot with local tools and automations: [OpenAI-Compatible API](./docs/openai-api.md) Β· [Python SDK](./docs/python-sdk.md) - Run nanobot with Docker or as a Linux service: [Deployment](./docs/deployment.md) ## 🀝 Contribute & Roadmap PRs welcome! The codebase is intentionally small and readable. πŸ€— ### Branching Strategy | Branch | Purpose | |--------|---------| | `main` | Stable releases β€” bug fixes and minor improvements | | `nightly` | Experimental features β€” new features and breaking changes | **Unsure which branch to target?** See [CONTRIBUTING.md](./CONTRIBUTING.md) for details. **Roadmap** β€” Pick an item and [open a PR](https://github.com/HKUDS/nanobot/pulls)! - **Multi-modal** β€” See and hear (images, voice, video) - **Long-term memory** β€” Never forget important context - **Better reasoning** β€” Multi-step planning and reflection - **More integrations** β€” Calendar and more - **Self-improvement** β€” Learn from feedback and mistakes ### Contributors Contributors ## ⭐ Star History
Star History Chart

Thanks for visiting ✨ nanobot!

Views