跳转到内容

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
WebUIVite + React,通过 WebSocket 与 Gateway 通信
构建Hatch(pyproject.toml),wheel 打包 WebUI
部署Docker、systemd、macOS LaunchAgent

架构概览

快速体验

Terminal window
# 从源码安装
git clone https://github.com/HKUDS/nanobot.git
cd nanobot
pip install -e .
# 初始化配置向导
nanobot onboard
# 启动 Agent
nanobot agent

或通过 WebUI:

~/.nanobot/config.json
# 在配置中启用 WebSocket
{"channels": {"websocket": {"enabled": true}}}
# 启动 Gateway
nanobot gateway
# 浏览器访问 http://127.0.0.1:8765

教程导读

本教程分为两条线索:

AI 应用通用知识

从 Nanobot 源码出发,抽象出 AI Agent 的通用设计模式:

章节内容
01事件驱动 Agent 状态机 — 8 状态 Turn 循环
02工具调用协议与并发执行
03Dream 两阶段记忆巩固
04声明式多模型路由与回退
05上下文治理管线
06流式传输与进度事件
07MCP 集成与工具桥接
08持续目标跨轮次保持

编程核心技术

聚焦 Nanobot 的工程实践与架构决策:

章节内容
01插件化架构与自动发现
02Pydantic 配置 Schema 设计
03WebSocket 多路复用与 WebUI
04Hatch 构建与 Wheel 打包
05统一消息总线与 18 个聊天频道
06OpenAI 兼容 API 与 Python SDK
07测试策略与 CI/CD
08安全沙箱与 SSRF 防护