๐ **nanobot** is an open-source, ultra-lightweight personal AI agent you can truly own. It keeps the agent core small and readable while giving you the practical pieces for real long-running work: WebUI, chat channels, tools, memory, MCP, model routing, automation, and deployment.
## Start Here
| You want to... | Go to |
|---|---|
| Install nanobot with no terminal/config background | [Start Without Technical Background](./docs/start-without-technical-background.md) |
| Install quickly and get one CLI reply | [Install](#-install) and [Quick Start](#-quick-start) |
| Open the bundled browser UI after the CLI works | [WebUI](#-webui) |
| Connect Telegram, Discord, WeChat, Slack, Email, or another chat app | [Chat Apps](./docs/chat-apps.md) |
| Configure providers, fallback models, Langfuse, MCP, web tools, or security | [Docs](./docs/README.md) and [Configuration](./docs/configuration.md) |
| Understand or extend the internals | [Architecture](./docs/architecture.md) and [Development](./docs/development.md) |
## Open Source Partners
## ๐ข News
- **2026-06-22** ๐ Released **v0.2.2** โ **The Durability Release** makes nanobot sturdier for daily agent work: segmented WebUI transcripts, first-class Python SDK runtime controls, automation management, richer search/STT providers, and stronger gateway/session/provider reliability. Please see [release notes](https://github.com/HKUDS/nanobot/releases/tag/v0.2.2) for details.
- **2026-06-21** ๐งฐ Python SDK runtime controls, optional Keenable key, cleaner run hooks.
- **2026-06-20** ๐ฌ Telegram rich messages, safer SDK concurrency, smoother Quick Start.
- **2026-06-19** ๐ Firecrawl app, OpenAI image edits, safer session deletion.
- **2026-06-18** ๐ฌ Feishu recovery, Keenable search, Mistral polish, workspace-aware git.
- **2026-06-17** ๐ง Default idle auto-compact, clearer `/dream`, macOS installer fixes.
- **2026-06-16** ๐ฏ Fresher goal context, Kimi K2.7 thinking, cleaner API retries.
- **2026-06-15** ๐ฑ Mobile WebUI polish, optional file tools, real API usage.
- **2026-06-14** ๐ผ๏ธ Themed cover, partner links, stronger Codex image streaming.
- **2026-06-13** ๐๏ธ Session-bound automations, sturdier WhatsApp, faster WebUI startup.
Earlier news
- **2026-06-12** ๐ฌ Slack allowlisted channels can require mentions.
- **2026-06-11** โ๏ธ Fenced-code message splitting.
- **2026-06-10** ๐ Segmented transcripts, Exa/Bocha search, StepFun/SiliconFlow ASR.
- **2026-06-09** ๐๏ธ Shared voice input, more STT providers, TeX and email polish.
- **2026-06-08** ๐งฎ Token heatmap fix, safer MCP HTTP probing, docs cleanup.
- **2026-06-06** ๐งฐ SDK MCP cleanup, removable OpenAI image defaults.
- **2026-06-05** ๐ผ๏ธ Azure AAD, custom image providers, `/skill`, steadier pairing.
- **2026-06-04** ๐ MCP reconnects, `uv pip` install fallback, QQ pairing.
- **2026-06-03** ๐ง Hidden-history recovery, quieter email progress handling.
- **2026-06-02** ๐ฌ Email attachments, Napcat QQ, Volcengine search, simpler Dream.
- **2026-06-01** ๐ Released **v0.2.1** โ **The Workbench Release** turns the packaged WebUI into a daily agent workbench: clearer Thought/response timelines, live file-edit activity, project workspaces, model and context controls, steadier sustained goals, CLI Apps + MCP extensions, and broader provider/channel support. Please see [release notes](https://github.com/HKUDS/nanobot/releases/tag/v0.2.1) for details.
- **2026-05-30** ๐ Safer Matrix verification, bounded media downloads, clearer WebUI model timeline.
- **2026-05-29** ๐งฉ Extension registry, context-window tuning, document extraction controls.
- **2026-05-28** ๐๏ธ Project workspaces, access controls, steadier goals and streaming.
- **2026-05-27** โฑ๏ธ Codex streams respect idle timeouts during long runs.
- **2026-05-26** ๐ก Telegram webhooks, refreshed Kagi search, cleaner transport errors.
- **2026-05-25** ๐ Unified CLI Apps and MCP, Step Plan support, steadier sustained goals.
- **2026-05-24** ๐งฐ MCP presets, richer slash actions, configurable OpenAI-compatible requests.
- **2026-05-23** ๐ผ๏ธ Zhipu image generation, longer exec windows, cleaner transcription config.
- **2026-05-22** ๐ ๏ธ CLI Apps, more image providers, safer web redirects and edits.
- **2026-05-21** โก Novita provider, faster sidebar, smoother coding tools and Weixin replies.
- **2026-05-20** ๐ถ Signal channel, faster gateway startup, multilingual README links.
- **2026-05-19** ๐จ Image provider registry, StepFun and Skywork, stronger WebUI controls.
- **2026-05-18** ๐๏ธ Gemini and MiniMax images, Ant Ling, live file-edit activity.
- **2026-05-17** ๐ Smoother WebUI streaming, AutoCompact fixes, buffered CLI reasoning.
- **2026-05-16** ๐ง Atomic Chat provider, goal-aware timeouts, safer exec URL handling.
- **2026-05-15** ๐ Released **v0.2.0** โ **`/goal`** holds sustained objectives across turns, WebUI now ships inside the wheel, image generation end to end, 5 new providers with `fallback_models`, and a real agent-loop refactor. Please see [release notes](https://github.com/HKUDS/nanobot/releases/tag/v0.2.0) for details.
- **2026-05-14** ๐ฏ **`/goal`** for long-term objectives, visible multi-step progress, long-horizon missions in chat.
- **2026-05-13** ๐ง Streaming reasoning before answers, automatic backup models, smoother plug-in reconnects.
- **2026-05-12** ๐๏ธ Saved model presets with WebUI badge, simpler plug-in tools, quieter Feishu topic threads.
- **2026-05-11** ๐ฅ๏ธ NVIDIA NIM support, terminal bot name and icon, streamed reasoning and MiMo toggle clarity.
- **2026-05-09** ๐ผ๏ธ Sharper image replay, BYO web-search keys in Settings, Feishu threads routed cleanly.
- **2026-05-08** โจ Inline chat image, redesigned Settings and keys, Dream memory aligned with visible history.
- **2026-05-07** ๐ Locale-aware slash palette in WebUI, LAN login, faithful HTTP streaming responses.
- **2026-05-06** ๐งฉ Tunable tool hint, steadier voice and plug-in startups, schedules and reminders that stick.
- **2026-05-05** ๐ก๏ธ Quiet deny for unknown Telegram chats, Dream cleanup, fuller automation summaries.
- **2026-05-04** ๐ Safer DingTalk outbound media links, durable cron persistence, DeepSeek polish.
- **2026-05-03** โ๏ธ Predictable shell allow-list behavior, isolated chats mid-reply, cleaner interactive retries.
- **2026-05-02** ๐ LongCat support, smarter token sizing hints, clearer bundled upgrade guidance.
- **2026-05-01** โ๏ธ Native AWS Bedrock provider, tighter helper handoffs and scoped session files.
- **2026-04-30** ๐ฌ Feishu threads that honor replies and topics, WhatsApp bridge refresh on source edits.
- **2026-04-29** ๐ Released **v0.1.5.post3** โ Smarter threads on Feishu, Discord, Slack, and Teams; **DeepSeek-V4**; Hugging Face & Olostep; choices, `/history`, and steadier long chats. Please see [release notes](https://github.com/HKUDS/nanobot/releases/tag/v0.1.5.post3) for details.
- **2026-04-28** ๐ Olostep web search, Hugging Face provider, safer workspace-tool interruptions.
- **2026-04-27** ๐ฌ `/history` command, smarter session replay caps, smoother Discord / Slack threads.
- **2026-04-26** ๐งญ Natural cron reminders, thread-aware restarts, safer local provider and shell behavior.
- **2026-04-25** ๐งฉ `ask_user` choices, macOS LaunchAgent deployment, MSTeams stale-reference cleanup.
- **2026-04-24** ๐ฅ Video attachments for channels, DeepSeek thinking control, faster document startup.
- **2026-04-23** ๐งต Discord thread sessions, Telegram inline buttons, structured tool progress updates.
- **2026-04-22** ๐ GitHub Copilot GPT-5 / o-series support, configurable web fetch, WebUI image uploads.
- **2026-04-21** ๐ Released **v0.1.5.post2** โ Windows & Python 3.14 support, Office document reading, SSE streaming for the OpenAI-compatible API, and stronger reliability across sessions, memory, and channels. Please see [release notes](https://github.com/HKUDS/nanobot/releases/tag/v0.1.5.post2) for details.
- **2026-04-20** ๐จ Kimi K2.6 support, Telegram long-message split, WebUI typography & dark-mode polish.
- **2026-04-19** ๐ WebUI i18n locale switcher, atomic session writes with auto-repair.
- **2026-04-18** ๐งช Initial WebUI chat, smarter setup wizard menus, WebSocket multi-chat multiplexing.
- **2026-04-17** ๐ช Windows & Python 3.14 CI, Dream line-age memory, email self-loop guard.
- **2026-04-16** ๐ก SSE streaming for OpenAI-compatible API, Discord channel allow-list.
- **2026-04-15** ๐๏ธ LM Studio & nullable API keys, MiniMax thinking endpoint, runtime SelfTool.
- **2026-04-14** ๐ Released **v0.1.5.post1** โ Dream skill discovery, mid-turn follow-up injection, WebSocket channel, and deeper channel integrations. Please see [release notes](https://github.com/HKUDS/nanobot/releases/tag/v0.1.5.post1) for details.
- **2026-04-13** ๐ก๏ธ Agent turn hardened โ user messages persisted early, auto-compact skips active tasks.
- **2026-04-12** ๐ Lark global domain support, Dream learns discovered skills, shell sandbox tightened.
- **2026-04-11** โก Context compact shrinks sessions on the fly; Kagi web search; QQ & WeCom full media.
- **2026-04-10** ๐ Multiple MCP servers, Feishu streaming & done-emoji.
- **2026-04-09** ๐ WebSocket channel, unified cross-channel session, `disabled_skills` config.
- **2026-04-08** ๐ค API file uploads, OpenAI reasoning auto-routing with Responses fallback.
- **2026-04-07** ๐ง Anthropic adaptive thinking, MCP resources & prompts exposed as tools.
- **2026-04-06** ๐ฐ๏ธ Langfuse observability, unified Whisper transcription, email attachments.
- **2026-04-05** ๐ Released **v0.1.5** โ sturdier long-running tasks, Dream two-stage memory, production-ready sandboxing and programming Agent SDK. Please see [release notes](https://github.com/HKUDS/nanobot/releases/tag/v0.1.5) for details.
- **2026-04-04** ๐ Jinja2 response templates, Dream memory hardened, smarter retry handling.
- **2026-04-03** ๐ง Xiaomi MiMo provider, chain-of-thought reasoning visible, Telegram UX polish.
- **2026-04-02** ๐งฑ Long-running tasks run more reliably โ core runtime hardening.
- **2026-04-01** ๐ GitHub Copilot auth restored; stricter workspace paths; OpenRouter Claude caching fix.
- **2026-03-31** ๐ฐ๏ธ WeChat multimodal alignment, Discord/Matrix polish, Python SDK facade, MCP and tool fixes.
- **2026-03-30** ๐งฉ OpenAI-compatible API tightened; composable agent lifecycle hooks.
- **2026-03-29** ๐ฌ WeChat voice, typing, QR/media resilience; fixed-session OpenAI-compatible API.
- **2026-03-28** ๐ Provider docs refresh; skill template wording fix.
- **2026-03-27** ๐ Released **v0.1.4.post6** โ architecture decoupling, litellm removal, end-to-end streaming, WeChat channel, and a security fix. Please see [release notes](https://github.com/HKUDS/nanobot/releases/tag/v0.1.4.post6) for details.
- **2026-03-26** ๐๏ธ Agent runner extracted and lifecycle hooks unified; stream delta coalescing at boundaries.
- **2026-03-25** ๐ StepFun provider, configurable timezone, Gemini thought signatures.
- **2026-03-24** ๐ง WeChat compatibility, Feishu CardKit streaming, test suite restructured.
- **2026-03-23** ๐ง Command routing refactored for plugins, WhatsApp/WeChat media, unified channel login CLI.
- **2026-03-22** โก End-to-end streaming, WeChat channel, Anthropic cache optimization, `/status` command.
- **2026-03-21** ๐ Replace `litellm` with native `openai` + `anthropic` SDKs. Please see [commit](https://github.com/HKUDS/nanobot/commit/3dfdab7).
- **2026-03-20** ๐ง Interactive setup wizard โ pick your provider, model autocomplete, and you're good to go.
- **2026-03-19** ๐ฌ Telegram gets more resilient under load; Feishu now renders code blocks properly.
- **2026-03-18** ๐ท Telegram can now send media via URL. Cron schedules show human-readable details.
- **2026-03-17** โจ Feishu formatting glow-up, Slack reacts when done, custom endpoints support extra headers, and image handling is more reliable.
- **2026-03-16** ๐ Released **v0.1.4.post5** โ a refinement-focused release with stronger reliability and channel support, and a more dependable day-to-day experience. Please see [release notes](https://github.com/HKUDS/nanobot/releases/tag/v0.1.4.post5) for details.
- **2026-03-15** ๐งฉ DingTalk rich media, smarter built-in skills, and cleaner model compatibility.
- **2026-03-14** ๐ฌ Channel plugins, Feishu replies, and steadier MCP, QQ, and media handling.
- **2026-03-13** ๐ Multi-provider web search, LangSmith, and broader reliability improvements.
- **2026-03-12** ๐ VolcEngine support, Telegram reply context, `/restart`, and sturdier memory.
- **2026-03-11** ๐ WeCom, Ollama, cleaner discovery, and safer tool behavior.
- **2026-03-10** ๐ง Token-based memory, shared retries, and cleaner gateway and Telegram behavior.
- **2026-03-09** ๐ฌ Slack thread polish and better Feishu audio compatibility.
- **2026-03-08** ๐ Released **v0.1.4.post4** โ a reliability-packed release with safer defaults, better multi-instance support, sturdier MCP, and major channel and provider improvements. Please see [release notes](https://github.com/HKUDS/nanobot/releases/tag/v0.1.4.post4) for details.
- **2026-03-07** ๐ Azure OpenAI provider, WhatsApp media, QQ group chats, and more Telegram/Feishu polish.
- **2026-03-06** ๐ช Lighter providers, smarter media handling, and sturdier memory and CLI compatibility.
- **2026-03-05** โก๏ธ Telegram draft streaming, MCP SSE support, and broader channel reliability fixes.
- **2026-03-04** ๐ ๏ธ Dependency cleanup, safer file reads, and another round of test and Cron fixes.
- **2026-03-03** ๐ง Cleaner user-message merging, safer multimodal saves, and stronger Cron guards.
- **2026-03-02** ๐ก๏ธ Safer default access control, sturdier Cron reloads, and cleaner Matrix media handling.
- **2026-03-01** ๐ Web proxy support, smarter Cron reminders, and Feishu rich-text parsing improvements.
- **2026-02-28** ๐ Released **v0.1.4.post3** โ cleaner context, hardened session history, and smarter agent. Please see [release notes](https://github.com/HKUDS/nanobot/releases/tag/v0.1.4.post3) for details.
- **2026-02-27** ๐ง Experimental thinking mode support, DingTalk media messages, Feishu and QQ channel fixes.
- **2026-02-26** ๐ก๏ธ Session poisoning fix, WhatsApp dedup, Windows path guard, Mistral compatibility.
- **2026-02-25** ๐งน New Matrix channel, cleaner session context, auto workspace template sync.
- **2026-02-24** ๐ Released **v0.1.4.post2** โ a reliability-focused release with a redesigned heartbeat, prompt cache optimization, and hardened provider & channel stability. See [release notes](https://github.com/HKUDS/nanobot/releases/tag/v0.1.4.post2) for details.
- **2026-02-23** ๐ง Virtual tool-call heartbeat, prompt cache optimization, Slack mrkdwn fixes.
- **2026-02-22** ๐ก๏ธ Slack thread isolation, Discord typing fix, agent reliability improvements.
- **2026-02-21** ๐ Released **v0.1.4.post1** โ new providers, media support across channels, and major stability improvements. See [release notes](https://github.com/HKUDS/nanobot/releases/tag/v0.1.4.post1) for details.
- **2026-02-20** ๐ฆ Feishu now receives multimodal files from users. More reliable memory under the hood.
- **2026-02-19** โจ Slack now sends files, Discord splits long messages, and subagents work in CLI mode.
- **2026-02-18** โก๏ธ nanobot now supports VolcEngine, MCP custom auth headers, and Anthropic prompt caching.
- **2026-02-17** ๐ Released **v0.1.4** โ MCP support, progress streaming, new providers, and multiple channel improvements. Please see [release notes](https://github.com/HKUDS/nanobot/releases/tag/v0.1.4) for details.
- **2026-02-16** ๐ฆ nanobot now integrates a [ClawHub](https://clawhub.ai) skill โ search and install public agent skills.
- **2026-02-15** ๐ nanobot now supports OpenAI Codex provider with OAuth login support.
- **2026-02-14** ๐ nanobot now supports MCP! See [MCP section](./docs/configuration.md#mcp-model-context-protocol) for details.
- **2026-02-13** ๐ Released **v0.1.3.post7** โ includes security hardening and multiple improvements. **Please upgrade to the latest version to address security issues**. See [release notes](https://github.com/HKUDS/nanobot/releases/tag/v0.1.3.post7) for more details.
- **2026-02-12** ๐ง Redesigned memory system โ Less code, more reliable. Join the [discussion](https://github.com/HKUDS/nanobot/discussions/566) about it!
- **2026-02-11** โจ Enhanced CLI experience and added MiniMax support!
- **2026-02-10** ๐ Released **v0.1.3.post6** with improvements! Check the updates [notes](https://github.com/HKUDS/nanobot/releases/tag/v0.1.3.post6) and our [roadmap](https://github.com/HKUDS/nanobot/discussions/431).
- **2026-02-09** ๐ฌ Added Slack, Email, and QQ support โ nanobot now supports multiple chat platforms!
- **2026-02-08** ๐ง Refactored Providersโadding a new LLM provider now takes just 2 simple steps! Check [here](./docs/configuration.md#providers).
- **2026-02-07** ๐ Released **v0.1.3.post5** with Qwen support & several key improvements! Check [here](https://github.com/HKUDS/nanobot/releases/tag/v0.1.3.post5) for details.
- **2026-02-06** โจ Added Moonshot/Kimi provider, Discord integration, and enhanced security hardening!
- **2026-02-05** โจ Added Feishu channel, DeepSeek provider, and enhanced scheduled tasks support!
- **2026-02-04** ๐ Released **v0.1.3.post4** with multi-provider & Docker support! Check [here](https://github.com/HKUDS/nanobot/releases/tag/v0.1.3.post4) for details.
- **2026-02-03** โก Integrated vLLM for local LLM support and improved natural language task scheduling!
- **2026-02-02** ๐ nanobot officially launched! Welcome to try ๐ nanobot!
## ๐ก Why nanobot
- **Persistent workflows**: goals, memory, tools, and chat context survive long-running work.
- **Chat-native reach**: WebUI, API, Telegram, Feishu, Slack, Discord, Teams, and email.
- **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
> [!IMPORTANT]
> If you want the newest features and experiments, install from source.
>
> If you want the most stable day-to-day experience, install from PyPI or with `uv`.
Pick **one** install method:
Prerequisites: Python 3.11 or newer. Git is only needed for a source install; Node.js/Bun are only needed if you are developing the WebUI itself.
If terminals, API keys, or config files are new to you, use the guided zero-background walkthrough in [Start Without Technical Background](./docs/start-without-technical-background.md) instead of this compact README path.
**One-command setup**
macOS / Linux:
```bash
curl -fsSL https://raw.githubusercontent.com/HKUDS/nanobot/main/scripts/install.sh | sh
```
Windows PowerShell:
```powershell
irm https://raw.githubusercontent.com/HKUDS/nanobot/main/scripts/install.ps1 | iex
```
The default command installs or upgrades `nanobot-ai` from PyPI, then starts `nanobot onboard --wizard`. It avoids system-wide pip installs by using an active virtual environment, `uv`, `pipx`, or a managed venv under `~/.nanobot/venv`. If Quick Start finishes and you enabled the WebSocket channel, skip the manual initialize/configure steps below and go straight to **Open the WebUI**.
To preview the plan without changing your environment, pass `--dry-run`; combine it with `--dev` when you want to preview the main-branch install.
```bash
curl -fsSL https://raw.githubusercontent.com/HKUDS/nanobot/main/scripts/install.sh | sh -s -- --dry-run
```
```powershell
& ([scriptblock]::Create((irm https://raw.githubusercontent.com/HKUDS/nanobot/main/scripts/install.ps1))) --dry-run
```
To install the current `main` branch instead, pass `--dev`:
```bash
curl -fsSL https://raw.githubusercontent.com/HKUDS/nanobot/main/scripts/install.sh | sh -s -- --dev
```
```powershell
& ([scriptblock]::Create((irm https://raw.githubusercontent.com/HKUDS/nanobot/main/scripts/install.ps1))) --dev
```
If you prefer to inspect the script first, open [`scripts/install.sh`](./scripts/install.sh) or [`scripts/install.ps1`](./scripts/install.ps1).
**Install with `uv`**
```bash
uv tool install nanobot-ai
```
**Install from PyPI with pip**
```bash
python -m pip install nanobot-ai
```
If pip reports `externally-managed-environment` on macOS or Linux, use the one-command installer, `uv tool install nanobot-ai`, `pipx install nanobot-ai`, or install inside a virtual environment.
**Install from source**
```bash
git clone https://github.com/HKUDS/nanobot.git
cd nanobot
python -m pip install -e .
```
Verify the install:
```bash
nanobot --version
```
## ๐ Quick Start
**1. Initialize**
Skip this step if the one-command setup already started the wizard and Quick Start finished there.
```bash
nanobot onboard
```
Use `nanobot onboard --wizard` if you prefer an interactive setup.
**2. Configure** (`~/.nanobot/config.json`)
Skip this step if you already configured provider and model settings in the wizard.
`nanobot onboard` creates `~/.nanobot/config.json` and `~/.nanobot/workspace/`. Configure these **two parts** in the config file. Add or merge the following blocks into the existing file instead of replacing the whole file.
The example below uses a generic OpenAI-compatible `custom` provider so the compact path does not recommend one hosted service. Provider examples are recipes, not rankings or endorsements. For copyable provider-specific setup, see [Provider Cookbook](./docs/provider-cookbook.md).
*Set your API key*:
```json
{
"providers": {
"custom": {
"apiKey": "your-api-key",
"apiBase": "https://api.example.com/v1"
}
}
}
```
*Set a model preset and make it active*:
```json
{
"modelPresets": {
"primary": {
"label": "Primary",
"provider": "custom",
"model": "model-id-from-your-provider",
"maxTokens": 8192,
"contextWindowTokens": 200000,
"temperature": 0.1
}
},
"agents": {
"defaults": {
"modelPreset": "primary"
}
}
}
```
Direct `agents.defaults.provider` and `agents.defaults.model` still work for existing configs, but named presets are the recommended path because they also power `/model` switching and `fallbackModels`.
For another provider, the same config shape still applies:
| Replace | Where |
|---|---|
| Provider config key | `providers.` |
| API key | `providers..apiKey` |
| Preset provider name | `modelPresets.primary.provider` |
| Model ID | `modelPresets.primary.model` |
| Endpoint URL, only when needed | `providers..apiBase` |
**3. Open the WebUI**
If Quick Start enabled the WebSocket channel, start the gateway:
```bash
nanobot gateway
```
Leave that terminal open, then open `http://127.0.0.1:8765` in your browser. Enter the WebUI password you set in the wizard, then send your first message there.
Prefer not to keep a terminal open? Use `nanobot gateway --background`, then manage it with `nanobot gateway status`, `logs`, `restart`, and `stop`.
For manual or terminal-only setup, test one CLI message:
```bash
nanobot status
nanobot agent -m "Hello!"
```
In `nanobot status`, it is normal for most providers to say `not set`. The active preset's provider should be configured, and `Config` plus `Workspace` should show check marks.
If that works, start an interactive chat:
```bash
nanobot agent
```
Need help with `PATH`, API keys, provider/model matching, or JSON errors? See the fuller [Install and Quick Start](./docs/quick-start.md) and [Troubleshooting](./docs/troubleshooting.md).
- Want a pasteable provider setup? See [Provider Cookbook](./docs/provider-cookbook.md)
- Want to understand provider/model matching? See [Providers and Models](./docs/providers.md)
- Want web search, MCP, security settings, or more config options? See [Configuration](./docs/configuration.md)
- Want to run locally? See [Ollama](./docs/providers.md#ollama), [vLLM or another local OpenAI-compatible server](./docs/providers.md#vllm-or-other-local-openai-compatible-server), and the full [provider reference](./docs/configuration.md#providers).
- Want to run nanobot in chat apps like Telegram, Discord, WeChat or Feishu? See [Chat Apps](./docs/chat-apps.md)
- Want Docker or Linux service deployment? See [Deployment](./docs/deployment.md)
## ๐ WebUI
The WebUI ships **inside the published wheel** โ no extra build step. It is the browser workbench for chat sessions, workspace controls, Apps, Skills, Automations, and settings. For the full user guide, see [`docs/webui.md`](./docs/webui.md).
**1. Enable the WebSocket channel in `~/.nanobot/config.json`**
Merge this block into your existing config:
```json
{
"channels": {
"websocket": {
"enabled": true,
"tokenIssueSecret": "your-webui-password",
"websocketRequiresToken": true
}
}
}
```
**2. Start the gateway**
```bash
nanobot gateway
```
Use `nanobot gateway --background` for a local background process you can manage later with `nanobot gateway status`, `logs`, `restart`, and `stop`.
**3. Open the WebUI**
Visit [`http://127.0.0.1:8765`](http://127.0.0.1:8765) in your browser. To open it from another device on your LAN, see [WebUI docs -> LAN access](./docs/webui.md#lan-access).
The WebUI is served by the WebSocket channel on port `8765` by default. The gateway's `18790` port is for the health endpoint, not the browser UI.
> [!TIP]
> Working on the WebUI itself? Check out [`webui/README.md`](./webui/README.md) for the source-tree, Vite dev server, build, and test workflow.
## ๐๏ธ Architecture
๐ nanobot stays lightweight by centering everything around a small agent loop: messages come in from chat apps, the LLM decides when tools are needed, and memory or skills are pulled in only as context instead of becoming a heavy orchestration layer. That keeps the core path readable and easy to extend, while still letting you add channels, tools, memory, and deployment options without turning the system into a monolith.
## โจ Features
๐ 24/7 Real-Time Market Analysis
๐ Full-Stack Software Engineer
๐ Smart Daily Routine Manager
๐ Personal Knowledge Assistant
Discovery โข Insights โข Trends
Develop โข Deploy โข Scale
Schedule โข Automate โข Organize
Learn โข Memory โข Reasoning
## ๐ Docs
Browse the [repo docs](./docs/README.md) for the latest features and GitHub development version, or visit [nanobot.wiki](https://nanobot.wiki/docs/latest/getting-started/nanobot-overview) for the stable release documentation.
- Start with no technical background: [Start Without Technical Background](./docs/start-without-technical-background.md)
- Start from zero with developer basics: [Install and Quick Start](./docs/quick-start.md)
- Understand the runtime model: [Concepts](./docs/concepts.md)
- Read the source-level map: [Architecture](./docs/architecture.md)
- Choose a provider/model: [Providers and Models](./docs/providers.md)
- Copy provider setup recipes: [Provider Cookbook](./docs/provider-cookbook.md)
- Debug setup and runtime failures: [Troubleshooting](./docs/troubleshooting.md)
- Talk to your nanobot with familiar chat apps: [Chat Apps](./docs/chat-apps.md)
- Configure providers, web search, MCP, and runtime behavior: [Configuration](./docs/configuration.md)
- Integrate nanobot with local tools and automations: [OpenAI-Compatible API](./docs/openai-api.md) ยท [Python SDK](./docs/python-sdk.md)
- Run nanobot with Docker or as a Linux service: [Deployment](./docs/deployment.md)
## ๐ค Contribute & Roadmap
PRs welcome! The codebase is intentionally small and readable. ๐ค
### Contribution Flow
See [CONTRIBUTING.md](./CONTRIBUTING.md) for setup, review, and contribution guidelines.
**Roadmap** โ Pick an item and [open a PR](https://github.com/HKUDS/nanobot/pulls)!
- **Multi-modal** โ See and hear (images, voice, video)
- **Long-term memory** โ Never forget important context
- **Better reasoning** โ Multi-step planning and reflection
- **More integrations** โ Calendar and more
- **Self-improvement** โ Learn from feedback and mistakes
## Contact
This project was started by [Xubin Ren](https://github.com/re-bin) as a personal open-source project and continues to be maintained in an individual capacity using personal resources, with contributions from the open-source community. Feel free to contact [xubinrencs@gmail.com](mailto:xubinrencs@gmail.com) for questions, ideas, or collaboration.
### Contributors
## โญ Star History