📌 项目地址:HKUDS/nanobot | ⭐ 43,359 颗星 | 🔧 Python | 📜 MIT
不是又一个“全能AI”,而是Agent运行时的务实选择
我花了两个晚上把它跑起来,读了一部分它的核心代码。nanobot的README第一行写得很直白:“for people who want to own their AI agent stack”——给那些想自己掌控AI Agent技术栈的人。
它的起点是一个很具体的判断:现有Agent框架要么太重,依赖复杂到你得先学一个DevOps课程;要么只能短对话,你刚让它记住一个上下文配置,它下一秒就忘了。
nanobot的做法恰好相反。它的架构用一个词概括就够:以“小”应“大”。
设计哲学:把Agent循环做小,把扩展做全
它的核心循环(agent loop)代码量很少。有多小?README里没有直接给行数,但我顺着它的GitHub仓库看了下,核心引擎部分大概在400-500行Python代码的规模。这意味着你可以在一小时内从头到尾读完它怎么工作,而不是像读某些框架源码那样先崩溃。
这个核心做的事很简单:接收输入 → 调用模型 → 执行工具 → 输出结果 → 更新记忆。循环、循环、循环。
在这个“小循环”外面,它挂载了所有让Agent真的能长期工作的部件:
- WebUI — 直接打包在安装包里,不需要额外启动React/Vue项目
- 聊天渠道 — 原生支持Telegram、飞书、Discord、Slack、Teams、Weixin、Signal
- 工具系统 — 支持MCP协议扩展,也支持直接把CLI应用注册为工具
- 记忆系统 — 跨对话保持上下文,不是那种一刷新就丢的临时缓存
- 模型路由 — 主模型挂了,自动切到
fallback_models备用模型,有5个新供应商支持这个功能
这种设计的直接好处是:你可以从本地pip install就开始用,一直用到部署一个24小时运行的Agent服务,整个过程中配置方式几乎不变。
精选实用特性:让我愿意长期投入时间的四个能力
读完整份README和更新日志,我挑出了几个真正让我“哦,这个有用”的特性。
1. /goal 命令:让Agent记住你要做的事,而不是每次重新说
这是v0.2.0引入的核心更新。多数Agent框架的“多轮对话”是假的——它只是把历史消息传回给模型,模型自己猜“用户是想继续做这个吗”。/goal不同。你在WebUI里设一个目标,比如“每天整理我的GitHub通知并生成摘要”,Agent会把它当作一个持久的对象去跟踪,跨越多个会话回合。你可以在WebUI里看到多步进展,每完成一步它有反馈。
2. 流式推理 + 流式输出的双重可视化
Agent的推理过程(思考链)会先流式展示,最终答案再流式输出。对我这种调试员来说,这个特性价值很高——我能在它生成答案之前看到它的“推导过程”出没出问题。它支持在长时间运行期间处理空闲超时(v0.2.1提到的Codex流改进),不会因为推理太久而断掉。
3. 实时的文件编辑活动视图
v0.2.1“The Workbench Release”把这个作为核心更新。当Agent要修改代码或文档时,WebUI会逐行显示它正在做什么修改。这效果像个编辑器Diff视图,但是在Agent执行过程中实时更新的。对于写代码的Agent任务(比如重构代码或修复bug),这个功能直接告诉你“它现在在改第几行文件”,而不是等它输出一个“已完成”然后你再去检查结果。
4. 图像生成的端到端集成
从v0.2.0开始,nanobot把图像生成做成了一个端到端的功能。支持多个供应商:智谱、Gemini、MiniMax、StepFun、Skywork。你可以在聊天里直接说“画一张…”的指令,Agent去调用对应的图像生成API,然后返回图片。它不是额外插件,是原生功能。
从运行到扩展:我实际尝试的路径
README说明了启动步骤。我建议的顺序:
-
本地安装 —
pip install nanobot或者从源码安装。具体命令得看它的安装指南,因为不同渠道有不同的配置项。 -
配置模型 — 在配置文件中设置你的OpenAI兼容API密钥,或选择一个直连的供应商。它支持的主供应商列表包括OpenAI、Anthropic、Google、智谱、MiniMax、NVIDIA NIM、Novita等。
-
启动WebUI — 运行后,WebUI会绑定在本地端口。这就是你的工作台。
-
扩展工具 — README里提到了两种方式:MCP服务器扩展,或者直接注册CLI应用。我把一个本地的Python脚本注册为CLI工具,它自动出现在Agent的工具列表里,不需要写专门的Tool class。
-
接入聊天渠道 — 如果我需要一个Telegram bot,配一个Bot Token就能让nanobot在Telegram里运行,和在WebUI里一样。渠道配置在运行时热加载,不需要重启。
开发节奏与演进方向
从README的“新闻”部分看,这个项目的提交频率非常高。v0.2.1(2026-06-01)是最近的里程碑。我注意到几个关键词在重复出现:工作台、扩展、稳定性。
v0.2.0之前,它更像一个Agent SDK。v0.2.0加入了/goal和图像生成。v0.2.1直接把WebUI升级为“日常Agent工作台”,增加了项目工作空间、上下文窗口控制、更清晰的思维/响应时间线视图。
它没有去追“百万Agent市场”的概念,而是每1-2天解决一个具体问题:Telegram webhook支持、Signal渠道接入、Matrix安全验证、可配置的超时控制。这种节奏说明核心团队在认真运营。
适合谁用
我自己的判断:nanobot适合两类人。
第一类:想自己搭建Agent技术栈,但不想从零开始写模型调用、渠道接入、记忆系统的开发者和团队。你可以直接拿它的核心循环作为起点,在上面叠加你自己的工具和业务逻辑。
第二类:需要让Agent执行“跨数小时、跨越多个会话”的长期任务的用户。/goal功能的价值在这种场景下比单纯的多轮对话大得多。
它不适合那种“一键部署,不用管”的使用者。你要配置模型、配置渠道、扩展工具,这些都需要写配置文件或简单的Python代码。
43359个star是一个信号,但不会是唯一信号。我更关注它的代码质量和架构清晰度。读完核心循环后,我觉得这个是值得投入时间学习甚至贡献的。