HKUDS/nanobot
Ultra-lightweight, open-source, self-hosted personal AI agent framework in Python with WebUI, tools, memory, MCP, multi-agent workflows, automation, and chat apps
What it solves
nanobot is a self-hosted, ultra-lightweight personal AI agent runtime. It solves the problem of owning and controlling your own AI agent without relying on a giant platform, providing a small, readable core that can be extended with various tools and channels.
How it works
The project centers around a small agent loop where messages from various chat apps are processed by an LLM. The LLM decides when to use tools, and memory or skills are pulled in as context rather than as a heavy orchestration layer. It supports a wide range of providers (OpenAI-compatible APIs, local LLMs via Ollama or vLLM) and can be deployed as a long-running gateway.
Who it’s for
It is designed for users who want a personal AI agent they can truly own, ranging from those with no technical background (via guided walkthroughs) to developers who want to integrate the agent via a Python SDK or OpenAI-compatible API.
Highlights
- Multi-channel reach: Connects to Telegram, Discord, Slack, WeChat, Email, Mattermost, and a bundled WebUI.
- Extensible toolset: Includes support for files, shell, web search, web fetch, MCP, cron, and image generation.
- Persistent workflows: Features long-term memory (through Dream), session history, and scheduled automations.
- Model freedom: Supports OpenAI-compatible APIs and local LLMs with model routing and fallback options.
- Easy deployment: One-click deployment to Render or local installation via PyPI/uv.