返回博客列表

4 万 Star 的 AI Agent 项目 nanobot:一个人能跑、一群人能用的开源 Agent

2026-06-07T14:00:00+08:00
AI Agentnanobot开源MCPLLMHKUDS

4 万 Star 的 AI Agent 项目 nanobot:一个人能跑、一群人能用的开源 Agent

先收藏,回头一定用得上。

GitHub 上 AI Agent 项目多如牛毛,但能在 4 个月内冲到 43,800 Star 的不多。nanobot 是香港大学数据科学实验室(HKUDS)研究员 Xubin Ren 以个人身份发起的开源项目,2026 年 2 月 1 日首次提交代码,6 月初 Star 数已突破 4.3 万,Fork 数 7,746。

它做对了一件很多人想做但没做好的事:让 AI Agent 回归「小」和「你的」。

本文提纲

  1. nanobot 是什么
  2. 为什么 4 万人在用
  3. 架构设计:小核心 + 大生态
  4. 30+ LLM Provider,你想用谁用谁
  5. 15+ 聊天平台,在哪聊都行
  6. MCP 原生支持:工具即插即用
  7. WebUI:开箱即用的 Agent 工作台
  8. 记忆与目标:Agent 不再金鱼脑
  9. 和同类项目对比
  10. 快速上手

nanobot 是什么

一句话:一个超轻量级的开源个人 AI Agent,小到核心可读,大到能干真活。

它围绕一个精简的 Agent Loop 构建——消息从聊天平台进来,LLM 判断是否需要调用工具,记忆和技能按需加载而非预先编排。没有沉重的编排框架,没有黑箱调度,核心路径清晰可读。

graph LR
    classDef platform fill:#4ECDC4,color:#000000
    classDef core fill:#FF6B6B,color:#000000
    classDef llm fill:#45B7D1,color:#000000
    classDef tools fill:#FFEAA7,color:#000000
    classDef mem fill:#96CEB4,color:#000000

    A[Chat Channels]:::platform --> B[Agent Loop]:::core
    B --> C[LLM Provider]:::llm
    C --> B
    B --> D[Tools / MCP]:::tools
    B --> E[Memory / Goals]:::mem
    D --> B
    E --> B
    B --> A

核心设计理念有三条:

  • 小核心:Agent Loop 可读、可审计、可扩展,不是几万行的框架怪兽
  • 你的栈:自己托管、自己审查、自己扩展,不绑定任何平台
  • 持久工作:目标(Goal)、记忆(Memory)、上下文在长任务中不丢失

为什么 4 万人在用

我翻了它的更新日志,从 2 月 1 日发布到现在,几乎每天都有更新。不是那种攒两周发一个版本的节奏,而是高频迭代——有时一天推送两三个功能。

几个关键版本节点:

版本 日期 核心特性
v0.1.4 2026-02-17 MCP 支持、Progress Streaming、多 Provider
v0.1.5 2026-04-05 Dream 两阶段记忆、编程 Agent SDK、沙箱
v0.2.0 2026-05-15 /goal 持久目标、WebUI 内置、图像生成、Fallback 模型
v0.2.1 2026-06-01 WebUI 工作台、项目工作区、CLI Apps + MCP 扩展

这种迭代速度意味着什么?意味着维护者真的在用这个东西,遇到问题立刻修,想到功能马上加。这不是学术 Demo,这是日常工具。

架构设计:小核心 + 大生态

nanobot 的架构哲学很简单:核心做减法,外围做加法。

Agent Loop 只负责三件事:接收消息、调用 LLM、执行工具。通道(Channel)、Provider、记忆、技能全部是外围模块,按需加载。

graph TB
    classDef core fill:#FF6B6B,color:#000000
    classDef channel fill:#4ECDC4,color:#000000
    classDef provider fill:#45B7D1,color:#000000
    classDef feature fill:#FFEAA7,color:#000000

    subgraph "Agent Core"
        A[Agent Loop]:::core
        B[Session Manager]:::core
    end

    subgraph "Channels"
        C1[Telegram]:::channel
        C2[Discord]:::channel
        C3[WeChat]:::channel
        C4[Feishu]:::channel
        C5[Slack]:::channel
        C6[WebUI]:::channel
    end

    subgraph "Providers"
        P1[OpenAI]:::provider
        P2[Claude]:::provider
        P3[Gemini]:::provider
        P4[DeepSeek]:::provider
        P5[Ollama]:::provider
    end

    subgraph "Features"
        F1[MCP Tools]:::feature
        F2[Memory / Dream]:::feature
        F3[Goals]:::feature
        F4[Cron / Automation]:::feature
    end

    C1 & C2 & C3 & C4 & C5 & C6 --> A
    A --> P1 & P2 & P3 & P4 & P5
    A --> F1 & F2 & F3 & F4

这种解耦带来的好处很明显:加一个新 Provider 只需要两步,加一个新 Channel 也只需要实现几个接口。项目仓库的主要语言是 Python(约 77%)和 TypeScript(约 21%,WebUI 部分),代码量控制得当。

30+ LLM Provider,你想用谁用谁

这是 nanobot 最让我惊讶的地方——Provider 支持数量堪比 litellm,但它是原生集成而非封装第三方库(事实上 v0.1.4.post6 正式移除了 litellm 依赖,改用原生 openai + anthropic SDK)。

完整 Provider 列表(截至 v0.2.1):

类别 Provider
国际主流 OpenAI、Anthropic、Google Gemini、Mistral、Groq
平台型 OpenRouter、Azure OpenAI、AWS Bedrock、HuggingFace
中国厂商 DeepSeek、Qwen/DashScope、Moonshot/Kimi、Zhipu GLM、MiniMax、StepFun、VolcEngine、百度千帆
本地部署 Ollama、vLLM、LM Studio、Atomic Chat、OpenVINO
OAuth 登录 OpenAI Codex、GitHub Copilot
其他 Novita、SiliconFlow、AIHubMix、Skywork、LongCat、Ant Ling、Xiaomi MiMo

每个 Provider 都通过 ~/.nanobot/config.json 配置,格式统一:

{
  "providers": {
    "openrouter": {
      "apiKey": "sk-or-***"
    }
  },
  "agents": {
    "defaults": {
      "provider": "openrouter",
      "model": "anthropic/claude-opus-4-6"
    }
  }
}

还有个实用的 fallback_models 机制——主模型挂了自动切换备用模型,对长期运行的 Agent 来说,这个功能不是锦上添花,是必需品。

15+ 聊天平台,在哪聊都行

nanobot 支持的聊天平台覆盖了你能想到的大部分场景:

平台 接入方式
Telegram Bot Token(推荐入门)
Discord Bot Token
WhatsApp QR 扫码登录
WeChat(微信) QR 扫码登录
Feishu(飞书) App ID + Secret
DingTalk(钉钉) App Key + Secret
Slack Bot Token
Microsoft Teams App ID + Password
Matrix Homeserver + Token
Email IMAP/SMTP
QQ App ID + Secret
Signal signal-cli
企业微信 Bot ID + Secret
WebUI 内置 WebSocket

配置方式几乎一样——在 config.jsonchannels 里加上对应平台的凭证,运行 nanobot gateway,完事。

这种统一的 Channel 抽象意味着:你的 Agent 不绑定任何单一平台。今天在 Telegram 上用,明天想切到飞书,改个配置就行。

MCP 原生支持:工具即插即用

MCP(Model Context Protocol)是 Anthropic 提出的工具协议标准,nanobot 从 v0.1.4 就开始支持。

配置格式兼容 Claude Desktop 和 Cursor——你可以直接从任何 MCP Server 的 README 里复制配置:

{
  "tools": {
    "mcpServers": {
      "filesystem": {
        "command": "npx",
        "args": ["-y", "@modelcontextprotocol/server-filesystem", "/path/to/dir"]
      },
      "remote-api": {
        "url": "https://example.com/mcp/",
        "headers": { "Authorization": "Bearer ${REMOTE_MCP_TOKEN}" }
      }
    }
  }
}

两种传输模式都支持:

  • Stdio:本地进程(npx / uvx
  • HTTP:远程端点(SSE)

MCP 工具在启动时自动发现并注册,LLM 可以像使用内置工具一样调用它们。还支持 enabledTools 过滤——只注册你需要的工具子集,减少 token 消耗。

WebUI:开箱即用的 Agent 工作台

v0.2.0 开始,WebUI 直接打包在 PyPI wheel 里,不需要额外构建。

启用方式:

{ "channels": { "websocket": { "enabled": true } } }

运行 nanobot gateway,浏览器打开 http://127.0.0.1:8765 就能用。

v0.2.1 把 WebUI 升级成了「工作台」:Thought/Response 时间线、实时文件编辑活动、项目工作区、模型和上下文控制。这不是一个简单的聊天界面,是一个能日常使用的 Agent 控制台。

记忆与目标:Agent 不再金鱼脑

大多数 AI Agent 有个致命问题:聊完就忘。nanobot 用两个机制解决这个问题。

Dream 记忆系统(v0.1.5 引入):两阶段记忆架构,跨会话保持上下文。不是简单地把聊天记录全塞进 context window,而是有策略地压缩和检索。

/goal 持久目标(v0.2.0 引入):设定一个长期目标,Agent 会在多轮对话中持续追踪进度。比如「帮我调研某个技术并写成报告」,Agent 不会在第三轮就忘了你在干什么。

这两个功能配合起来,让 nanobot 从「聊天机器人」变成了「能干活的助手」。

和同类项目对比

维度 nanobot Claude Code OpenAI Codex CLI
定位 通用个人 Agent 编程 Agent 编程 Agent
语言 Python + TypeScript TypeScript (Bun) Rust
LLM 绑定 30+ Provider 自由选 仅 Anthropic 仅 OpenAI
聊天平台 15+ CLI / API CLI / API
MCP ✅ 原生支持 ✅ 原生支持
开源协议 MIT MIT Apache 2.0
WebUI ✅ 内置
记忆系统 ✅ Dream
Star 43.8k 95k+ 68k+

核心差异:nanobot 是通用型 Agent,不局限于编程场景。你可以用它管日程、做调研、跑自动化,甚至接上你的微信当私人助理。而 Claude Code 和 Codex CLI 更专注于代码生成。

快速上手

三步跑起来:

# 1. 安装
pip install nanobot-ai

# 2. 初始化(交互式引导)
nanobot onboard

# 3. 启动
nanobot agent

nanobot onboard 是一个交互式向导:选 Provider、填 API Key、选模型,完成后自动生成 ~/.nanobot/config.json

想用 Docker 部署也行:

docker run --rm \
  -v ~/.nanobot:/home/nanobot/.nanobot \
  nanobot-ai \
  agent -m "Hello"

数据来源

  • GitHub 仓库:HKUDS/nanobot
  • 官方文档:nanobot.wiki
  • GitHub API(仓库元数据、语言统计、贡献者信息)
  • 项目 README 及 docs/configuration.md(通过 jsdelivr CDN 获取)
  • PyPI 包:nanobot-ai
  • 所有数据采集时间:2026 年 6 月 7 日

试过了?评论区说说你的体验。还没试?收藏起来周末折腾。


作者: itech001
来源: 公众号:AI人工智能时代
网站: https://www.theaiera.cn/ 每日分享最前沿的AI新闻资讯和技术研究。

关注公众号,获取更多 AI 技术干货!

觉得文章不错?分享给更多人!