比 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

Deepoc具身模型:农业除草机器人的智能核心

Deepoc具身模型:农业除草机器人的智能核心

在精准农业和智慧农业加速发展的时代,传统人工除草和化学除草方式正面临效率低、成本高、环境污染等挑战。Deepoc具身模型开发板的出现,为农业除草领域带来了从"人工识别"向"AI识别"、从"粗放作业"向"精准作业"的技术变革,让除草机器人从"执行工具"升级为"田间决策专家"。 技术架构:构建除草机器人的"感知-决策-执行"闭环 Deepoc开发板构建了覆盖农田场景的多模态感知体系。通过高分辨率RGB相机、多光谱相机、深度相机等视觉传感器,实时采集作物和杂草的形态、颜色、纹理特征,构建田间场景的三维视觉理解。集成激光雷达和超声波传感器,实现作物行距、株距的精确测量和障碍物检测,确保作业安全。通过GPS/RTK定位系统,

SenseVoice-small轻量优势:支持INT8量化,推理功耗降低65%实测

SenseVoice-small轻量优势:支持INT8量化,推理功耗降低65%实测 1. 引言:当语音识别遇上“瘦身”挑战 想象一下,你正在开发一款离线语音助手,希望它能流畅运行在用户的手机或平板上。你找到了一个功能强大的语音识别模型,但一测试就傻眼了——模型太大,不仅加载慢,手机还烫得能煎鸡蛋,电量更是肉眼可见地往下掉。这几乎是所有想在端侧(手机、平板、嵌入式设备)部署AI应用的开发者都会遇到的经典难题。 今天,我们要聊的 SenseVoice-small 模型,就是为解决这个难题而生的。它不仅仅是一个轻量级的语音识别模型,更重要的是,它提供了一个经过 INT8量化 的ONNX版本。简单来说,就是给模型做了一次深度“瘦身”和“节能改造”。根据我们的实测,这个量化版本能让推理时的功耗降低高达65%。 这篇文章,我将带你深入看看这个“瘦身”后的模型到底有多强。我们会从它的核心优势讲起,看看它如何通过量化技术实现惊人的能效比,然后我会分享在真实场景下的部署实测数据,最后聊聊它到底能在哪些地方大显身手。无论你是想为产品添加离线语音功能,还是在寻找边缘计算的语音解决方案,

低代码开发是什么意思?

低代码开发是什么意思?

低代码开发是我们在加速数字化转型、快速响应业务需求时的一把利器。它通过图形化拖拽和模型配置,让构建应用像搭积木一样直观,极大地降低了技术门槛。但面对市场上层出不穷的各类低代码开发平台,它们有的强调流程,有的侧重表单,有的深耕行业,到底哪一个更好、更适合自己的团队,我们很难有时间和精力去逐个深入研究。 本文结合对低代码领域的长期观察、实际测试体验,并参考多家权威分析机构的报告与市场反馈,来给大家进行一次清晰的梳理和讲解。旨在帮助大家在看花眼的市场中,理清头绪,在工具选型上节省大量调研和试错的成本。 市场上的盘点很多,为了避免信息过载,这里将聚焦于在企业级应用构建这个核心场景下,综合能力突出、口碑经受住考验的几款主流低代码开发平台。本文将重点说明它们各自的核心优势、最适合解决什么问题,以及它们最关键的差异化功能。 一、什么是低代码开发? 1. 低代码开发概念 低代码开发是一种通过可视化图形界面、拖拽组件和模型驱动逻辑,以最少量的手工编码快速构建应用程序的开发方法。其核心理念并非完全消除代码,而是将开发中大量重复、通用的部分(如界面组件、数据模型、工作流引擎)进行平台化封装和自动

基于FPGA的CLAHE自适应限制对比度直方图均衡算法硬件verilog实现

基于FPGA的CLAHE自适应限制对比度直方图均衡算法硬件verilog实现

基于FPGA的CLAHE自适应限制对比度直方图均衡算法硬件verilog实现 摘要:本文详细阐述了基于 FPGA 的 CLAHE(自适应限制对比度直方图均衡)算法的硬件verilog实现方案。CLAHE是一种强大的图像增强算法,广泛应用于医学影像、红外成像、低照度增强等领域。本文将从算法原理出发,深入讲解各模块的RTL架构设计,包括坐标计数器、直方图统计、CDF计算、双线性插值映射以及乒乓RAM管理等核心模块的实现细节。 项目开源地址:https://github.com/Passionate0424/CLAHE_verilog 开源不易,辛苦各位看官点点star!! 一、CLAHE算法基本原理 1.1 算法背景 CLAHE(Contrast Limited Adaptive Histogram Equalization,对比度受限的自适应直方图均衡)是对传统自适应直方图均衡(AHE)的改进。AHE通过将图像划分为多个子区域(称为 “Tiles”),对每个Tile独立进行直方图均衡化,从而适应图像的局部特性。然而,AHE在噪声较大的平坦区域(如天空、