nanobot:轻量级 AI Agent 框架搭建与搜索引擎优化
前言
AI Agent 领域近期出现了一个名为 OpenClaw 的项目,它是一个功能强大的 AI 助手框架。但 clone 下来后发现代码量高达 43 万行,对于想快速上手或做二次开发的个人开发者来说过于沉重。
相比之下,来自香港大学数据科学实验室(HKUDS)的 nanobot 是一个轻量版方案,设计理念是用最少的代码实现 AI Agent 的核心能力。
nanobot 是一款基于 Python 的轻量级 AI Agent 框架,代码量较 OpenClaw 减少 99%,适合个人开发者快速构建 AI 助手。框架支持多轮对话、网页搜索及多平台接入(QQ、微信等)。通过策略模式重构搜索模块,可灵活切换 Tavily、Brave 或 DuckDuckGo 引擎,解决默认 Brave API 注册繁琐问题。提供从环境准备到启动运行的详细步骤,具备部署简单、易于二次开发特点,适用于学习 AI Agent 原理及快速原型验证场景。
AI Agent 领域近期出现了一个名为 OpenClaw 的项目,它是一个功能强大的 AI 助手框架。但 clone 下来后发现代码量高达 43 万行,对于想快速上手或做二次开发的个人开发者来说过于沉重。
相比之下,来自香港大学数据科学实验室(HKUDS)的 nanobot 是一个轻量版方案,设计理念是用最少的代码实现 AI Agent 的核心能力。
| 项目 | 代码行数 | 核心功能 |
|---|---|---|
| OpenClaw | 430,000+ | 全功能 |
| nanobot | ~4,000 | 核心功能 |
瘦身比例约 99%,但保留了实用功能:
nanobot 需要 Python 3.11+,如果系统版本较低需先升级:
# CentOS/RHEL
dnf install python3.11 python3.11-pip
# Ubuntu/Debian
apt install python3.11 python3.11-pip
git clone https://github.com/HKUDS/nanobot.git
cd nanobot
pip3.11 install -e .
python3.11 -m nanobot onboard
这会在 ~/.nanobot/ 目录下生成配置文件。
编辑 ~/.nanobot/config.json,推荐使用 Gemini(免费额度够用):
{
"agents": {
"defaults": {
"model": "gemini/gemini-2.5-flash"
}
},
"providers": {
"gemini": {
"apiKey": "你的 Gemini API Key"
}
}
}
💡 获取 Gemini API Key:https://aistudio.google.com/apikey
AppID 和 Secret{
"channels": {
"qq": {
"enabled": true,
"appId": "你的 AppID",
"secret": "你的 Secret"
}
}
}
python3.11 -m nanobot gateway
看到 机器人「xxx」启动成功! 即表示就绪。
默认情况下,nanobot 使用 Brave Search API 作为搜索后端,这需要注册并获取 API Key,流程较为繁琐。
为了解决这一问题,可以通过重构搜索模块支持其他搜索引擎,如完全免费的 DuckDuckGo。
采用 策略模式,让搜索后端可插拔:
class SearchBackend(ABC):
@abstractmethod
async def search(self, query: str, max_results: int) -> list[dict]:
pass
class DuckDuckGoBackend(SearchBackend):
"""免费搜索,无需 API Key"""
async def search(self, query: str, max_results: int) -> list[dict]:
# 解析 DuckDuckGo HTML 页面获取结果
url = f"https://html.duckduckgo.com/html/?q={quote(query)}"
# ... 实现细节
只需在配置文件中指定引擎即可:
{
"tools": {
"web": {
"search": {
"engine": "tavily",
"apiKey": "你的 API Key"
}
}
}
}
三种引擎对比:
| 引擎 | 需要 API Key | 搜索质量 | 推荐场景 |
|---|---|---|---|
| Tavily | ✅ (免费 1000 次/月) | ⭐⭐⭐⭐⭐ | AI 应用首选 |
| Brave | ✅ | ⭐⭐⭐⭐ | 隐私优先 |
| DuckDuckGo | ❌ | ⭐⭐⭐ | 零成本体验 |
该特性已提交 PR 至官方仓库:https://github.com/HKUDS/nanobot/pull/507
nanobot 是一个非常适合个人开发者的 AI Agent 框架:
优点:
适合场景:
不适合场景:

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online
基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online
解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online
将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online