🚀 引言:Agent 时代的“断舍离”
2026 年伊始,AI Agent 领域最火的话题莫过于 OpenClaw (Clawdbot) 。它强大的能力让人惊叹,但其 40 万行代码的体量和复杂的依赖环境,让不少想深入研究源码或进行二次开发的个人开发者望而却步。
就在大家对着复杂的架构图头秃时,香港大学数据智能实验室(HKUDS) 开源了 Nanobot。
口号很简单: "The Ultra-Lightweight Clawdbot"(超轻量级 Clawdbot) 。
它用仅约 1% 的代码量(约 4000 行 Python),实现了 OpenClaw 90% 的核心功能。如果你想学习如何从零构建一个能够 写代码、操作文件、联网搜索 且能接入 IM 软件 的智能体,Nanobot 绝对是目前最佳的教科书级项目。
💡 什么是 Nanobot?
Nanobot 是一个基于 Python 的个人 AI 助手框架。它的设计哲学非常明确:极简主义与高可扩展性。
- GitHub 地址:
HKUDS/nanobot - 核心语言: Python
- 安装方式:
pip install nanobot-ai - 适用场景: 个人助理、代码解释器、自动化任务执行、Agent 教学研究。
与市面上动辄封装了无数层的 LangChain 或复杂的微服务架构不同,Nanobot 回归了 Agent 的本质——一个优雅的 Event Loop(事件循环) 。
核心亮点
-
轻量级架构:核心逻辑极其精简,没有复杂的类继承地狱,不仅运行速度快,而且非常容易读懂和魔改。
-
多模型支持:原生支持 OpenAI、Claude、DeepSeek(国内开发者狂喜)、以及通过 vLLM 进行本地模型部署。
-
多端接入:内置了 Telegram、飞书 (Feishu/Lark) 、微信 等 IM 渠道的支持,配置一下 Token 就能在手机上跟你的 Agent 聊天。
-
全能工具箱:
- 🐍 Code Interpreter:能写 Python 代码并执行(沙箱环境)。
- 📂 File System:能读写本地文件。
- 🌐 Web Search:集成 Google/Bing 搜索能力。
🛠️ 架构解析:它为什么能这么轻?
Nanobot 的源码结构非常适合初学者阅读。剥开外壳,它的核心逻辑其实就是经典的 ReAct (Reason + Act) 模式的简化版。
1. The Agent Loop (主循环)
不同于某些框架复杂的调度器,Nanobot 的主循环逻辑清晰得像伪代码:
Python
# 伪代码逻辑展示
while True:
# 1. 观察 (Observe):获取用户输入或工具执行结果
user_input = get_input()
# 2. 思考 (Think):将上下文投喂给 LLM,决定下一步
response = llm.chat(history)
# 3. 行动 (Act):如果 LLM 决定调用工具
if response.has_tool_call():
result = execute_tool(response.tool_name, response.args)
history.append(result)
else:
# 4. 回复 (Response):直接回答用户
print(response.content)
break
这种设计让开发者可以清楚地看到每一次“思考”和“行动”是如何发生的,极其利于调试。
2. 工具注册机制
Nanobot 使用简单的装饰器模式来注册工具。你想给 Agent 加一个“查询股票”的功能?只需要写一个 Python 函数并加上装饰器,Agent 就能立即学会使用它。
💻 快速上手:5分钟部署你的专属助理
第一步:安装
建议使用 Python 3.11+ 环境。
Bash
# 使用 pip 安装
pip install nanobot-ai
# 或者如果你使用 uv (推荐,速度更快)
uv tool install nanobot-ai
第二步:初始化配置
Nanobot 会在用户目录下生成配置文件。
Bash
nanobot init
这将创建 ~/.nanobot/config.json。你需要在此文件中填入你的 API Key(例如 DeepSeek 或 OpenAI 的 Key)。
第三步:配置模型(以 DeepSeek 为例)
编辑配置文件,将 provider 设置为对应的模型商:
JSON
{
"llm": {
"provider": "deepseek",
"api_key": "sk-xxxxxx",
"model": "deepseek-coder"
}
}
第四步:启动!
Bash
nanobot start
现在,你就可以在终端里和它对话了。你可以试着让它:“帮我写一个贪吃蛇游戏并保存为 snake.py”,你会发现它真的会去写代码、创建文件,甚至如果你配置了运行权限,它还能帮你运行测试。
🆚 Nanobot vs OpenClaw:怎么选?
很多同学会问,既然有了 OpenClaw,为什么还要 Nanobot?
| 特性 | OpenClaw (Clawdbot) | Nanobot (HKUDS) |
|---|---|---|
| 代码量 | ~400,000 行 | ~4,000 行 |
| 部署难度 | 高 (依赖复杂,Docker 容器编排) | 极低 (pip install 即可) |
| 定位 | 企业级、生产环境、全功能 | 研究型、个人开发者、轻量级 |
| 可扩展性 | 插件体系复杂 | 修改源码极其简单 |
| 资源占用 | 较高 | 极低 |
结论:
- 如果你需要一个企业级、高并发、功能大而全的解决方案,选 OpenClaw。
- 如果你是个人开发者,想学习 Agent 原理,或者想快速搭建一个跑在自己电脑/服务器上的私人助理,Nanobot 是不二之选。