Nanobot官网,香港大学推出的开源超轻量级个人AI桌面助理
简介
Nanobot是由香港大学数据智能实验室(HKUDS)推出的开源超轻量级个人AI助理框架。该项目在2026年初震撼发布,核心代码仅约4000行,相比于同类复杂系统缩减了99%的体积,却完整保留了智能体最核心的逻辑。Nanobot主打“少即是多”的哲学,旨在为开发者提供一个透明、可控且易于二次开发的底层架构。其功能涵盖了自动化的网页搜索、本地文件操作、代码执行以及长效记忆机制。用户可以轻松接入OpenAI、Anthropic或本地Llama模型,通过极简的配置实现高效的任务处理。无论是作为科研基准还是个人效率工具,Nanobot都以其闪电般的启动速度和极低的资源占用,
Nanobot官网: https://github.com/HKUDS/nanobot

Nanobot:超轻量级AI智能体框架的极简革命
Nanobot是香港大学数据科学实验室开源的超轻量级个人AI助手框架,核心特点是用仅约4000行代码实现了完整的AI Agent功能,代码量比同类项目Clawdbot的43万行减少了99%。这款产品灵感来自OpenClaw和Clawdbot,但通过极致的架构简化实现了更快的响应速度、更透明的代码逻辑和更低的学习门槛。Nanobot支持OpenAI、Claude、Gemini、通义千问等多种大语言模型,可通过Telegram、WhatsApp、Discord等即时通讯平台使用,也提供CLI命令行和Web界面交互。系统具备文件操作、网络搜索、Shell命令执行、子代理管理等丰富的工具能力,支持定时任务和心跳唤醒机制,内置记忆系统可实现长期上下文保持。作为研究友好型开源项目,Nanobot代码结构清晰,模块化设计使其易于理解和扩展,非常适合AI研究人员、开发者和希望深入了解Agent技术的学习者。
主要功能
多模型统一接入
Nanobot基于LiteLLM实现了对多种AI模型供应商的统一接入,支持OpenRouter、Anthropic Claude、OpenAI GPT、Google Gemini、vLLM、Groq等主流服务。用户只需在配置文件中填入API密钥,就能灵活切换不同的模型。这种架构让用户完全掌控成本和模型选择,可以根据任务复杂度、响应速度要求和预算限制选择最合适的模型。例如简单的对话任务可以使用成本更低的模型,复杂的代码生成任务则调用性能更强的模型。

全通道消息集成
系统通过统一的消息总线架构实现了多通道接入能力。支持Telegram机器人集成,可以处理文本消息和语音消息,语音通过Groq Whisper自动转录为文字。WhatsApp集成通过Node.js桥接实现,支持消息收发和多媒体内容。CLI命令行模式提供单条消息和交互式两种使用方式,适合脚本调用和持续对话。所有通道共享同一个AI核心,消息通过MessageBus异步队列进行统一路由和处理,确保跨平台的一致体验。
丰富的工具系统
Nanobot内置了完整的工具注册表,提供多类实用工具。文件系统工具包括ReadFileTool读取文件内容、WriteFileTool写入文件、EditFileTool编辑文件和ListDirTool列出目录,支持AI直接操作本地文件。ExecTool可以执行Shell命令,实现系统级自动化操作。WebSearchTool使用Brave Search进行网络搜索,WebFetchTool获取网页内容并提取主要信息。MessageTool可以向聊天通道发送消息。所有工具都通过标准化接口注册,AI模型可以根据任务需求自主选择和组合使用。
技能扩展机制
技能系统采用指导文档加工具执行的双层架构。每个技能包含一个SKILL.md文件,以Markdown格式描述如何使用特定工具完成任务。AI会先阅读技能文档理解执行方法,然后调用相应工具完成操作。内置技能包括weather获取天气信息、github进行仓库操作、summarize总结长文本、tmux管理会话、skill-creator帮助创建自定义技能。技能分为始终加载和可用两类,始终加载的技能完整内容包含在系统提示中,可用技能只显示摘要,需要时通过read_file工具读取详细内容,这种设计优化了上下文使用效率。
子代理并行处理
SpawnTool工具允许主代理创建子代理处理复杂或耗时的后台任务。主代理通过spawn工具分配任务描述和标签,系统会在后台启动独立的子代理进行处理。子代理拥有专注的系统提示和独立的执行环境,可以使用文件操作、Shell命令、网络搜索等工具,但不能发送消息给用户或生成其他子代理。子代理最多执行15次迭代,完成后通过消息总线向主代理发送系统消息通知结果。这种机制让主代理在等待复杂任务完成时仍能响应其他用户请求,实现真正的并行处理。
长期记忆系统
MemoryStore管理长期记忆和日常笔记,所有重要信息跨会话持久化存储。长期记忆保存在memory/MEMORY.md文件中,包含需要永久记住的核心信息。日常笔记按日期命名为YYYY-MM-DD.md格式,自动记录每天的重要事件。系统会将长期记忆和今日笔记加载到AI的上下文中,帮助AI理解历史对话内容和用户偏好。SessionManager管理不同渠道和聊天的会话历史,每个会话独立存储,支持多轮对话的上下文连续性。
定时任务调度
CronService提供完整的定时任务管理功能,支持三种调度方式。一次性执行通过at参数在指定时间点运行一次,固定间隔执行通过every参数每隔指定时间重复执行,Cron表达式执行支持标准的cron语法实现复杂的定时规则。用户可以通过CLI命令添加、列出、删除、启用或禁用任务,也能手动触发任务运行。定时任务配置持久化到文件系统,重启后自动恢复。服务采用单一定时器管理所有任务,动态调整下次唤醒时间,确保毫秒级调度精度。
主动心跳唤醒
HeartbeatService实现主动唤醒机制,默认每30分钟自动运行一次。服务会读取工作区中的HEARTBEAT.md文件,检查是否包含需要执行的任务内容。如果文件中有指令,系统会唤醒AI代理读取并执行,执行完成后返回结果。这种机制让AI不仅是被动响应,还能主动执行周期性检查、系统监控、自动化维护等后台工作流。用户可以在HEARTBEAT.md中编写定期需要完成的任务,AI会自动在心跳时间执行。

产品特色
| 特色维度 | 具体表现 | 技术优势 | 对比同类产品 |
|---|---|---|---|
| 代码体积 | 仅4000行代码,比Clawdbot减少99% | 极简架构,无冗余依赖 | OpenClaw 43万行,学习门槛高 |
| 响应速度 | 启动快速,迭代迅速 | 最小化资源占用 | 重型框架启动慢,调试周期长 |
| 可读性 | 代码结构清晰,模块职责明确 | 研究友好设计 | 商业产品代码不透明 |
| 部署难度 | 一键安装,5分钟配置完成 | PyPI标准包,Docker支持 | 复杂项目需要环境配置 |
| 模型支持 | 通过LiteLLM支持20+模型供应商 | 统一接口抽象 | 部分工具绑定单一模型 |
| 扩展性 | 基于工具和技能的模块化架构 | 标准化接口规范 | 闭源产品扩展受限 |
| 多通道集成 | Telegram/WhatsApp/CLI统一接入 | 消息总线解耦 | 单通道产品使用场景窄 |
| 研究价值 | 完整展示Agent实现原理 | 开源透明,社区驱动 | 黑盒产品无法学习内部机制 |

使用方法
安装Nanobot
使用pip从PyPI直接安装最新稳定版,在终端执行命令pip install nanobot-ai。也可以从GitHub克隆源代码进行开发安装,先git clone https://github.com/HKUDS/nanobot.git克隆仓库,进入项目目录cd nanobot,然后执行pip install -e .以可编辑模式安装。推荐使用Python 3.11或更高版本,建议在虚拟环境中安装以避免依赖冲突。对于想要使用最新开发版本的用户,可以使用uv工具安装,执行uv tool install nanobot-ai命令。
初始化配置
首次使用需要运行nanobot onboard命令初始化配置和工作区。系统会在用户主目录下创建.nanobot文件夹,生成默认的config.json配置文件。配置文件包含providers提供商配置用于填写各个AI模型的API密钥,agents代理默认配置指定使用的模型和参数,channels通道配置管理Telegram和WhatsApp的连接信息,tools工具配置存储网络搜索等服务的密钥。同时会创建AGENTS.md定义AI助手的行为规范,SOUL.md描述人格特征,USER.md存储用户信息和偏好,memory/MEMORY.md作为长期记忆文件。
配置AI模型
打开~/.nanobot/config.json文件,在providers部分填入AI模型的API密钥。如果使用OpenRouter访问多种模型,在openrouter字段填入apiKey。使用Anthropic Claude直接调用,在anthropic部分配置密钥。OpenAI GPT用户在openai部分配置。Groq可用于LLM调用和语音转录,在groq部分填写密钥。在agents.defaults部分可以指定默认使用的模型,例如设置model为anthropic/claude-opus-4-5。配置完成后保存文件,系统会在启动时自动加载并验证这些配置。
命令行交互模式
最简单的使用方式是CLI命令行交互。运行nanobot agent -m “你的消息内容”可以发送单条消息并获得回复,适合脚本调用和一次性查询。直接运行nanobot agent不带参数会进入交互式模式,显示友好的提示符等待用户输入,支持多轮连续对话。在交互式模式下可以自由提问、执行任务、使用工具,按Ctrl+C退出。两种模式都使用相同的session_id维护对话上下文,确保AI记住之前的交流内容。
配置Telegram机器人
在Telegram中与BotFather对话创建新机器人,获取机器人Token。在config.json的channels.telegram部分,将enabled设置为true启用Telegram通道,在token字段填入刚获取的机器人Token。在allowFrom数组中添加允许使用机器人的Telegram用户ID,可以通过与@userinfobot对话获取自己的ID。保存配置后,运行nanobot gateway启动网关服务,系统会自动连接Telegram并开始监听消息。在Telegram中搜索机器人名称并开始对话,所有消息会通过消息总线路由到AI核心进行处理。
配置WhatsApp连接
WhatsApp集成通过Node.js桥接实现,需要额外配置。在config.json的channels.whatsapp部分将enabled设置为true,配置bridge_url指向WhatsApp桥接服务地址,在allowFrom中添加允许的电话号码。运行nanobot channels login命令,系统会显示二维码,使用WhatsApp扫码登录。登录成功后,运行nanobot gateway启动服务,就可以在WhatsApp中与AI助手对话。WhatsApp通道支持文本消息和多媒体内容,所有功能与其他通道一致。
管理定时任务
通过cron子命令管理定时任务。添加任务使用nanobot cron add –name “任务名称” –message “任务内容” –cron “0 9 * * *”,其中cron表达式0 9 * * *表示每天早上9点执行。列出所有任务使用nanobot cron list查看任务ID、名称、执行时间等信息。删除任务用nanobot cron remove 加任务ID。启用或禁用任务使用nanobot cron enable 任务ID –enable true/false。手动运行任务用nanobot cron run 任务ID,不等待定时触发立即执行。所有任务配置持久化保存,服务重启后自动恢复。
使用技能和工具
与AI对话时自然描述需求,系统会自动选择合适的工具和技能。询问”北京今天天气怎么样”会调用weather技能获取天气信息。要求”搜索最新的Python特性”会使用WebSearchTool进行网络搜索。说”读取当前目录的README.md文件”会调用ReadFileTool读取文件内容。执行”列出当前目录的文件”会使用ExecTool运行Shell命令。对于复杂任务如”分析这个项目的代码结构并生成报告”,AI可能会创建子代理在后台处理,主代理继续响应其他请求,完成后通知结果。

同类产品对比
Nanobot vs OpenClaw
OpenClaw是Clawdbot的开源替代品,提供完整的AI Agent基础设施,包含100多个CLI命令、WebSocket网关、多Agent路由等企业级特性。代码库包含50多个模块,总计超过43万行代码,适合大型团队构建复杂的Agent系统。Nanobot灵感来自OpenClaw但走极简路线,仅用4000行代码实现核心Agent功能,代码量减少99%。
功能完整度上,OpenClaw提供更丰富的企业级特性和配置选项,支持更复杂的多Agent协作场景。Nanobot专注于个人使用和研究场景,功能覆盖日常需求但不追求企业级复杂度。架构复杂度方面,OpenClaw的多模块设计需要深入学习才能理解,修改一个组件可能影响多个其他部分。Nanobot采用单进程架构,代码库设计为8分钟内可以理解全貌,修改和扩展门槛极低。
性能表现上,Nanobot由于代码体积小,启动速度更快,响应更迅速,资源占用更少。OpenClaw功能全面但启动较慢,内存占用相对较高。学习曲线方面,Nanobot的简洁性使其成为学习Agent技术的理想教材,研究人员可以快速掌握核心原理。OpenClaw虽然功能强大但复杂性也成为学习障碍。两者都是开源项目,但Nanobot更适合个人用户、研究人员和初学者,OpenClaw更适合需要构建生产级Agent系统的企业团队。
Nanobot vs NanoClaw
NanoClaw是另一个轻量级AI助手项目,同样定位为OpenClaw的简化替代品。核心差异在于隔离机制,NanoClaw基于Apple Container容器技术实现操作系统级隔离,AI在真实的Linux容器中运行,提供更强的安全性。Nanobot使用应用级权限控制和工具限制,安全级别相对较低但部署更简单。
平台支持上,NanoClaw专门针对macOS和Apple平台优化,利用Apple的容器技术深度集成。Nanobot采用Python编写,支持Windows、macOS、Linux全平台,跨平台兼容性更好。模型支持方面,NanoClaw专门为Claude构建,使用Claude Agent SDK深度集成Anthropic的功能。Nanobot通过LiteLLM支持20多种模型供应商,模型选择更灵活。
代码量对比,NanoClaw同样强调简洁,设计为500行左右的核心代码。Nanobot约4000行代码,功能更完整但仍保持轻量级定位。配置方式上,NanoClaw没有配置文件,通过直接修改代码进行定制,适合技术用户。Nanobot提供JSON配置文件和CLI命令管理,更符合常规软件使用习惯。两者都追求”小到可以理解”的理念,但NanoClaw更激进地优化安全隔离,Nanobot更注重功能完整性和易用性。
Nanobot vs Clawdbot
Clawdbot是2026年初引爆技术圈的桌面AI助手,后来因争议转为OpenClaw项目。原版Clawdbot拥有系统级权限,能直接执行Shell命令、控制浏览器、管理文件、发送邮件等,实现真正的AI操作员体验。Nanobot继承了这种理念,同样提供文件操作、Shell执行、网络搜索等工具,但实现方式更轻量化。
代码复杂度上,Clawdbot原始代码库超过43万行,包含大量企业级功能和配置选项,学习和维护成本极高。Nanobot仅4000行代码,开发者可以在短时间内理解全部逻辑,修改和调试非常容易。功能丰富度方面,Clawdbot提供更完整的桌面集成,支持更多的系统操作和应用控制。Nanobot聚焦核心AI Agent能力,功能够用但不追求覆盖所有场景。
部署复杂度对比明显,Clawdbot需要复杂的环境配置和依赖安装,普通用户难以独立完成。Nanobot通过pip一行命令安装,5分钟内完成配置开始使用。性能开销上,Nanobot的轻量级架构带来更快的响应速度和更低的资源消耗。商业模式方面,Clawdbot曾引发关于开源定义的争议,最终开源为OpenClaw。Nanobot从诞生就是MIT协议的纯开源项目,代码完全透明。
Nanobot vs Agent Studio
Agent Studio定位为快速搭建个人Jarvis的可视化解决方案,通过图形化界面配置Agent行为,无需编写代码或理解CLI命令。核心优势是可视化配置,所有功能通过拖拽和表单完成,学习曲线平缓。Nanobot通过CLI命令和配置文件操作,需要一定的技术基础但提供更精确的控制。
运行方式上,Agent Studio主要在本地桌面运行,需要用户电脑保持开机才能工作,不支持24小时后台服务。Nanobot可以本地运行也可以部署到服务器,通过nanobot gateway启动后台服务,实现全天候在线。集成深度方面,Agent Studio深度集成企业微信,对国内企业用户非常友好。Nanobot支持Telegram、WhatsApp等国际主流平台,覆盖更广泛的用户群体。
扩展机制对比,Agent Studio提供预设的功能模块,用户选择和组合使用,自定义开发需要较深的技术介入。Nanobot基于工具和技能的模块化架构,用户可以编写SKILL.md文件和工具代码轻松扩展功能。成本方面,Agent Studio作为商业产品可能涉及订阅费用。Nanobot完全开源免费,只需支付AI模型的API调用费用。适用场景上,Agent Studio适合需要可视化配置和本地部署的企业用户,Nanobot适合有一定技术基础、希望深度定制和云端部署的个人用户和开发者。
Nanobot vs SmolAgents
SmolAgents是另一个轻量级AI Agent框架,同样专注于简洁性和最小开销。设计理念是快速原型开发单一用途的小型Agent,通过一个强大的提示词引导Agent行为,避免复杂的框架代码。Nanobot同样追求简洁,但提供了更完整的基础设施,包括消息总线、会话管理、定时任务等系统级组件。
架构哲学上,SmolAgents强调prompt engineering,依赖精心设计的提示词控制Agent,代码框架极简到接近没有。Nanobot采用工具+技能的双层架构,通过标准化接口和模块化组件实现功能,提供更结构化的开发方式。功能范围方面,SmolAgents适合简单的自动化任务和快速实验,不追求功能完整性。Nanobot虽然轻量但功能相对完整,支持多通道集成、定时任务、子代理并行等高级特性。
学习成本对比,SmolAgents几乎没有框架学习成本,主要挑战在于如何设计有效的提示词。Nanobot需要理解消息总线、工具注册、技能加载等概念,但代码清晰文档完善,学习曲线可控。生产就绪度上,SmolAgents定位为实验性框架,适合原型验证和研究探索。Nanobot虽然轻量但包含会话持久化、错误处理、日志记录等生产必要特性,可以直接用于个人项目和小规模应用。两者都是开源项目,但Nanobot社区更活跃,文档更完善,生态发展更快。

测评体验
安装与配置
使用pip install nanobot-ai安装过程非常顺畅,依赖包自动下载安装,不到两分钟完成。运行nanobot onboard初始化配置,系统自动创建工作目录和配置文件,并给出清晰的下一步操作提示。打开config.json文件填写OpenRouter的API密钥,整个配置过程不超过5分钟。这种开箱即用的体验确实实现了轻量级框架的承诺,即使没有深厚技术背景的用户也能独立完成。
唯一需要注意的是Python版本要求3.11以上,部分系统默认Python版本较低需要先升级。配置文件采用JSON格式,结构清晰但对不熟悉JSON语法的用户可能需要小心处理逗号和引号。文档提供了完整的配置示例,按照示例修改基本不会出错。对比OpenClaw需要配置环境变量、安装Node.js、设置数据库等复杂流程,Nanobot的准入门槛低了几个数量级。
CLI交互体验
运行nanobot agent进入交互式模式,提示符设计友好,输入体验流畅。测试简单对话”介绍一下你自己”,AI回复准确且有个性,体现了SOUL.md人格配置的作用。询问”当前时间是几点”,系统正确返回了实时信息,说明上下文构建中的时间戳功能正常工作。尝试复杂任务”搜索2026年AI发展趋势并总结”,AI自动调用WebSearchTool进行搜索,然后整理成结构化的摘要,整个过程约10秒完成。
响应速度确实比重型框架快很多,轻量级架构带来的性能优势明显。不过CLI界面相对简陋,没有富文本格式、代码高亮等高级显示效果。单条消息模式nanobot agent -m “消息”非常适合脚本调用,在自动化工作流中可以无缝集成。会话上下文保持良好,多轮对话中AI能准确记住之前提到的信息,说明SessionManager工作正常。
文件操作能力
测试文件工具功能,要求”读取当前目录的README.md文件”,AI正确调用ReadFileTool读取并显示了文件内容。然后要求”在当前目录创建一个test.txt文件,内容是Hello Nanobot”,系统使用WriteFileTool成功创建了文件。进一步测试”列出当前目录的所有Python文件”,AI使用ListDirTool列出目录,然后过滤出.py扩展名的文件,逻辑处理正确。
EditFileTool的表现也不错,要求修改test.txt文件内容,AI准确找到文件并完成编辑。文件操作有工作目录限制,AI只能访问初始化配置的工作区,尝试访问系统目录会被拒绝,体现了基本的安全机制。不过权限控制相对简单,不如NanoClaw的容器隔离那样严格,处理敏感文件时需要用户自己注意安全。
网络搜索集成
配置Brave Search API密钥后,网络搜索功能表现出色。询问”2026年2月7日的科技新闻”,AI自动调用WebSearchTool,返回了当天的最新资讯并整理成摘要。测试WebFetchTool获取特定网页内容,AI能够提取主要文本信息并过滤广告和导航元素,内容质量较高。搜索速度取决于网络和API响应,通常在3-5秒内完成。
结合搜索和总结功能,要求”搜索Nanobot项目并写一个简介”,AI不仅找到了相关信息,还根据多个来源综合编写了准确的项目介绍。这种信息检索和内容创作的组合能力,展示了Agent框架的真正价值。不过搜索结果的准确性依赖Brave Search API,偶尔会返回不太相关的内容,需要AI进行二次筛选。
定时任务管理
使用nanobot cron add添加了每天早上8点的提醒任务,命令行界面清晰显示了任务ID和配置信息。运行nanobot cron list查看所有任务,输出格式友好易读。手动运行nanobot cron run测试任务执行,系统立即触发并通过消息总线发送通知,功能正常。定时任务配置保存在.nanobot目录下,重启服务后任务自动恢复,持久化机制可靠。
Cron表达式支持标准语法,可以实现复杂的定时规则,但需要用户理解cron格式,对新手不太友好。如果能提供可视化的时间选择工具或常用模板,易用性会显著提升。任务执行日志比较简单,只显示成功或失败状态,缺少详细的执行过程记录,排查问题时不太方便。整体而言,定时任务功能实用且稳定,满足日常自动化需求。
Telegram集成测试
配置Telegram机器人后,运行nanobot gateway启动服务,终端显示成功连接Telegram并开始监听。在Telegram中搜索机器人并发送消息,响应速度很快,几乎是秒回。测试发送图片,AI能够识别并描述图片内容,多模态支持正常工作。语音消息自动通过Groq Whisper转录为文字,准确率较高,即使带有口音也能正确识别。
Telegram通道与CLI通道共享相同的记忆和会话,在CLI中告诉AI的信息,在Telegram中AI也能记住,跨通道上下文保持完美。消息格式支持Markdown,代码块、列表、链接等都能正常显示。不过Telegram的消息长度有限制,特别长的回复可能被截断,需要AI分段发送。allowFrom白名单机制有效,只有配置的用户ID能使用机器人,防止了滥用。
子代理并行处理
测试子代理功能,要求”帮我分析一下最近一周的AI新闻趋势,这可能需要一些时间”,AI识别这是耗时任务,自动调用SpawnTool创建子代理在后台处理。主代理立即返回”已启动子代理处理您的请求”,然后继续响应其他消息。约30秒后,收到系统通知”子代理已完成任务”,主代理总结了分析结果并展示给用户。
这种并行处理机制在实际使用中非常实用,避免了等待耗时任务时无法进行其他操作。子代理的执行日志显示它确实调用了搜索工具、读取文件等操作,功能完整。不过子代理不能发送消息给用户,所有结果必须通过主代理转达,在某些场景下不够灵活。15次迭代的限制在大多数情况下够用,但对于特别复杂的任务可能不足。
代码质量与可读性
下载源代码查看内部实现,项目结构非常清晰,每个模块职责明确。agent/loop.py的核心处理逻辑不到300行,易于理解。消息总线bus/queue.py使用Python的asyncio实现异步队列,代码简洁高效。工具系统采用标准的注册表模式,添加新工具只需继承BaseTool类并实现execute方法,扩展性良好。
代码注释虽不算丰富但关键部分都有说明,配合清晰的命名,理解起来不困难。项目文档包括详细的架构说明和源码解析,对学习者非常友好。使用ruff进行代码风格检查,代码质量统一规范。与OpenClaw动辄几千行的单文件相比,Nanobot的模块化和简洁性确实是巨大优势。这种代码质量让它成为学习AI Agent技术的优秀教材。
数据评估
本站非猪ai导航提供的Nanobot都来源于网络,不保证外部链接的准确性和完整性,同时,对于该外部链接的指向,不由非猪ai导航实际控制,在2026年2月7日 下午10:27收录时,该网页上的内容,都属于合规合法,后期网页的内容如出现违规,可以直接联系网站管理员进行删除,非猪ai导航不承担任何责任。
