Nanobot 项目介绍
Nanobot 项目介绍
🐈 nanobot 是一个开源的、超轻量级的 AI Agent,灵感来自 OpenClaw、Claude Code 和 Codex。它保持了核心 Agent 循环的小巧可读,同时支持聊天频道、记忆、MCP 和实际部署路径。
项目定位
一个以 Agent 循环为核心的轻量级 AI Agent Harness,让你从本地安装到长期运行的个人 Agent,开销最小化。
项目由 Xubin Ren 发起,由香港大学数据系统研究组(HKUDS)维护。
核心能力
- 超轻量 Agent 循环:稳定的长时间运行行为,核心代码小巧可读
- 多聊天频道:支持 Telegram、Discord、Slack、飞书、微信、WhatsApp、Email、Matrix 等 18 个平台
- 多模型适配:30+ LLM 提供商,包括 Anthropic、OpenAI、DeepSeek、Ollama 等,支持声明式路由与自动回退
- 记忆系统:Dream 两阶段记忆巩固,Git 版本化长期记忆
- MCP 集成:支持多个 MCP 服务器的连接与工具桥接
- OpenAI 兼容 API:可复用已有的 OpenAI 客户端代码
- WebUI:Vite + React 构建的聊天界面,打包进 Python wheel
- 技能系统:内置定时任务、GitHub 集成、图像生成、天气查询等技能
技术栈
| 层级 | 技术 |
|---|---|
| 语言 | Python 3.11+,全异步(asyncio) |
| 配置 | Pydantic + pydantic-settings,camelCase/snakeCase 双向兼容 |
| LLM 客户端 | 原生 openai + anthropic SDK |
| WebUI | Vite + React,通过 WebSocket 与 Gateway 通信 |
| 构建 | Hatch(pyproject.toml),wheel 打包 WebUI |
| 部署 | Docker、systemd、macOS LaunchAgent |
架构概览
快速体验
# 从源码安装git clone https://github.com/HKUDS/nanobot.gitcd nanobotpip install -e .
# 初始化配置向导nanobot onboard
# 启动 Agentnanobot agent或通过 WebUI:
# 在配置中启用 WebSocket{"channels": {"websocket": {"enabled": true}}}
# 启动 Gatewaynanobot gateway# 浏览器访问 http://127.0.0.1:8765教程导读
本教程分为两条线索:
AI 应用通用知识
从 Nanobot 源码出发,抽象出 AI Agent 的通用设计模式:
| 章节 | 内容 |
|---|---|
| 01 | 事件驱动 Agent 状态机 — 8 状态 Turn 循环 |
| 02 | 工具调用协议与并发执行 |
| 03 | Dream 两阶段记忆巩固 |
| 04 | 声明式多模型路由与回退 |
| 05 | 上下文治理管线 |
| 06 | 流式传输与进度事件 |
| 07 | MCP 集成与工具桥接 |
| 08 | 持续目标跨轮次保持 |
编程核心技术
聚焦 Nanobot 的工程实践与架构决策:
| 章节 | 内容 |
|---|---|
| 01 | 插件化架构与自动发现 |
| 02 | Pydantic 配置 Schema 设计 |
| 03 | WebSocket 多路复用与 WebUI |
| 04 | Hatch 构建与 Wheel 打包 |
| 05 | 统一消息总线与 18 个聊天频道 |
| 06 | OpenAI 兼容 API 与 Python SDK |
| 07 | 测试策略与 CI/CD |
| 08 | 安全沙箱与 SSRF 防护 |