一、NanoBot是什么
NanoBot是由香港大学数据科学实验室(HKUDS)开源的超轻量级个人AI智能体框架,以“极简主义”为核心设计理念,仅用约4000行Python代码实现了OpenClaw(Clawdbot)的核心Agent能力,相比原项目代码量精简99%,是兼顾轻量化、高性能与易扩展性的AI助手解决方案。
该项目打破了AI智能体框架“代码量越大功能越强”的固有认知,在保留工具调用、持久记忆、多渠道交互、定时任务等核心能力的基础上,通过架构重构实现极致精简,既适合普通用户快速搭建个人AI助手,也为科研人员、开发者提供了轻量化的Agent学习与二次开发载体,上线24小时内斩获1300+ GitHub Star,成为2026年开源社区备受关注的AI Agent项目。
二、功能特色
NanoBot以“轻、简、全、活”为核心特色,在极小体量下实现了完整的AI智能体能力,具体功能亮点如下:
1. 极致轻量化,低资源高响应
- 核心代码仅约4000行,可通过
bash core_agent_lines.sh实时验证,无冗余依赖,启动速度仅需3秒,内存占用低于100MB,远优于同类框架; - 适配低配置设备运行,无需高性能服务器,个人电脑、云服务器轻量实例均可稳定部署,迭代效率大幅提升。
2. 核心能力全覆盖,无功能阉割
- 支持工具调用:集成文件操作、Shell执行、网页搜索、数据抓取等基础工具,可完成文件读写、代码运行、信息检索等任务;
- 具备持久记忆:采用分层记忆机制,短期记忆记录对话历史,长期记忆将关键信息持久化至本地文件,跨会话保留上下文;
- 实现多渠道交互:原生支持Telegram、WhatsApp、飞书等主流通讯平台,可通过手机随时随地与AI助手交互;
- 支持定时任务:内置Cron调度系统,支持自然语言设置定时提醒、自动执行任务,实现7×24小时自动化工作流。
3. 易用性拉满,一键部署上手
- 提供PyPI、源码、uv三种安装方式,执行2-3条命令即可完成部署;
- 交互式初始化引导(
nanobot onboard),自动生成配置文件,无需手动编写复杂配置; - 支持CLI直接交互,输入指令即可启动对话,新手无需学习复杂操作即可使用。
4. 扩展性极强,适配多元需求
- 模块化架构设计,支持自定义技能扩展,通过编写简单Python函数即可新增功能(如天气查询、GitHub操作);
- 兼容多类大模型提供商,支持OpenRouter、Anthropic Claude、DeepSeek、vLLM本地模型等,可灵活切换模型满足不同场景;
- 支持子代理机制,可将复杂任务拆解为子任务分配给子代理执行,实现多代理协同工作。
5. 科研友好,易读易改
- 代码结构清晰、注释完善,无复杂封装,开发者可快速通读核心逻辑,理解Agent运行原理;
- 无技术债务积累,便于科研场景下的定制化修改与实验,是学习AI智能体架构的优质教材。
核心功能对比表
| 功能维度 | NanoBot | 传统AI Agent框架(如OpenClaw) |
|---|---|---|
| 代码行数 | 约4000行 | 50000+行 |
| 启动速度 | 约3秒 | 约30秒 |
| 内存占用 | <100MB | >1GB |
| 部署难度 | 一键部署,2分钟上手 | 复杂配置,需专业知识 |
| 核心能力 | 工具调用、记忆、多渠道、定时任务 | 全功能但冗余较多 |
| 学习曲线 | 平缓,新手友好 | 陡峭,门槛较高 |

三、技术细节
NanoBot采用ReAct(Reasoning + Acting) 核心架构,通过模块化设计拆解核心逻辑,每个模块职责单一、相互解耦,既保证了功能完整性,又实现了代码极简性,整体技术架构如下:
1. 整体架构分层
NanoBot架构分为五层,从交互接入到核心决策层层递进,数据流转清晰:
- 渠道接入层:对接Telegram、WhatsApp、飞书、CLI等交互入口,统一消息格式;
- 消息总线层:负责消息路由与分发,解耦渠道与核心逻辑,支持异步处理;
- 智能体核心层:包含Agent决策循环、上下文构建、记忆管理、技能加载四大核心模块;
- 工具执行层:管理内置工具与自定义技能,执行LLM决策的具体操作;
- 模型适配层:对接各类大模型API与本地模型,统一推理接口。
2. 核心模块解析
(1)Agent Loop(决策循环)
作为系统核心,实现“感知-思考-行动”闭环,简化版逻辑如下:
该循环持续迭代,直到完成用户任务,是AI智能体自主执行的核心逻辑。
(2)上下文构建器(ContextBuilder)
负责将系统提示、记忆、对话历史、可用工具组装为LLM可理解的Prompt,具备两大优化:
- 动态截断:当上下文长度超出模型限制时,自动丢弃最旧对话,保留核心记忆与系统提示;
- 相关性过滤:基于关键词匹配筛选与当前查询相关的记忆,减少无效信息干扰。
(3)记忆系统(MemoryStore)
采用三层记忆机制,兼顾上下文连贯性与存储效率:
- 工作记忆:当前对话上下文,随对话实时更新;
- 短期记忆:存储最近N轮对话摘要,避免上下文丢失;
- 长期记忆:将用户关键信息(如偏好、习惯)持久化至
MEMORY.md文件,重启后仍可检索调用。
(4)工具与技能系统
- 工具注册表:内置文件操作、Shell执行、网页搜索、子代理生成等基础工具,每个工具定义JSON Schema,LLM通过文档字符串理解调用方式;
- 技能加载器:技能为轻量化功能模块(如GitHub操作、天气查询),支持动态加载,新增技能仅需编写简单函数并注册,无需修改核心代码。
(5)多模型适配
通过统一接口封装不同模型提供商的API,支持:
- 云端模型:OpenRouter(聚合Anthropic、Mistral等)、DeepSeek、通义千问;
- 本地模型:vLLM部署的Llama 3、Qwen等开源模型,保障数据隐私。
3. 安全设计
为避免自主执行带来的安全风险,NanoBot内置三重安全机制:
- 命令白名单:仅允许git、python、pip等安全命令,禁止危险操作;
- 路径限制:禁止访问/etc、/root等系统敏感目录,仅允许操作工作区文件;
- 超时控制:工具执行设置超时时间,防止长时间挂起占用资源。
四、应用场景
NanoBot的轻量化与多功能性,使其适配个人、科研、小型团队等多元场景,核心应用场景如下:
1. 个人智能助手
- 日程管理:通过自然语言设置定时提醒(如“每周一9点提醒写周报”),自动推送通知;
- 信息检索:实时搜索财经、科技、天气等信息,生成精简简报;
- 知识管理:记录个人笔记、偏好,跨会话记忆用户习惯,提供个性化回复;
- 日常辅助:代写文案、计算数据、翻译文本,提升日常效率。
2. 全栈开发辅助
- 代码生成:根据需求生成Python、Java、前端等代码,自动创建项目结构;
- 项目管理:执行Shell命令、部署服务、调试代码,辅助完成开发全流程;
- 文档编写:自动生成接口文档、项目说明,减少重复工作。
3. 金融市场分析
- 7×24小时监控:定时检索股票、加密货币行情,分析市场趋势;
- 报告生成:自动整合财经新闻与数据,生成可视化分析简报,推送至通讯工具;
- 风险提醒:设置行情阈值,触发时自动发送预警通知。
4. 科研与教学
- Agent架构学习:极简代码便于理解智能体核心逻辑,是高校AI课程的实践案例;
- 实验验证:快速搭建轻量化Agent原型,测试新的推理逻辑、工具调用策略;
- 数据处理:辅助科研数据检索、整理、分析,提升研究效率。
5. 小型团队协作
- 任务分配:通过子代理拆分团队任务,自动跟进执行进度;
- 信息同步:定时推送团队日报、项目动态,统一信息渠道;
- 工具集成:对接团队常用工具(如GitHub、飞书),实现协作流程自动化。
五、使用方法
NanoBot提供三种安装方式,支持本地部署与云部署,新手可按以下步骤快速上手:
1. 环境准备
- 操作系统:Windows、macOS、Linux均可;
- Python版本:≥3.9;
- 依赖工具:pip(默认自带)、uv(可选,提升安装速度)。
2. 三种安装方式
方式一:PyPI安装(推荐,稳定版)
方式二:源码安装(开发者,尝鲜最新功能)
方式三:uv安装(极速安装)
3. 核心配置
初始化后,配置文件位于~/.nanobot/config.json,需补充以下关键信息:
4. 启动与交互
(1)CLI本地交互
(2)多渠道启动
(3)Docker部署(生产环境)
5. 自定义技能扩展
- 在
~/.nanobot/skills目录下创建Python文件(如weather.py); - 编写功能函数并添加
@skill装饰器:
- 重启NanoBot,即可自动加载新技能,直接对话调用。
六、常见问题解答
Q1:NanoBot支持本地大模型吗?如何配置?
A1:支持。可通过vLLM部署本地模型(如Llama 3、Qwen),配置时在config.json中添加vLLM提供商信息,指定本地API地址即可,无需联网即可运行,保障数据隐私。
Q2:没有API密钥还能使用NanoBot吗?
A2:可以。可部署本地开源大模型(通过vLLM),无需调用云端API,仅需配置本地模型接口即可使用基础功能,适合隐私敏感场景。
Q3:NanoBot的长期记忆存储在哪里?会泄露隐私吗?
A3:长期记忆存储在本地~/.nanobot/workspace/memory目录下的Markdown文件中,所有数据均保存在用户本地设备,不会上传至第三方服务器,隐私安全性高。
Q4:如何添加自定义工具或技能?
A4:两种方式:① 编写简单Python函数,添加@skill装饰器后放入技能目录,自动加载;② 修改工具注册表,新增工具定义并配置JSON Schema,LLM即可识别调用,无需改动核心代码。
Q5:NanoBot支持Windows系统吗?安装后无法启动怎么办?
A5:支持Windows、macOS、Linux全平台。无法启动可检查:① Python版本是否≥3.9;② 配置文件config.json格式是否正确;③ 依赖是否完整,可重新执行pip install -e .修复。
Q6:定时任务如何设置?支持自然语言吗?
A6:支持自然语言设置,直接对话输入指令即可,如“每天早上8点给我推送今日新闻”,系统会自动转换为Cron表达式并执行,可通过nanobot task list查看所有定时任务。
Q7:NanoBot与ChatGPT、Claude有什么区别?
A7:ChatGPT/Claude是云端AI助手,功能固定且数据需上传;NanoBot是本地部署的智能体框架,可自定义功能、对接多模型、自主执行工具操作,数据本地化,更灵活且隐私性更强。
Q8:项目停止维护后,还能继续使用吗?
A8:可以。NanoBot核心功能已完善,本地部署后不依赖官方服务,即使停止维护,仍可正常使用,且代码开源可自行修改适配。
七、NanoBot的项目地址
- GitHub仓库:https://github.com/HKUDS/nanobot
- 官方文档:https://hkuds.github.io/nanobot/
- PyPI包地址:https://pypi.org/project/nanobot-ai/

