nanobot
超轻量开源AI Agent框架,支持10+聊天平台一键接入,500行核心代码即可驱动
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
超轻量开源AI Agent框架,支持10+聊天平台一键接入,500行核心代码即可驱动
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象一下:你有一只随身携带的 AI 助手,它能帮你处理邮件、管理日程、写代码、回答问题,而且只需要一个命令就能在不同聊天平台(Telegram、Discord、飞书、微信)上随时召唤它。这不是什么遥远的未来——这就是 nanobot 正在做的事情。
2025 年底,随着 Claude Code、OpenAI Codex 等 Agent 产品相继发布,AI Agent 赛道骤然升温。然而这些商业产品要么价格高昂,要么定制困难,普通开发者只能"用别人的工具"而非"打造自己的工具"。
在此背景下,香港大学研究团队(HKUDS)于 2026 年 2 月正式发布 nanobot 项目,定位为极简开源 AI Agent 框架。作者任旭斌(Xubin Ren)将其形容为"受 OpenClaw、Claude Code、Codex 启发,在保持核心 Agent 循环极简可读的同时,支持聊天频道、记忆、MCP 和多种部署路径"。项目发布后迅速在 GitHub 积累超过 43000 颗星,成为 2026 年上半年增长最快的开源 Agent 项目之一。
如果说 Claude Code 是一把功能强大的专业电钻,那 nanobot 就是一把瑞士军刀——每样工具都有,但更轻便、更灵活、更适合日常随手使用。它的核心哲学是:让 AI Agent 的构建像搭积木一样简单。
nanobot 的架构可以理解为一个消息路由器:来自 Telegram、Discord、飞书等平台的聊天消息首先进入 Channel 层,由 Channel 管理器统一接收;消息随后进入 Agent 核心循环,由大语言模型决定是否需要调用工具;工具可以是内置的(如网页搜索、文件读取),也可以通过 MCP(Model Context Protocol)协议扩展;记忆模块负责在多轮对话中保持上下文连贯性;最后,Agent 的回复通过原路返回给用户。
整个核心循环只有约 500 行 Python 代码,任何人都可以读懂并修改。相比之下,市面上大多数 Agent 框架的"最小可运行版本"动辄数千行依赖,这正是 nanobot 的核心差异点。
多平台即时通讯集成是 nanobot 最具差异化的功能。项目原生支持 Telegram、Discord、Slack、飞书、微信企业版、WhatsApp、Matrix、QQ 等十余个聊天平台,用户只需在配置文件中填入对应的 Bot Token,就能让 nanobot 在指定平台"上线"。这意味着用户可以在 Telegram 上询问技术问题,在 Discord 上触发自动化脚本,所有对话历史统一由 nanobot 的记忆模块管理。
MCP 工具生态让 nanobot 的能力边界几乎无限扩展。MCP(Model Context Protocol)是 Anthropic 主导的 Agent 工具互操作协议,nanobot 从 v0.1.4 起全面支持 MCP,用户可以连接任意 MCP 服务器,将自定义工具暴露给 Agent 调用。项目还内置了 ClawHub 技能市场,用户可以搜索并一键安装社区贡献的 Agent 技能。
WebUI 和 OpenAI 兼容 API提供了两种不同的接入方式。对于偏好图形界面的用户,nanobot 的 WebUI 集成在 PyPI 包中,无需额外构建步骤,启用 WebSocket 频道后浏览器直接访问 http://127.0.0.1:8765 即可使用。对于需要程序化调用的开发者,nanobot 提供 OpenAI 兼容的 API 接口,可以作为后端接入 LangChain、LlamaIndex 等主流 AI 开发框架。
图像生成端到端支持是 v0.2.0 的重要更新。现在用户可以直接让 nanobot 生成图片,Agent 会调用图像生成模型并将结果返回给用户,结合多平台分发能力,可以实现"一句话生成图片并同步到所有聊天群"的自动化工作流。
nanobot 的技术选型体现了对"稳定性和可扩展性"的平衡追求。核心依赖包括:Anthropic Python SDK(Claude 接口)、OpenAI Python SDK(GPT 接口)、Pydantic v2(配置和数据验证)、Typer(CLI 界面)、Loguru(日志)、httpx(HTTP 客户端)。项目要求 Python 3.11 及以上,充分利用类型注解和结构化模式提升代码可维护性。
Channel 层采用了各平台的官方 Bot SDK:python-telegram-bot(Telegram)、discord.py(Discord)、lark-oapi(飞书)、dingtalk-stream(钉钉)、slack-sdk(Slack)等。这种做法确保了与平台特性的深度兼容,同时也意味着较大的间接依赖——完整安装后依赖包数量超过 50 个。
WebUI 部分使用 Vite + React + TypeScript 构建,TailwindCSS 作为样式方案,开发体验现代流畅。值得注意的是,WebUI 被打包进 PyPI wheel 分发,生产环境直接可用,无需单独构建。
WhatsApp 桥接层使用 Node.js + TypeScript 实现(bridge/ 目录),通过 npm 构建为独立二进制嵌入 Docker 镜像。这种前后端混搭的架构虽然增加了构建复杂度,但确保了 WhatsApp 平台的最大兼容性。
测试方面,项目使用 pytest + pytest-asyncio,测试覆盖 CLI、Agent、Channels、Providers、Cron 等核心模块,并包含 Dockerfile 集成测试脚本。
安装 nanobot 有三种方式:直接 pip install nanobot-ai、使用 uv tool install nanobot-ai(推荐,性能更快)、或从源码 pip install -e .(体验最新实验功能)。初始化只需运行 nanobot onboard,交互式向导会引导用户配置 API Key 和默认模型。
配置完成后,nanobot agent 启动 CLI 对话模式,nanobot gateway 启动 WebSocket 服务并通过浏览器访问 WebUI。Docker Compose 部署模式下,gateway、api、cli 三个服务可以一键启动,资源限制为每服务最多 1 CPU + 1GB 内存。
项目提供了详尽的文档体系:nanobot.wiki 承载稳定版文档,仓库内 docs/ 目录承载最新版文档,支持简体中文、繁体中文、英语、西班牙语、法语、日语、韩语等 10 种语言。对于中文用户而言,这降低了很大的学习门槛。
nanobot 并非没有缺点。首先,完整的 pip 安装依赖超过 50 个包,最小化安装体验与完整版差异较大。其次,Agent 能力上限受制于底层 LLM 模型,Claude Opus/GPT-4o 等顶级模型的调用成本不容忽视。再者,多平台同时在线时消息路由逻辑较复杂,在高频消息场景下可能出现延迟。
此外,项目的版本迭代速度极快(2026 年 2 月至今已发布 20+ 个版本),虽然说明开发活跃度高,但也意味着用户需要频繁关注 breaking changes。从架构上看,nanobot 采用单 Agent 循环设计,对于需要多 Agent 协作的复杂任务(如 AutoGen 式的多角色辩论),目前支持有限。
nanobot 的成功反映了 2026 年开源 AI 社区的一个重要趋势:从"大而全"的 Agent 框架转向"小而美"的专用 Agent 工具。在 LangChain、AutoGen 等框架因为过度抽象而被诟病"难以调试"之后,开发者们开始重新审视简洁架构的价值。
43000 颗星中相当一部分来自中文社区,这与项目早期就提供简体中文文档和飞书/微信集成不无关系。nanobot 在中国的快速传播也说明:本土化集成能力(微信、钉钉、飞书)正在成为开源 Agent 项目差异化竞争的关键变量。
从技术演进路线来看,nanobot 的 Roadmap 包括多模态(图像+语音+视频)、长期记忆、更好的推理规划能力,以及日历等更多第三方集成。这些方向的推进将决定 nanobot 能否从"极客玩具"升级为"生产级工具"。
一句话评价:nanobot 用极简架构证明了 AI Agent 不需要复杂框架——它既是开发者学习 Agent 设计的最佳起点,也是一线用户日常使用 AI 助手的轻量选择。