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

文档: https://nanobot.wiki

作者: 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",目标是:

根据社区讨论,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 深度对比

共同点

差异点

对比维度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/DingTalkTelegram/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 上引发了热烈讨论,核心争议点:

支持者说

批评者说

客观来看:两者定位不同。Nanobot 是学术版"教学用"框架,OpenClaw 是"产品级"框架。Nanobot 的价值在于降低了 AI Agent 的学习门槛——"What I cannot create, I do not understand."

生态项目

评分

维度评分 (1-10)说明
创新性8OpenClaw 的精简是务实选择,不是创新,但重新实现了全栈
代码质量7Python 写得干净,但代码量与声称有差距
实用性7pip install 即用,但生产环境不如 OpenClaw 成熟
社区热度942K ⭐ 3 个月,全行业瞩目
文档/生态7wiki 完善,但生态不如 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.pyrunner.py(~2,800 行),比啃 OpenClaw 的几十万行代码快得多。