Nanobot is a self-hosted personal AI agent runtime written in Python. It runs in a browser WebUI, a native terminal client, or chat apps, and combines tools, long-term memory, MCP integrations, model routing, multi-agent delegation, scheduled automation, and an OpenAI-compatible API in a small core.
The design centers on one agent loop: messages arrive from chat apps, the model decides when tools are needed, and memory or skills are pulled in only as context rather than through an orchestration layer. Channels, tools, memory, and deployment options attach to that loop. Connected channels include Telegram, Discord, Slack, WeChat, WeCom, Feishu, Teams, email, Mattermost, and Linear. Built-in tools cover files, shell, web search, web fetch, MCP servers, cron, image generation, and subagents, and session history plus long-term memory persist through a component called Dream.
The WebUI ships inside the published package. It keeps separate topics per task, offers temporary chats that stay out of history and memory, shows reasoning, tool calls, file edits as inline diffs, command output, and generated artifacts, and reports context size, input tokens per round, cache reuse, and compaction in the conversation timeline. Up to four conversations sit side by side in columns, rows, or a grid, each with its own history, and mentioning another topic lets the agent read its context. Apps connect MCP servers, Agent Plugins, and local CLI adapters, Skills hold reusable instructions, and Automations schedule recurring work with a task list and a calendar of runs.
A shared local gateway runs the channels and automations and can be promoted to a persistent background service so work continues after every WebUI and terminal client exits. The gateway also deploys to Render with a one-click blueprint or to your own infrastructure with Docker, Docker Compose, Linux services, or a macOS LaunchAgent. Models come from OpenAI-compatible APIs or local servers such as Ollama and vLLM, with fallback models and optional Langfuse tracing, and a Python SDK and the OpenAI-compatible API expose the agent to other programs. The gateway-first entry point is positioned as familiar to anyone coming from OpenClaw.
Features
- Chat channels: Telegram, Discord, Slack, WeChat, WeCom, Feishu, Teams, email, Mattermost, and Linear, alongside the WebUI and terminal client
- Tools: files, shell, web search, web fetch, MCP servers, cron, image generation, and subagents
- Memory: session history and long-term memory through Dream, with temporary chats that stay out of both
- Model routing: OpenAI-compatible APIs and local servers such as Ollama and vLLM, with fallback models and model switching from the conversation
- Multi-agent work: inline subagents, and up to four side-by-side topics that can read each other's context
- Automations: scheduled and triggered tasks delivered to the originating topic, managed from a task list and a calendar
- Apps and Skills: MCP servers, Agent Plugins, and local CLI adapters attach as Apps, and Skills supply reusable instructions
- Visible activity: reasoning, tool calls, inline diffs, command output, context size, input tokens per round, cache reuse, and compaction progress
- Gateway: one shared local gateway serves the WebUI, terminal, and channels and can run as a persistent background service
- Deployment: Render one-click blueprint, Docker, Docker Compose, Linux services, or a macOS LaunchAgent
- Integrations: a Python SDK and an OpenAI-compatible API for other programs, plus optional Langfuse tracing




