Skip to main content
ClaudeWave
EN, English
HKUDS / Subagents

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

  • 49.3k stars
  • 8.7k forks
  • 870 open issues
  • Language: Python
  • License: MIT
  • updated

Install

Terminal
git clone https://github.com/HKUDS/nanobot && cp nanobot/*.md ~/.claude/agents/
  1. Clone the repository and copy the agent .md definitions into ~/.claude/agents (or .claude/agents inside a project).
  2. Start a new Claude Code session to load the agents.
  3. Delegate work to them with the Task/Agent tool or by name.

Editor's note

Nanobot is a Python-based open-source AI agent framework that connects Claude (alongside OpenAI, Gemini, and other providers) to a broad set of tools and communication channels through a minimal, readable core. Users install it via pip, interact through a bundled browser-based WebUI or the CLI, and can route conversations through Telegram, Discord, WeChat, Slack, Signal, or email using a unified channel configuration. It integrates with Claude via the Anthropic API and supports MCP extensions, allowing agents to call external tools and CLI apps through a shared extension registry. Key features include persistent memory, project workspaces, model fallback routing, web search via Kagi, image generation, document extraction, and a `/goal` command introduced in v0.2.0 that maintains a sustained objective across multiple conversation turns. The v0.2.1 Workbench release added live file-edit activity tracking and clearer thought-and-response timelines in the WebUI. Developers building multi-step Claude-powered workflows and non-technical users wanting a self-hosted agent without cloud lock-in are the primary audience.

Installable items

12 items in this repository

clawhubSkill

Search and install agent skills from ClawHub, the public skill registry.

Install
cronSkill

Schedule reminders and recurring tasks.

Install
githubSkill

Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries.

Install

Generate images and iteratively edit saved image artifacts.

Install

Sustained objectives via long_task / complete_goal — idempotent goal wording, project-style modular work, early web/doc research, Runtime Context metadata.

Install
memorySkill

Search conversation history and understand Dream-managed profile and memory files.

Install
mySkill

Inspect and optionally adjust the agent's runtime state. Use to check the current model or preset, context window and runtime limits, workspace and tool configuration, subagent status, and request routing metadata such as channel, chat ID, and sender ID; diagnose unavailable capabilities; change allowed runtime settings; or store temporary session scratchpad values.

Install

Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.

Install

Summarize or extract text/transcripts from URLs, podcasts, and local files (great fallback for “transcribe this YouTube/video”).

Install
tmuxSkill

Remote-control tmux sessions for interactive CLIs by sending keystrokes and scraping pane output.

Install

One-time setup wizard for the nanobot upgrade skill. Triggers: setup update, configure update, 设置更新, 初始化更新.

Install
weatherSkill

Get current weather and forecasts (no API key required).

Install
README

Subagents overview

Full README on GitHub

English | 简体中文 | 繁體中文 | Español | Français | Bahasa Indonesia | 日本語 | 한국어 | Русский | Tiếng Việt Discord · X · WeChat / Feishu

nanobot

🐈 nanobot is an ultra-lightweight, open-source, self-hosted personal AI agent framework written in Python. Use it in a browser, terminal, or chat app to work with files, remember preferences, and schedule tasks. Connect a supported model provider or local model server to supply the AI.

Start Here

You want to...Go to
Install nanobot with no terminal/config backgroundStart Without Technical Background
Install quickly and get your first replyInstall and Quick Start
Open the bundled browser UIWebUI
Connect Telegram, Discord, WeChat, Slack, Email, Mattermost, Linear, or another channelChat app guide
Configure providers, fallback models, Langfuse, MCP, web tools, or securityDocs and Configuration
Develop the browser UIInstall current source, then WebUI development and Contributing
Integrate from Python or HTTPPython SDK or Agent API
Understand or extend the internalsArchitecture, Contributing, and Provider extensions
Deploy to the cloud or keep nanobot running as a serviceDeployment

What can nanobot do?

nanobot can:

  • run in a browser WebUI or terminal

  • connect to Telegram, Discord, Slack, WeChat, Email, Mattermost, Linear, and other channels

  • read PDF, Word (.docx), Excel (.xlsx), and PowerPoint (.pptx) files with built-in file tools, for tasks such as summarizing reports

  • use shell, web search/fetch, MCP integrations, cron, image generation, and multi-agent delegation

  • keep session history and long-term memory through Dream

  • run long-horizon goals and scheduled automations

  • expose a Python SDK and OpenAI-compatible API for integrations

  • deploy as a long-running local or server-side agent gateway

💡 Why nanobot

  • Persistent workflows: keep saved conversations, long-term memory, and task results for later work.

  • Chat-native reach: WebUI, API, Telegram, Feishu, Slack, Discord, Teams, email, Mattermost, and Linear.

  • Model freedom: OpenAI-compatible APIs, local LLMs, image generation, search, and fallbacks.

  • Small core: readable internals with MCP, memory, deployment, and automation built in.

  • Own your stack: inspect, customize, self-host, and extend without a giant platform.

📦 Install

You need Python 3.11 or newer and access to a supported model provider or local model server. Model fees or local hardware requirements depend on the service you choose; nanobot does not supply a model account.

Choose the stable release for everyday use or current source for development and the latest features. This README describes current source; published documentation covers the released version.

New to terminals or model credentials? Follow Start Without Technical Background. Updating an existing instance? Follow updates and recovery for your installation method, backup steps and restart checks.

TrackInstall withUpdate withWhat runs
Stableinstaller, uv, or pipmanaged installer: WebUI update; other installs: original package toolone released Python/WebUI/TUI version
Current sourceeditable Git checkoutgit pull --ff-only + editable dependency syncPython, WebUI, and TUI from that checkout

Stable release: automatic setup (recommended)

The installer chooses an isolated Python environment and opens setup for you. The two commands below are the same installation method for different operating systems; run only the one for your system.

macOS / Linux

curl -fsSL https://raw.githubusercontent.com/HKUDS/nanobot/main/scripts/install.sh | sh

Windows PowerShell

irm https://raw.githubusercontent.com/HKUDS/nanobot/main/scripts/install.ps1 | iex

Installer details, preview, and script review

The default command installs or upgrades the stable PyPI release. Fresh installations use a dedicated environment under ~/.nanobot/venv. On a fresh local desktop it opens the WebUI for model setup. That gateway keeps running after the browser or terminal closes; use the printed gateway stop command to stop it. SSH, headless, existing-config and older-release installs use terminal setup.

Existing installations keep their package manager, extras and constraints. An active ordinary venv remains an explicit target, not an installer-managed environment. The installer avoids system-wide pip and prints the command to reuse if nanobot is not on PATH.

To preview the plan without changing your environment, pass --dry-run.

curl -fsSL https://raw.githubusercontent.com/HKUDS/nanobot/main/scripts/install.sh | sh -s -- --dry-run
& ([scriptblock]::Create((irm https://raw.githubusercontent.com/HKUDS/nanobot/main/scripts/install.ps1))) --dry-run

If you prefer to inspect the script first, open scripts/install.sh or scripts/install.ps1.

Already use uv or pip? Install the stable package yourself

Use this instead of the recommended installer when you already manage your own Python environment. These commands install the same stable nanobot-ai package; they do not launch setup.

uv: isolated CLI installation

uv tool install nanobot-ai

pip: activate your virtual environment first

python -m pip install nanobot-ai

Then run nanobot webui for browser setup, or nanobot onboard --wizard for terminal-only setup. For the Python SDK, install nanobot-ai in your application's virtual environment so the application can import it; a separate uv tool environment does not make the SDK importable there.

If pip reports externally-managed-environment, use the recommended installer, uv tool install nanobot-ai, pipx install nanobot-ai, or an activated virtual environment. Upgrade with the same method; for uv use uv tool upgrade nanobot-ai, and for pip use python -m pip install -U nanobot-ai.

Current source: development checkout

Install current source with Git and Bun

Clone the repository and install it in editable mode. A source install requires Git and Bun; Bun runs the matching TUI directly from the checkout instead of downloading an older release binary.

git clone https://github.com/HKUDS/nanobot.git
cd nanobot
python -m venv .venv

Activate it with source .venv/bin/activate on macOS/Linux or .venv\Scripts\Activate.ps1 in Windows PowerShell, then run:

python -m pip install -e .
Topics
agent-frameworkai-agentai-agentschatbotchatopsdiscord-botllm-agentsllmslocal-llmmcpmodel-context-protocolmulti-agentopenai-compatibleopenclawpersonal-ai-assistantpythonself-hostedtelegram-bot-ai-assistantwebuiworkflow-automation
Frequently asked

What people ask about nanobot

What is HKUDS/nanobot?

HKUDS/nanobot is subagents for the Claude AI ecosystem. Ultra-lightweight, open-source, self-hosted personal AI agent framework in Python with WebUI, tools, memory, MCP, multi-agent workflows, automation, and chat apps It has 49.3k GitHub stars and its last recorded update is dated 2026-10-23.

How do I install nanobot?

You can install nanobot by cloning the repository (https://github.com/HKUDS/nanobot) or following the README instructions on GitHub. ClaudeWave also provides quick install blocks on this page.

Is HKUDS/nanobot safe to use?

Our security agent has analyzed HKUDS/nanobot and assigned a Trust Score of 97/100 (tier: Verified). See the full breakdown of passed checks and flags on this page.

Who maintains HKUDS/nanobot?

HKUDS/nanobot is maintained by HKUDS. The last recorded GitHub activity is dated 2026-10-23, with 870 open issues.

Are there alternatives to nanobot?

Yes. On ClaudeWave you can browse similar subagents at /categories/agents, sorted by popularity or recent activity.

Maintain this repo? Show its Trust Score in your README

The badge shows this repository's current Trust Score and verdict, and links back to this page. It follows the catalogue data: nobody can buy or edit the score it displays.

ClaudeWave Trust Score for HKUDS/nanobot
Markdown (README)
[![ClaudeWave Trust Score for HKUDS/nanobot](https://claudewave.com/api/badge/hkuds-nanobot)](https://claudewave.com/en/repo/hkuds-nanobot)
HTML
<a href="https://claudewave.com/en/repo/hkuds-nanobot"><img src="https://claudewave.com/api/badge/hkuds-nanobot" alt="ClaudeWave Trust Score for HKUDS/nanobot" width="320" height="64"></a>

What the badge means and how the score is computed

Alternatives

See all
Project homepage
https://nanobot.wiki