比 OpenClaw 轻 99%!我用 nanobot 搭了个 QQ AI 机器人,还顺手贡献了代码



4000 行代码,打造你的私人 AI 助手❞

前言

最近 AI Agent 领域有个项目特别火——「OpenClaw」,它是一个功能强大的 AI 助手框架,能让你拥有一个 7×24 小时在线的智能助理。

但当我 clone 下来准备研究时,发现它有 「43 万行代码」!对于想快速上手或做二次开发的个人开发者来说,这个体量实在太重了。

直到我发现了它的"轻量版"——「nanobot」

nanobot:99% 的瘦身,核心功能全保留

nanobot 来自香港大学数据科学实验室(HKUDS),它的设计理念很简单:



用最少的代码,实现 AI Agent 的核心能力❞

来看一组对比数据:

项目

代码行数

核心功能

OpenClaw

430,000+

全功能

nanobot

~4,000

核心功能

「瘦身比例:99%!」

但别被这个数字吓到,nanobot 保留了最实用的功能:

  • ✅ 多轮对话与上下文记忆
  • ✅ 网页搜索与信息获取
  • ✅ 代码编写与执行
  • ✅ 定时任务调度
  • ✅ 多平台接入(QQ、微信、Telegram、Discord 等)

对于 90% 的个人使用场景,这些功能完全够用。

实战:5 分钟搭建 QQ AI 助手

下面我带你从零开始,搭建一个属于自己的 QQ AI 机器人。

第一步:环境准备

nanobot 需要 Python 3.11+,如果你的系统版本较低,需要先升级:

# CentOS/RHEL dnf install python3.11 python3.11-pip # Ubuntu/Debian apt install python3.11 python3.11-pip

第二步:安装 nanobot

git clone https://github.com/HKUDS/nanobot.git cd nanobot pip3.11 install -e .

第三步:初始化配置

python3.11 -m nanobot onboard

这会在 ~/.nanobot/ 目录下生成配置文件。

第四步:配置 LLM 后端

编辑 ~/.nanobot/config.json,我推荐使用 「Gemini」(免费额度够用):

{   "agents": {     "defaults": {       "model": "gemini/gemini-2.5-flash"     }   },   "providers": {     "gemini": {       "apiKey": "你的 Gemini API Key"     }   } }


💡 获取 Gemini API Key:https://aistudio.google.com/apikey❞

第五步:配置 QQ 机器人

  1. 前往 QQ 开放平台 注册开发者账号
  2. 创建一个机器人应用,获取 AppID 和 Secret
  3. 在配置文件中启用 QQ 频道:
{   "channels": {     "qq": {       "enabled": true,       "appId": "你的 AppID",       "secret": "你的 Secret"     }   } }

第六步:启动!

python3.11 -m nanobot gateway

看到 机器人「xxx」启动成功! 就表示一切就绪,去 QQ 上找你的机器人聊天吧!

踩坑记录:搜索功能的 API Key 困扰

当我兴冲冲地让机器人帮我搜索新闻时,它回复:



"无法获取网页搜索结果,因为缺少 BRAVE_API_KEY"❞

什么?搜索还要单独的 API Key?

研究了一下发现,nanobot 默认使用 「Brave Search API」 作为搜索后端,这需要注册并获取 API Key。虽然有免费额度,但注册流程有点繁琐。

我就想:能不能支持其他搜索引擎?比如完全免费的 DuckDuckGo?

我的开源贡献:多搜索引擎支持

说干就干!我 fork 了 nanobot 仓库,花了一个下午重构了搜索模块,实现了三种搜索引擎的支持:

架构设计

采用「策略模式」,让搜索后端可插拔:

SearchBackend (抽象基类)     ├── TavilyBackend   (AI 优化搜索,推荐)     ├── BraveBackend    (原版默认)     └── DuckDuckGoBackend (免费,无需 API Key)

核心代码

class SearchBackend(ABC):     @abstractmethod     async def search(self, query: str, max_results: int) -> list[dict]:         pass class DuckDuckGoBackend(SearchBackend):     """免费搜索,无需 API Key"""     async def search(self, query: str, max_results: int) -> list[dict]:         # 解析 DuckDuckGo HTML 页面获取结果         url = f"https://html.duckduckgo.com/html/?q={quote(query)}"         # ... 实现细节

使用方式

现在只需在配置文件中指定引擎即可:

{   "tools": {     "web": {       "search": {         "engine": "tavily",  // 或 "brave" 或 "duckduckgo"         "apiKey": "你的 API Key"       }     }   } }

「三种引擎对比:」

引擎

需要 API Key

搜索质量

推荐场景

Tavily

✅ (免费 1000次/月)

⭐⭐⭐⭐⭐

AI 应用首选

Brave

⭐⭐⭐⭐

隐私优先

DuckDuckGo

⭐⭐⭐

零成本体验

我已经将这个特性提交了 PR,希望能帮助到更多开发者:



PR 地址:https://github.com/HKUDS/nanobot/pull/507❞

效果展示

配置好 Tavily 后,搜索功能完美运行!来看看实际对话效果:

nanobot QQ 机器人对话截图

从截图可以看到:搜索结果的质量相当不错,信息及时且全面,这就是 Tavily 作为 AI 优化搜索引擎的优势。

总结

nanobot 是一个非常适合个人开发者的 AI Agent 框架:

「优点:」

  • 代码量小,易于理解和修改
  • 安装部署简单,5 分钟上手
  • 支持多平台(QQ、微信、Telegram 等)
  • 社区活跃,更新频繁

「适合场景:」

  • 个人 AI 助手
  • 学习 AI Agent 原理
  • 快速原型验证
  • 二次开发定制

「不适合场景:」

  • 企业级生产环境
  • 需要复杂工作流的场景

如果你也想拥有一个 24 小时在线的 AI 助手,不妨试试 nanobot!


「相关链接:」

  • nanobot 官方仓库:https://github.com/HKUDS/nanobot
  • OpenClaw 官方仓库:https://github.com/openclaw/openclaw
  • Gemini API:https://aistudio.google.com/apikey
  • Tavily API:https://tavily.com/
  • QQ 开放平台:https://q.qq.com/



🔥 如果这篇文章对你有帮助,欢迎点赞、在看、转发三连!

有问题欢迎在评论区留言,我会一一解答~❞

Read more

【数学建模】用代码搞定无人机烟幕:怎么挡导弹最久?

【数学建模】用代码搞定无人机烟幕:怎么挡导弹最久?

前言:欢迎各位光临本博客,这里小编带你直接手撕**,文章并不复杂,愿诸君耐其心性,忘却杂尘,道有所长!!!! **🔥个人主页:IF’Maxue-ZEEKLOG博客 🎬作者简介:C++研发方向学习者 📖**个人专栏: 《C语言》 《C++深度学习》 《Linux》 《数据结构》 《数学建模》** ⭐️人生格言:生活是默默的坚持,毅力是永久的享受。不破不立,远方请直行! 文章目录 * 一、先搞懂:我们要解决啥问题? * 二、核心计算:代码怎么判断“烟幕有没有用”? * 1. 先算单个烟幕的“有效时间段” * 2. 合并重叠的时间段(避免重复计算) * 3. 只算“导弹到达前”的有效时间 * 三、代码优化:加了2个实用功能,结果直接看 * 1. 跑完直接显示“最优遮蔽时长”

【花雕学编程】Arduino BLDC 之基于串口指令的远程控制工业巡检机器人

【花雕学编程】Arduino BLDC 之基于串口指令的远程控制工业巡检机器人

基于 Arduino 的 BLDC 串口指令远程控制工业巡检机器人,是一种将嵌入式控制、高效驱动与可靠通信技术深度融合的工业自动化解决方案。该系统以 Arduino 为核心控制器,驱动 BLDC 电机实现高机动性移动,通过串口通信链路接收上位机或远程终端的指令,实现对机器人的精确操控与状态监控。 1、主要特点 高可靠性的串口通信架构 串口通信(UART)作为工业控制领域的基石,提供了稳定、低延迟的指令传输通道。 协议灵活性:系统可定义自定义的二进制或 ASCII 协议。例如,通过发送字符指令(如 “F” 前进, “B” 后退, “L” 左转, “R” 右转)或结构化数据包(包含速度、方向、任务ID等字段),实现复杂的控制逻辑。 硬件接口多样性:物理层可采用标准 TTL 电平、RS232 或 RS485。

【FPGA】Quartus Prime Lite 23.1 最新版 安装教程 ModelSim_18.1 下载安装 + 联调仿真教程 + 详细安装教程 2025最新

【FPGA】Quartus Prime Lite 23.1 最新版 安装教程 ModelSim_18.1 下载安装 + 联调仿真教程 + 详细安装教程 2025最新

前言         本文章基于截至2025年 Quartus_Prime_Lite的最新版 23.1 版本,详细的,一步一步的教你怎么安装,每一步都教你怎么做,按照流程绝对能安装成功。创作不易希望大家看完后点个赞支持创作,谢谢大家啦! 目录  软件下载地址 Quartus Prime Lite 23.1 ModelSim-Intel® FPGA 标准版软件版本 18.1 若不想在官网下载或官网下载速度太慢 点个关注+收藏可以免费用下面的百度链接进行下载  两个软件的安装包都在里面。如果使用百度链接下载则可跳过两个软件的下载流程,直接看安装流程。 一、Quartus Prime Lite 23.1 下载以及安装流程 1.1 Quartus Prime Lite 23.1 官方网站下载流程 第一步 打开上方链接到达如下界面 确保软件名称和版本如下图

硬件-电源-VR多相电源深入解析

1. 引言 一块高性能服务器主板的CPU插槽周围,总是簇拥着一排排整齐的、覆盖着金属散热片的“小方块”。它们就属于VR多相电源的一部分,VR多相电源如同CPU的“专用心脏”,负责将来自电源的“粗犷”能量,转化为CPU所能接受的“精细”养分。本文主要介绍Buck多相电源。 2. VRM是什么?为什么需要“多相”? 2.1 VRM的核心使命:精准的“能量转换师” VRM,全称 Voltage Regulator Module(电压调节模块),其核心任务只有一个:将来自一次电源的电压(如+12V),高效、精准地转换为CPU、GPU等核心芯片所需的低电压(如0.8V~1.3V)和大电流(可达数百A)。 如果让数百安培的电流直接以1V电压从机箱电源传输到CPU,线路损耗将是灾难性的。因此,必须在CPU边上就近进行高效电压转换,这就是VRM存在的根本原因。 2.