HKUDS

nanobot: Run a Self-Hosted Personal AI Agent

nanobot is a Python framework for running a personal AI agent through a browser, terminal, or chat apps. It combines model integrations with tools, memory, MCP, and scheduled workflows for people who want a customizable agent they can host themselves.

View on GitHub Compare
Stars
48.8k
Forks
8.6k
Stars, last 30 days
+1,052

Our take

Health score

78/100

How it is scored
Activity
79
Community
79
Issues
73
Pull requests
80

+1,052 stars in the last 30 days

  • Merges more pull requests than 87% of the projects we track
  • More contributors than 77% of the projects we track

Project history

Daily GitHub snapshots since Oct 7, 2026. History covers stars and forks; health signals are not tracked historically.

Selected snapshot

Stars

50,051

Forks

8,734

Change since Nov 12, 2026: +26 stars·+3 forks

Overview

nanobot is a self-hosted personal AI agent framework that brings conversations, tools, and recurring tasks into one runtime. It addresses the gap between a basic chatbot and a configurable assistant that can work across a browser, terminal, and messaging channels.

The project is aimed at individuals and developers who want to control how their agent is hosted and extended. Its small Python core supports integrations such as MCP, long-term memory, model routing, and multi-agent delegation, without requiring users to adopt a large orchestration platform.

Key Features

  • Browser WebUI and terminal interfaces that share conversations and a local gateway.
  • Connections to chat channels including Telegram, Discord, Slack, WeChat, email, Mattermost, and Linear.
  • Tools for file operations, shell commands, web search and fetch, MCP, cron, image generation, and subagents.
  • Session history and long-term memory, plus scheduled automation and long-horizon goals.
  • Support for OpenAI-compatible APIs, local LLMs, model fallbacks, and image generation.
  • Python SDK and OpenAI-compatible API for integrations.
  • Self-hosting and deployment options for local machines or servers.

Use Cases

  • Individuals can run a personal assistant in a browser or terminal and keep its conversations and memory on infrastructure they control.
  • Developers can connect an agent to existing applications through the SDK, API, MCP servers, or chat channels.
  • Teams can make an agent available in messaging tools for questions and tool-assisted tasks.
  • Users with recurring work can schedule agent tasks and receive results through a configured topic or channel.

Getting Started

Python 3.11 or newer is required. Install the stable package with uv:

uv tool install nanobot-ai
nanobot webui

Configure a provider and model in the WebUI to start chatting. For other installation methods, channel setup, and deployment, see the README and documentation.

Alternatives

  • lobehub: LobeHub centers on coordinating and scheduling shared agents in a web app, while nanobot focuses on a personal agent across chat, browser, and terminal.
  • QwenPaw: QwenPaw is a personal assistant focused on local or cloud deployment and security controls, while nanobot emphasizes a Python framework with browser and terminal access.
ProjectLanguageLicenseStarsStatus
nanobotPythonMIT48.8kNot checked yet
LobeHubTypeScript–83.3kActive
QwenPawTypeScriptApache-2.035.5kActive

Considerations

  • The project is a framework and runtime, not a model. You need to configure a model provider or compatible local model before getting agent responses.
  • Running chat integrations and scheduled automations requires configuring the relevant channels and keeping the gateway running.
  • The default first-run WebUI binds to localhost; access from a LAN or remote server requires additional setup.
  • The repository has 807 open issues, so users evaluating it for ongoing use may want to review the issue tracker and release notes.
  • Source installation requires Git and Bun; the published package is the simpler stable installation path.

Found this useful?

Share it with someone who would like nanobot.

Comparisons