nanobot
nanobot is an ultra-lightweight, open-source, self-hosted personal AI agent framework in Python with WebUI, terminal, and chat apps, plus tools, memory, MCP, multi-agent workflows, and automations.
Visit HKUDS/nanobotOverview
nanobot is an ultra-lightweight, open-source, self-hosted personal AI agent framework written in Python. It can be used in a browser WebUI, terminal, or chat app to work with files, remember preferences, and schedule tasks, with model providers or local model servers supplying the AI.
Key Features
- Runs in a browser WebUI or terminal and connects to chat channels such as Telegram, Discord, Slack, WeChat, Email, Mattermost, and Linear.
- Built-in file tools read PDF, Word, Excel, and PowerPoint files for tasks such as summarizing reports.
- Supports shell, web search/fetch, MCP integrations, cron, image generation, and multi-agent delegation.
- Keeps session history and long-term memory through Dream, and supports long-horizon goals and scheduled automations.
- Offers model freedom through OpenAI-compatible APIs, local LLMs, image generation, search, and fallbacks.
- Exposes a Python SDK and OpenAI-compatible API for integrations and can deploy as a long-running local or server-side agent gateway.
Use Cases
- Review a release with parallel agents covering code, regression tests, and rollout risk, then bring their findings into one report.
- Turn customer feedback into Linear issues with source quotes and acceptance criteria.
- Schedule recurring work such as a morning brief or weekly review, then check each run and pick up results in the original topic.
- Read local files such as notes.txt and write a short summary, or summarize PDF, Word, Excel, and PowerPoint reports.
Getting Started
- Install nanobot using the recommended installer, or use uv tool install nanobot-ai or python -m pip install nanobot-ai in a managed Python environment.
- Python 3.11 or newer is required, along with access to a supported model provider or local model server.
- Run nanobot webui for browser setup, then open Settings → Models, save a provider/model preset, start a new topic, and send Hello! to verify the model connection.
- For terminal-only setup, run nanobot onboard --wizard; nanobot -m "Hello!" checks one reply, and nanobot opens the interactive TUI.
Deployment & Requirements
- Python 3.11 or newer and access to a supported model provider or local model server are required.
- nanobot does not supply a model account; model fees or local hardware requirements depend on the chosen service.
- Self-hosting guidance covers Docker, Docker Compose, Linux services, and macOS LaunchAgent setup.
- Render deployment asks for ANTHROPIC_API_KEY and a private NANOBOT_WEB_TOKEN; persistent disks require a paid Render service.
Before You Adopt
- License: MIT. Review its terms before using, modifying, or distributing the project.
- nanobot depends on an external model provider or local model server and does not include a model account.
- WebUI access provides administration of the agent instance and should be limited to trusted operators.
- Background gateway mode does not set up reboot startup or crash restart; an OS-managed service is needed for that.
- Interrupted subagent work is not automatically relaunched, and missed scheduled times are not replayed.
- Render deployments with persistent disks require a paid Render service.