引言

在AI智能体百花齐放的当下,大而全的模型往往伴随着复杂的部署和高昂的资源消耗,而HKUDS团队开源的nanobot却另辟蹊径,以仅约4000行核心代码实现了工业级AI助手的核心能力,体积较同类项目Clawdbot缩小99%,兼具轻量、高效、易扩展的特性。这款基于MIT协议的超轻量级个人AI助手,支持多平台对接、多LLM提供商兼容,还能实现自动化任务调度,成为开发者和个人用户的轻量智能选择。本文将从项目概况、核心优势与应用、技术部署与代码实践三方面,全面解析nanobot的使用与价值。

项目概况

nanobot是由HKUDS团队开发的超轻量级开源个人AI助手,灵感源自OpenClaw,目前在GitHub收获28.7k stars、4.6k forks,采用MIT开源协议,代码以Python为主(96.7%),辅以少量TypeScript和Shell,核心智能体代码仅3935行,是目前轻量化AI助手中的代表性项目。

项目自2026年2月正式发布后持续迭代,当前最新版本为v0.1.4.post3,完成了会话安全加固、上下文优化、多渠道兼容等多项升级,现已支持OpenRouter、Anthropic、智谱、火山引擎等20+主流LLM提供商,可对接Telegram、飞书、钉钉、QQ、微信等10+聊天平台,还集成了MCP协议、vLLM本地模型支持、定时任务调度等核心功能。

nanobot的核心定位是轻量可扩展的个人AI助手,摒弃了冗余代码,仅保留智能体核心的对话交互、工具调用、记忆管理能力,同时提供极简的扩展接口,开发者新增LLM提供商仅需2步操作,个人用户可通过简单配置实现多场景智能交互,兼顾研究与实际使用需求。

核心优势与应用场景

核心技术优势

  1. 极致轻量,资源消耗低:核心智能体代码仅约4000行,较同类项目缩小99%,启动速度快、运行占用资源少,可在普通电脑、轻量服务器甚至边缘设备上部署,无需高性能算力支撑。
  2. 多端兼容,无缝对接:支持Telegram、飞书、钉钉、QQ、WhatsApp、Slack等主流聊天平台,部分平台采用WebSocket长连接模式,无需公网IP即可实现消息互通,还支持邮件协议,可作为智能邮件助手。
  3. 多LLM适配,灵活切换:兼容20+主流LLM提供商,既支持OpenRouter、Anthropic等海外平台,也适配智谱、火山引擎、月之暗面等国内平台,还支持vLLM本地模型部署,支持自定义OpenAI兼容接口,可按需选择算力方案。
  4. 代码简洁,易扩展易二次开发:代码结构清晰、可读性强,专为研究和二次开发设计,新增LLM提供商、自定义技能仅需简单配置,内置技能加载器和工具调用框架,可快速集成自定义功能。
  5. 功能完善,兼顾实用性:在轻量的基础上实现了智能体核心能力,包括对话记忆、工具调用、定时任务、MCP协议集成、智能体社交网络对接等,还支持语音转写、文件交互、跨平台消息同步等实用功能。
  6. 部署简单,上手门槛低:提供PyPI、源码、uv三种安装方式,支持Docker容器化部署和Linux系统服务化运行,配置文件采用JSON格式,关键参数有默认值,个人用户2分钟即可完成初始化并实现聊天交互。

典型应用场景

  1. 个人智能助手:对接微信、飞书、Telegram等常用社交软件,实现日常对话、信息查询、任务提醒、邮件自动处理,打造专属个人的AI助理。
  2. 开发辅助工具:兼容GitHub Copilot、OpenAI Codex等代码大模型,可通过CLI或聊天平台实现代码生成、调试、技术问题解答,提升开发效率。
  3. 轻量自动化办公:配置定时任务实现每日工作提醒、邮件扫描、数据统计,对接办公软件实现文件处理、信息提取,简化重复办公流程。
  4. AI智能体研究与实验:代码结构简洁、轻量易修改,适合开发者研究AI智能体的对话逻辑、工具调用、记忆管理机制,快速验证新的智能体算法。
  5. 小型团队协作助手:部署在团队服务器上,对接团队常用的Slack、飞书等平台,实现团队任务调度、信息同步、协作提醒,无需复杂的企业级AI系统。
  6. 本地智能体部署:支持vLLM本地大模型对接,可在无网络环境下实现本地AI助手运行,保障数据隐私,适合对数据安全性有要求的个人和小型团队。

技术原理与部署实践

核心技术原理与架构

nanobot采用模块化、松耦合的架构设计,核心围绕「智能体逻辑+多渠道对接+多LLM适配」三大模块构建,整体代码结构清晰,各模块独立可扩展,核心架构分为七层:

  1. 核心智能体层:包含对话循环、上下文构建、记忆管理、技能加载、工具调用等核心逻辑,是nanobot的大脑,实现AI助手的核心交互能力;
  2. 技能层:内置GitHub、天气、tmux等常用技能,同时提供技能加载器,支持自定义和第三方技能集成;
  3. 渠道层:对接各聊天平台和邮件协议,实现消息的接收与发送,不同渠道采用统一的消息路由机制;
  4. LLM提供商层:适配各主流LLM平台的API,提供统一的调用接口,支持自动模型匹配和灵活切换;
  5. 任务调度层:包含定时任务、心跳唤醒机制,可实现周期性任务自动执行,如每日提醒、邮件扫描;
  6. 配置层:采用JSON格式的配置文件,统一管理平台密钥、模型参数、权限控制等信息,参数可灵活配置;
  7. CLI层:提供命令行交互接口,支持初始化、聊天、网关启动、状态查询等核心操作,方便快速使用和调试。

nanobot的核心运行逻辑为「消息接收-上下文构建-LLM请求-结果处理-消息发送」,通过轻量的上下文管理和记忆机制,在保证对话连贯性的同时,最大限度降低资源消耗,工具调用和技能执行采用异步模式,提升运行效率。

环境搭建与安装

nanobot支持源码安装、uv安装、PyPI安装三种方式,适配Windows、Linux、MacOS系统,推荐Linux系统用于部署,核心安装命令如下:

# 方式1:源码安装(开发推荐,含最新功能)
git clone https://github.com/HKUDS/nanobot.git
cd nanobot
pip install -e .

# 方式2:uv安装(稳定、快速)
uv tool install nanobot-ai

# 方式3:PyPI安装(稳定版,个人用户推荐)
pip install nanobot-ai

快速上手:2分钟实现AI聊天

nanobot提供极简的初始化和配置流程,无需复杂操作即可实现核心聊天功能,步骤如下:

1. 初始化配置与工作空间
# 执行初始化,自动生成配置文件和工作空间
nanobot onboard

执行后会在用户主目录生成~/.nanobot文件夹,包含配置文件config.json和工作空间workspace

2. 配置LLM提供商(以OpenRouter为例)

编辑~/.nanobot/config.json,添加LLM提供商的API密钥和模型配置,核心配置如下:

{
  "providers": {
    "openrouter": {
      "apiKey": "sk-or-v1-你的OpenRouterAPI密钥"
    }
  },
  "agents": {
    "defaults": {
      "model": "anthropic/claude-opus-4-5",
      "provider": "openrouter"
    }
  }
}
3. 启动CLI聊天模式
# 交互式聊天,直接与AI助手对话
nanobot agent
# 也可直接发送单条消息
nanobot agent -m "你好,介绍一下你自己"

多平台对接:以Telegram为例(推荐)

nanobot支持对接主流聊天平台,以Telegram为例,仅需3步即可实现消息互通,无需公网IP:

1. 获取Telegram机器人Token
  • 打开Telegram,搜索@BotFather,发送/newbot,按提示创建机器人;
  • 复制生成的机器人Token(格式:123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11)。
2. 配置Telegram渠道

编辑~/.nanobot/config.json,添加Telegram配置:

{
  "channels": {
    "telegram": {
      "enabled": true,
      "token": "你的Telegram机器人Token",
      "allowFrom": ["你的Telegram用户ID"]
    }
  }
}
3. 启动网关,实现消息互通
# 启动网关,nanobot将监听Telegram消息并自动回复
nanobot gateway

启动后,在Telegram中向创建的机器人发送消息,即可实现AI助手的自动回复。

高级部署:Docker容器化部署

nanobot提供Docker Compose配置,可快速实现容器化部署,核心命令如下:

# 第一步:初始化配置
docker compose run --rm nanobot-cli onboard
# 第二步:编辑配置文件(添加API密钥、平台配置)
vim ~/.nanobot/config.json
# 第三步:后台启动网关
docker compose up -d nanobot-gateway
# 查看运行日志
docker compose logs -f nanobot-gateway
# 停止容器
docker compose down

关键配置与安全注意事项

  1. 权限控制:各渠道的allowFrom参数用于设置可交互的用户ID,空列表默认允许所有用户,生产环境建议指定具体用户ID,保障使用安全;
  2. 本地模型部署:支持vLLM本地模型,只需启动vLLM服务并在配置文件中添加vLLM提供商信息,即可实现本地大模型对接,无需联网;
  3. 定时任务:通过编辑~/.nanobot/workspace/HEARTBEAT.md文件,可添加定时任务,网关每30分钟会自动执行并将结果发送到最近活跃的聊天渠道;
  4. MCP协议集成:支持MCP协议,可连接外部工具服务器,将第三方工具作为nanobot的原生工具使用,实现功能扩展。

该项目及相关内容已AladdinEdu课题广场同步发布,欢迎前往了解更多技术实现与资源

项目地址:AladdinEdu课题广场

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐