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 personal AI agent framework that allows users to create a persistent, customizable AI assistant. It solves the problem of fragmented AI interactions by providing a single gateway that connects multiple LLM providers, long-term memory, and various communication channels (like Telegram, Discord, and Slack) into one unified, lightweight runtime.

How it works

The project centers around a small agent loop where messages from various channels are processed by an LLM. The LLM determines when to use tools or pull in memory and skills as context. It avoids heavy orchestration layers to remain lightweight and readable. It supports model routing, multi-agent delegation, and MCP (Model Context Protocol) integrations to extend its capabilities.

Who it’s for

It is designed for individuals who want to own their AI stack, self-host their agents, and integrate them into their daily workflows across different chat apps and terminals without relying on a giant platform.

Highlights

  • Multi-channel reach: Connects to WebUI, terminal, Telegram, Discord, Slack, WeChat, Email, Mattermost, and Linear.
  • Persistent Memory: Features long-term memory through "Dream" and session history that survives long-running work.
  • Extensible Tooling: Supports MCP servers, shell access, web search, image generation, and scheduled automations via a calendar system.
  • Model Agnostic: Compatible with OpenAI-compatible APIs, local LLMs (via Ollama or vLLM), and supports fallback models.
  • Flexible Interface: Includes a bundled WebUI for managing topics and workspaces, and a native TUI for terminal-based interaction.

Related

  • Dispatch
  • Project
  • Project
  • Project
  • Project