Nanobot:超轻量级AI助手框架使用指南Nanobot是由香港大学数据智能实验室开发的开源AI助手框架,仅约4000行代码,是OpenClaw代码量的1%,但保留了核心功能,适合普通用户和研究者快速部署个人AI助手。Nanobot与OpenClaw对比代码量对比:Nanobot约4000行,OpenClaw约43万行启动速度:Nanobot只需3秒左右,OpenClaw需要30秒内存占用:Nanobot低于100MB,OpenClaw约1GB架构设计:Nanobot采用微内核模块化架构,OpenClaw是单体架构部署难度:Nanobot非常简单,OpenClaw相对复杂适用人群:Nanobot适合普通用户和研究者,OpenClaw更适合高级开发者快速部署指南(5分钟搞定)第一步:安装方式A:pip直接安装(最简单)pip install nanobot-ai方式B:使用uv安装(更快)uv tool install nanobot-ai方式C:源码安装(想二次开发选这个)git clone https://github.com/HKUDS/nanobot.git
cd nanobot
pip install -e .第二步:初始化配置运行初始化命令,创建配置文件:nanobot onboard这会在你的用户目录下创建 ~/.nanobot/ 文件夹,包含配置文件和工作目录。第三步:配置API密钥编辑配置文件 ~/.nanobot/config.json:{
"providers": {
"openrouter": {
"apiKey": "sk-or-v1-xxx"
}
},
"agents": {
"defaults": {
"model": "anthropic/claude-opus-4-5"
}
},
"webSearch": {
"apiKey": "BSA-xxx"
}
}配置说明:OpenRouter:推荐,一个API key可调用Claude、GPT、Gemini等多个模型免费模型:可用 openrouter/free(OpenRouter提供的免费模型)Brave Search:用于联网搜索功能(可选)获取API Key:OpenRouter: https://openrouter.aiBrave Search: https://brave.com/search/api第四步:开始使用基础对话(命令行模式):nanobot agent -m "2+2是多少?"进入交互模式:nanobot连接聊天平台Telegram(推荐,最简单)创建机器人在Telegram搜索 @BotFather发送 /newbot,按提示设置名称复制获得的Token(格式:123456789:ABCdef...)配置 ~/.nanobot/config.json:{
"channels": {
"telegram": {
"enabled": true,
"token": "YOUR_BOT_TOKEN",
"allowFrom": ["YOUR_USER_ID"]
}
}
}获取你的User ID搜索 @userinfobot,它会告诉你自己的ID启动网关:nanobot gateway现在你可以在Telegram里直接和AI助手聊天了!WhatsApp(需要Node.js)前置要求:Node.js ≥ 18登录配对nanobot channels login
扫描QR码(在WhatsApp → 设置 → 关联设备中扫描)配置白名单:{
"channels": {
"whatsapp": {
"enabled": true,
"allowFrom": ["+8613800138000"]
}
}
}运行(需要两个终端):# 终端1:保持登录状态
nanobot channels login
终端2:启动网关
nanobot gateway微信支持情况目前Nanobot官方主要支持Telegram和WhatsApp。微信集成相对复杂,因为微信对Bot限制较多。如果你需要微信接入,可能需要:使用第三方微信Bot框架(如itchat、wechaty)作为桥接或等待社区贡献微信适配器核心功能详解1.持久化记忆系统Nanobot的记忆分为两层:短期记忆(每日笔记):自动保存当天的对话记录存储在 ~/.nanobot/notes/2026-02-05.md长期记忆:主动保存重要信息通过关键词检索召回存储在 ~/.nanobot/memory/ 目录使用示例:用户:记住我的邮箱是 chen@example.com
AI:已保存。
用户:我邮箱是什么?
AI:你的邮箱是 chen@example.com2.定时任务(Cron)配置 ~/.nanobot/config.json:{
"agents": {
"researcher": {
"system_prompt": "你是研究助手...",
"tools": ["web_search", "web_fetch"],
"schedule": "0 */4 * * *"
}
}
}这会让AI每4小时自动执行一次任务(比如市场分析、新闻摘要)。3.技能系统(Skills)内置技能包括:web_search:联网搜索(需Brave API)github:管理GitHub仓库weather:天气查询tmux:终端会话管理自定义技能:在 ~/.nanobot/skills/ 目录下创建Python文件即可扩展功能。4.子代理(Sub-agent)复杂任务可以分解给多个专业代理:@tool
async def spawn(task: str, context: str) -> str:
"""生成子代理来执行任务"""
sub_agent = SubAgent(
system_prompt=f"你是专业代理。{context}",
tools=self.tools.get_subset_for_task(task)
)
return await sub_agent.execute(task)Docker部署(推荐长期运行)# 构建镜像
docker build -t nanobot .
初始化配置(只需一次)
docker run -v ~/.nanobot:/root/.nanobot --rm nanobot onboard
编辑宿主机上的配置文件
vim ~/.nanobot/config.json
运行网关(Telegram/WhatsApp)
docker run -v ~/.nanobot:/root/.nanobot -p 18790:18790 nanobot gateway
或执行单次命令
docker run -v ~/.nanobot:/root/.nanobot --rm nanobot agent -m "Hello"实用场景示例场景1:7×24小时市场分析助手# nanobot.yaml
agents:
market_analyst:
system_prompt: "你是金融分析师,每日分析美股走势..."
tools: [web_search, web_fetch]
schedule: "0 9 * * *" # 每天早上9点AI会自动搜索市场信息,分析后发送到你的Telegram。场景2:个人知识库随时通过Telegram语音/文字记录想法AI自动转录(支持Groq Whisper)并分类保存随时提问"我上周关于AI的想法是什么?"场景3:开发助手nanobot agent -m "帮我写个Python脚本,批量重命名当前目录下的图片文件"注意事项安全性:使用 allowFrom 白名单限制访问,防止他人使用你的BotAPI费用:OpenRouter按量计费,但可用免费模型;本地部署需vLLM支持微信限制:个人微信Bot存在封号风险,建议先用Telegram测试文档:项目较新,高级功能可能需要看源码相关资源GitHub仓库:https://github.com/HKUDS/nanobotOpenRouter(推荐API聚合):https://openrouter.aiBrave Search API:https://brave.com/search/apiNanobot的核心优势就是极简——你可以在1小时内读完所有代码,理解它的工作原理,并根据自己的需求修改。如果你只是想要一个"能用的AI助手"而不是"全能的自动化平台",这绝对是比OpenClaw更适合的选择。