Nanobot 🐈 — The 4,000-Line Python "Ultra-Lightweight OpenClaw"
> 一句话版本:港大数据科学实验室用纯 Python 写了个"迷你版 OpenClaw",核心只有 4,000-5,000 行代码,但保留了你认识的 OpenClaw 大部分功能(多平台聊天、MCP、记忆、技能、子 Agent)。42K ⭐,3 个月从零爆红。
来源: https://github.com/HKUDS/nanobot
作者: HKU Data Intelligence Lab(香港大学数据科学实验室)
版本: v0.1.5.post3(2026-04-29 发布)
许可: MIT
日期: 2026-05-13
评分: ⭐⭐⭐⭐ (4.0/5)
这是什么?
Nanobot 是一个超轻量级 Python AI Agent 框架,是 HKUDS 实验室对 OpenClaw 的"瘦身版"。
它明确说自己 "in the spirit of OpenClaw, Claude Code, and Codex",目标是:
- 核心代码极简(~4,000 行 agent loop),容易理解和修改
- 纯 Python,
pip install即用 - 保留 OpenClaw 的 90%+ 核心能力:多 IM 平台、MCP、记忆、技能、子 Agent、定时任务
- 适合学习 AI Agent 原理,也适合快速部署个人助手
根据社区讨论,Nanobot 是从 OpenClaw fork 出来、把 587K 行代码精简到 ~4,000 行(99.4% reduction)的产物。代码全部放在 nanobot/ 目录下,结构非常清晰。
技术数据(源码实测)
nanobot 代码库规模(纯 Python,共 307 个文件):
nanobot/agent/ ~5,206 行 ← 核心 Agent 循环(核心)
nanobot/channels/ ~14,145 行 ← 各 IM 平台适配器(最重)
nanobot/providers/ ~6,094 行 ← LLM 提供者适配
nanobot/cli/ ~3,055 行 ← 命令行交互
nanobot/utils/ ~2,611 行 ← 工具函数
其他模块 ~3,200 行 ← config/cron/session/skills/api/bus
────────────────────────
Python 代码总计 ~34,000 行(含测试~67K = 总计 101K)
核心 Agent 循环 (~5,200 行)
> 注:"4,000 行核心"的说法指的是纯 agent loop 本身(loop.py ~1,605 行 + runner.py ~1,208 行 + context/memory/skills/hooks),不包括通道、提供者等外围模块。完整项目含测试约 101K 行。
核心功能
| 功能 | 说明 |
|---|---|
| **MCP 原生支持** | 内置 MCP 工具调用、MCP-UI(在聊天中渲染 React 组件)、MCP SSE |
| **多 IM 平台** | Telegram、Discord、Slack、WhatsApp、Feishu(飞书)、WeChat、QQ、DingTalk、Matrix、Teams、Email |
| **WebUI** | 内置 Web 聊天界面,支持 i18n 多语言 |
| **多 LLM 支持** | OpenAI、Claude、Gemini、DeepSeek、Grok、Kimi、Ollama、vLLM、MiniMax、Azure OpenAI...(原生的 OpenAI + Anthropic SDK,去掉了 litellm) |
| **Memory(记忆)** | Token 级记忆,支持跨会话持久化("Dream" 记忆系统) |
| **Skills(技能)** | SKILL.md 技能文件系统,支持 ClawHub 技能市场 |
| **Sub-Agent** | 后台子 Agent,不阻塞主对话 |
| **Cron** | 自然语言定时任务("every morning at 8") |
| **Context Compaction** | 上下文自动压缩(类似 OpenClaw 的 lossless-claw) |
| **Web Search** | 多功能搜索引擎(Kagi、Olostep 等可配置) |
| **OpenAI 兼容 API** | SSE 流式传输,可作为其他工具的 LLM 后端 |
| **Setup Wizard** | 交互式安装向导 |
| **LaunchAgent** | macOS 自启动支持 |
| **Docker** | 一键容器部署 |
支持的命令
/help /status /history /restart
/skills /memory /cron /system
/think /resume /cancel
架构解析
nanobot/
├── agent/ ← 核心 Agent 循环
│ ├── loop.py Agent 主循环(1,605 行)
│ ├── runner.py Agent 运行器(1,208 行)
│ ├── context.py 上下文管理(205 行)
│ ├── memory.py 记忆系统
│ ├── skills.py 技能加载(242 行)
│ ├── hook.py 生命周期钩子(141 行)
│ ├── subagent.py 子 Agent
│ ├── autocompact.py 自动压缩
│ └── tools/ 内置工具
├── channels/ ← IM 平台适配器(最重模块)
│ ├── telegram.py Telegram(1,290 行)
│ ├── discord.py Discord
│ ├── feishu.py 飞书(1,875 行)
│ ├── weixin.py 微信(1,389 行)
│ ├── websocket.py WebSocket(1,602 行)
│ └── ... Slack/WhatsApp/QQ/Teams/Matrix/DingTalk/Email
├── providers/ ← LLM 提供者
│ ├── openai_compat_provider.py(1,244 行)
│ └── anthropic/gemini/deepseek/ollama/...
├── cli/ ← 命令行界面
├── api/ ← OpenAI 兼容 API
├── config/ ← 配置管理
├── cron/ ← 定时任务
├── session/ ← 会话管理
├── skills/ ← 内置技能
├── web/ ← WebUI
└── bus/ ← 事件总线
核心设计哲学:Agent 循环非常直观——消息进来 → LLM 决定调用什么工具 → 执行工具 → 返回结果 → LLM 继续。记忆和技能只作为上下文按需注入,不预先加载成重型编排框架。
与 OpenClaw 深度对比
共同点
- 定位相似:都是多 IM 平台的个人 AI 助手框架
- MCP 核心:都深度拥抱 MCP 生态(工具调用、MCP Server/Client)
- 技能系统:都用 SKILL.md 文件扩展能力
- 记忆系统:都支持跨会话持久记忆
- 上下文管理:都有自动压缩机制
- 多模型/多提供商:都支持多种 LLM
- 子 Agent:都支持后台子任务
差异点
| 对比维度 | Nanobot 🐈 | OpenClaw 🤖 |
|---|---|---|
| **语言** | Python 🐍 | TypeScript / Node.js |
| **核心代码量** | ~5,200 行(agent loop) | 大很多(完整生态) |
| **总代码量** | ~34K 行 Python + ~67K 行测试 | 约 430-587K 行(含生态) |
| **安装** | `pip install nanobot-ai` | 较复杂(Node 环境+编译) |
| **首次发布** | 2026-02-04(3 个月前) | 更早(成熟) |
| **GitHub 星标** | ~42K ⭐(爆发式增长) | ~42K+ ⭐ |
| **核心作者** | 港大实验室(学术背景) | OpenClaw 团队 |
| **LLM 提供商** | 原生 OpenAI + Anthropic SDK | 原生 + 丰富生态 |
| **MCP 支持** | 内置 + MCP-UI | 内置 + MCP Server/Client |
| **Lossless Context** | 自动压缩(类似) | Lossless-Claw(更成熟) |
| **Agent Skill 数量** | 少于 OpenClaw | 更多(ClawHub 市场) |
| **跨平台运行** | ✅ Win/Mac/Linux | ✅ Win/Mac/Linux |
| **Hot Reload** | ✅ `/reload` | ✅ 热重载系统 |
| **文档成熟度** | ✅ nanobot.wiki + 完善 | ✅ docs.openclaw.ai |
| **发布频率** | 几乎每天一个版本 | 稳定节奏 |
| **国内生态** | 飞书/微信/QQ/DingTalk | Telegram/QQ/Discord 主导 |
| **社区氛围** | 学术研究导向 | 产品运营导向 |
核心优势(各自)
Nanobot 的优势:
1. 极低入门门槛:Python + pip install,任何人都能 5 分钟跑起来
2. 容易理解:4,000-5,000 行核心代码可以通读
3. 纯 Python 生态:Python 社区的 NLP/ML 工具链无缝集成
4. 学术友好:适合做 AI Agent 教学、研究、实验
5. 中文生态很好:飞书、微信、QQ、钉钉支持完善
OpenClaw 的优势:
1. 生产就绪:更成熟的错误处理、安全机制、生产环境调优
2. Node.js 生态:前端/全栈开发者更熟悉,NPM 包丰富
3. Lossless-Claw:更成熟的上下文管理机制
4. Agent Skill 生态:更丰富的内置技能 + ClawHub 市场
5. ACP 协议:Agent Communication Protocol,更标准化的 Agent 间通信
6. 插件系统:更丰富的扩展机制
争议与社区声音
Nanobot 在 Reddit/HN 上引发了热烈讨论,核心争议点:
支持者说:
- "终于有个能看懂源码的 AI Agent 框架了"
- "pip install 就能用,OpenClaw 光装环境就劝退一堆人"
- "学术实验室就该做这种事——剥离商业复杂性,留下核心教育价值"
批评者说:
- "说是 4,000 行,但 channels + providers 加起来 20K+,根本不是 4K"
- "学术项目,离生产环境还有距离"
- "精简掉的东西(安全性、错误处理、审计日志)才是生产环境真正需要的"
- "抄了 OpenClaw 的架构,但没说清楚哪些是原创贡献"
客观来看:两者定位不同。Nanobot 是学术版"教学用"框架,OpenClaw 是"产品级"框架。Nanobot 的价值在于降低了 AI Agent 的学习门槛——"What I cannot create, I do not understand."
生态项目
- ClawWork(也是 HKUDS 的):基于 Nanobot 构建的"AI 打工人"——$15K 在 11 小时内赚到的经济型 Agent。Nanobot 的 ClawMode wrapper 可以让任何 Nanobot gateway 变成赚钱工具。
- LightRAG(HKUDS 的另一个明星项目):EMNLP 2025 论文,轻量级 RAG 框架。跟 Nanobot 天然互补。
评分
| 维度 | 评分 (1-10) | 说明 |
|---|---|---|
| 创新性 | 8 | OpenClaw 的精简是务实选择,不是创新,但重新实现了全栈 |
| 代码质量 | 7 | Python 写得干净,但代码量与声称有差距 |
| 实用性 | 7 | pip install 即用,但生产环境不如 OpenClaw 成熟 |
| 社区热度 | 9 | 42K ⭐ 3 个月,全行业瞩目 |
| 文档/生态 | 7 | wiki 完善,但生态不如 OpenClaw 丰富 |
| 与 Jay 的关联 | 8 | 直接竞争 OpenClaw,是了解 AI Agent 架构的绝佳学习材料 |
| **总分** | **4.0/5** | 不是 OpenClaw 的替代品,但它是理解和学习 AI Agent 最好的起点 |
我们是否要切到 Nanobot?
不推荐。原因:
1. 我们是 OpenClaw 的重度用户,现有的 Agent Skill、MCP 集成、Lossless-Claw 等工作流都已跑顺
2. Nanobot 的核心优势(轻量、易学)对我们的日常使用不是痛点
3. 生产环境稳定性、安全性、成熟度 OpenClaw 明显更好
但值得学习:如果你对 AI Agent 内部原理感兴趣,花一个下午读 Nanobot 的 loop.py 和 runner.py(~2,800 行),比啃 OpenClaw 的几十万行代码快得多。