跳到主要内容
极客日志极客日志
首页博客AI提示词GitHub精选代理工具
搜索
|注册
博客列表
PythonWeChatAI

nanobot 轻量 AI Agent 框架搭建 QQ 机器人与搜索功能扩展

nanobot 是一个轻量级 AI Agent 框架,相比 OpenClaw 代码量减少 99%,适合个人开发者快速上手。通过配置 Python 环境、安装依赖及设置 LLM 后端(如 Gemini)和 QQ 开放平台凭证,可在 5 分钟内部署 QQ AI 机器人。针对默认搜索功能需 API Key 的问题,可通过策略模式扩展支持 Tavily、Brave 及 DuckDuckGo 等多种搜索引擎,实现零成本体验或高质量搜索。该框架具备多轮对话、上下文记忆及多平台接入能力,适用于个人助手构建及二次开发。

星辰大海发布于 2026/4/5更新于 2026/4/232 浏览

nanobot 轻量级 AI Agent 框架搭建 QQ 机器人

前言

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

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

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

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

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

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

来看一组对比数据:

项目代码行数核心功能
OpenClaw430,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/

目录

  1. nanobot 轻量级 AI Agent 框架搭建 QQ 机器人
  2. 前言
  3. nanobot:99% 的瘦身,核心功能全保留
  4. 实战:5 分钟搭建 QQ AI 助手
  5. 第一步:环境准备
  6. CentOS/RHEL
  7. Ubuntu/Debian
  8. 第二步:安装 nanobot
  9. 第三步:初始化配置
  10. 第四步:配置 LLM 后端
  11. 第五步:配置 QQ 机器人
  12. 第六步:启动
  13. 注意事项:搜索功能的 API Key 困扰
  14. 扩展功能实现:多搜索引擎支持
  15. 架构设计
  16. 核心代码
  17. 使用方式
  18. 运行效果
  19. 总结
  20. 参考资料
  • 💰 8折买阿里云服务器限时8折了解详情
  • 💰 8折买阿里云服务器限时8折购买
  • 🦞 5分钟部署阿里云小龙虾了解详情
  • 🤖 一键搭建Deepseek满血版了解详情
  • 一键打造专属AI 智能体了解详情
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog

更多推荐文章

查看全部
  • ROS 2 机器人运行指南:海龟仿真器与 ros2 run 命令详解
  • AI 驱动的产品核心功能从需求到上线的全流程管控方法
  • C++ 类和对象进阶:默认成员函数与运算符重载
  • C++ 二叉搜索树(BST)核心原理与实现
  • C++ 红黑树原理与实现:变色旋转及完整代码
  • C++ STL 容器详解:map 与 set 的基本使用及底层原理
  • Ubuntu 下 AMD AI MAX 395+ 使用 ROCm 加速部署 Qwen 模型
  • Gemini 学生计划实战指南:将免费 Pro 权限转化为 AI 求职竞争力
  • AI 时代产品经理工作流:从需求挖掘到上线管控全流程
  • C++ 类与对象:封装特性实现与实战应用
  • Web 版 IM 聊天消息加密的三种算法实现方案
  • Java 初识面向对象:类与对象及封装核心
  • AI 编程技能(Skill)详解与 Java 方法生成实战
  • ctfshow-web257 PHP 反序列化漏洞分析与 Payload 构造
  • 基于 Java 的家政服务管理系统的设计与实现
  • C++ Qt 网络编程:QUdpSocket、QTcpSocket 与 Http 实战
  • Python 实现 2025 中秋月相计算与月球数据可视化
  • 昇腾 CANN 学习路径指南:Python、C++ 与算子开发选型
  • AI 安全:基于 PGD 的 Stable Diffusion 视觉提示词注入攻击
  • C++ STL 常用容器入门与使用指南

相关免费在线工具

  • RSA密钥对生成器

    生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online

  • Mermaid 预览与可视化编辑

    基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online

  • curl 转代码

    解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online

  • Markdown转HTML

    将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online