other / agent

nanobot

A self-hosted personal AI agent framework in Python with a WebUI, a terminal client, tools, memory, MCP and chat app connections.

At a glance

Purpose
A self-hosted personal AI agent framework in Python with a WebUI, a terminal client, tools, memory, MCP and chat app connections.
Runs in
Local agent with shell, Web service
Operating systems
macOS, Linux, Windows
Needs
Runtime: Python 3.11+; Needs internet: Not stated; Needs accounts or API keys beyond your agent: Not stated
Files and data
Reads files: Yes; Writes files: Yes; Sends data to other services: Yes
Tool type
Agent
Delivery
From GitHub
Version
Latest on the main branch
Access
Code on GitHub
Compatibility
According to the README, the platform wheels cover macOS 13+ (Apple Silicon and Intel), glibc 2.17+ Linux (ARM64 and x64) and Windows x64. It names the channels Telegram, Discord, Slack, WeChat, Feishu, Teams, Email, Mattermost and Linear. It names OpenAI-compatible APIs, local servers such as Ollama and vLLM, and MCP servers. Deploy options named are Render, Docker, Docker Compose, Linux services and a macOS LaunchAgent.
External costs
According to the README, the one-click Render deploy asks for an ANTHROPIC_API_KEY and a private NANOBOT_WEB_TOKEN, and persistent disks require a paid Render service. The README names Ollama and vLLM as local options and links a provider cookbook. The model provider you connect may charge for usage.
Permissions
The README offers remote installer scripts piped to sh on macOS/Linux or executed through irm/iex in Windows PowerShell, plus uv, pip and editable source installation routes. The README says WebUI creates config/workspace as needed, enables local WebSocket after confirmation and starts/joins the gateway. The README lists file, shell, web search/fetch, MCP, cron, image and subagent tools, and describes file edits and command output in the WebUI. The README describes workspace/access selection; temporary chats use the default workspace in Restricted mode. The README describes a background gateway keeping channels/automations active after clients exit, scheduled conversation delivery and chat-app connections. The README offers Render deployment with ANTHROPIC_API_KEY and NANOBOT_WEB_TOKEN and service guidance. The README says the first-run WebUI binds to localhost by default and is not exposed to your LAN.
Usage terms
MIT License, as stated in the repository. See its LICENSE file for the exact terms. The README says a source-distribution installation can fetch a version-matched TUI archive with its own licenses, notices, corresponding application source, source offer and relinking instructions.
Interface
web

Code on GitHub

HKUDS/nanobot

MIT

Python48,975 stars8,627 forksLast pushed 12 Oct 2026 UTC

Ultra-lightweight, open-source, self-hosted personal AI agent framework in Python with WebUI, tools, memory, MCP, multi-agent workflows, automation, and chat apps

Topics: agent-framework ai-agent ai-agents chatbot chatops discord-bot llm-agents llms

Public GitHub data fetched · 0 days old

View on GitHub ↗

What it does

According to the README, nanobot is a self-hosted personal AI agent framework written in Python. The README describes use through a browser WebUI, terminal or chat apps and lists files, shell, web search, web fetch, MCP, cron, image generation and subagents as tools.

The README says nanobot keeps session history and long-term memory through Dream, runs long-horizon goals and scheduled automations, and exposes a Python SDK and OpenAI-compatible API. The README names channels including Telegram, Discord, Slack, WeChat, Email, Mattermost and Linear. The README describes WebUI topics, temporary chats, Apps, Skills, Automations and settings.

The README gives installer, PyPI, uv and source-checkout installation routes. The README describes a Render deployment and points to deployment guidance for Docker, Docker Compose, Linux services and a macOS LaunchAgent.

Who it is for

People who want a personal AI agent they host themselves and can reach from a browser, a terminal or chat apps.

Example tasks

Open the WebUI with nanobot webui and choose a provider and model in the Models section of Settings.
Keep nanobot running after you close the terminal with nanobot gateway --background.
Send a single request and exit with nanobot -m "Hello!".
Ask for a scheduled automation from a topic, then manage it under Tasks or Calendar.
Connect a chat app such as Telegram or Discord.

Getting started

According to the README, a one-command installer script for macOS and Linux and one for Windows PowerShell install or upgrade the nanobot-ai package from PyPI. Other routes are uv tool install nanobot-ai, python -m pip install nanobot-ai, and a source checkout installed with python -m pip install -e .. Check the install with nanobot --version. Then run nanobot webui and choose a provider and model in the Models section of Settings. The README has the exact commands. The README says the installer avoids system-wide pip via an active virtual environment, uv, pipx or ~/.nanobot/venv.

Limitations

According to the README, nanobot needs Python 3.11 or newer, and Git and Bun are only needed for a source install. It says you set up a model provider, a credential and a model in the Models section of Settings in the WebUI, or with the terminal setup wizard. The README lists platform wheels for macOS 13+ (Apple Silicon and Intel), glibc 2.17+ Linux (ARM64 and x64) and Windows x64, says the x64 runtime requires SSE4.2, and points to nanobot --classic or the WebUI on other platforms. It says to keep the gateway running for scheduled delivery. It suggests installing from source for the newest features and from PyPI or uv for the most stable experience. It says persistent disks on its Render deploy require a paid Render service. The repository can change at any time; check its README before you install.

Data practices

The README describes nanobot as self-hosted and says it keeps session history and long-term memory. The README says temporary chats stay out of saved topic history and long-term memory and end when their connection closes. The README says topics keep separate histories and that mentioning or dragging another saved session into a conversation lets the agent read that session's context.

The README says the first-run WebUI binds to localhost by default. The README says Render deployment provisions persistent storage for sessions, memory and WebUI history. The README describes model-provider credentials and chat-channel configuration but does not enumerate provider payloads or retention policies. The README links configuration and security documentation.

Community experience

Not rated yet

Sign in to share your experience.

Comments 0

No comments yet.

Sign in to comment

Report a listing concern