news 2026/7/29 10:38:35

基于 LangBot + NapCatQQ的QQ AI Bot实战记录

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
基于 LangBot + NapCatQQ的QQ AI Bot实战记录

基于 LangBot + NapCatQQ的QQ AI Bot实战记录

实战核心记录

启动

启动langbot

cd C:\Users\lihe4\LangBot docker compose up
http://127.0.0.1:5300/home/bots
cd C:\Users\lihe4\Downloads\Lagrange.OneBot_win-x64_net9.0_SelfContained\Lagrange.OneBot\bin\Release\net9.0\win-x64\publish .\Lagrange.OneBot (因配置文件反复出错,此方案废弃,相关文件已经清理)

启动linux qq


启动napcat

# 切换到包含空格的工作目录 Set-Location "D:\zhuo mian\qqbottes" # 设置环境变量 $env:QQPath = "C:\Users\lihe4\Downloads\QQ.exe" $env:NAPCAT_PATCH_PACKAGE = "$PWD\qqnt.json" $env:NAPCAT_LOAD_PATH = "$PWD\loadNapCat.js" $env:NAPCAT_INJECT_PATH = "$PWD\NapCatWinBootHook.dll" $env:NAPCAT_LAUNCHER_PATH = "$PWD\NapCatWinBootMain.exe" $mainPath = "$PWD\napcat.mjs" # 将 \ 转换为 /,用于 JS 的 file:// 导入 $mainPathWeb = $mainPath -replace '\\','/' # 写入 loadNapCat.js Set-Content -Encoding UTF8 -Path $env:NAPCAT_LOAD_PATH -Value "(async () => {await import('file:///$mainPathWeb')})()" # 启动 NapCat 启动器 & $env:NAPCAT_LAUNCHER_PATH $env:QQPath $env:NAPCAT_INJECT_PATH 3354642262

登录网址:

http://127.0.0.1:6099/webui/network

最终实战可行


完整方案整理成文

从零搭建个人 QQ AI Bot:基于 LangBot + NapCatQQ

项目背景

最近在 GitHub 上浏览一些开源 AI Bot 项目时,发现很多开发者已经将大语言模型与即时通讯平台结合,实现了自动回复、知识问答、群管理、AI 助手等功能。

因此我尝试在自己的 Windows 电脑上搭建一套完整的 QQ AI Bot 系统。

本次实践没有选择云服务器,而是直接利用个人电脑作为服务器,通过 Docker 部署机器人框架,并连接本机 QQ,实现一个属于自己的 QQ 智能机器人。

最终采用的技术方案如下:

QQ客户端 | | NapCatQQ | | OneBot11 协议 | LangBot | | 大语言模型 / 插件系统

其中:

  • NapCatQQ 负责 QQ 消息协议层;
  • LangBot 负责机器人逻辑、AI 对话以及插件管理;
  • Docker 负责运行后端服务。

项目组成介绍

1. LangBot:机器人核心平台

项目地址:

https://github.com/langbot-app/LangBot

LangBot 是一个开源的多平台智能机器人开发平台,它的定位并不是单纯的 QQ Bot,而是一个连接大语言模型和即时通讯平台的机器人框架。

官方介绍中,它支持:

  • QQ
  • Telegram
  • Discord
  • 微信
  • 飞书
  • 钉钉等平台

同时支持接入:

  • OpenAI
  • DeepSeek
  • Claude
  • Gemini
  • Ollama 等模型服务。

LangBot 最大的特点是提供了 Web 管理界面,可以直接通过浏览器管理机器人。

启动后访问:

http://127.0.0.1:5300/home/bots

即可进入后台管理页面。

相比传统自己编写 QQ Bot,LangBot 提供了:

  • Bot 管理
  • 插件系统
  • 模型配置
  • 消息处理流程
  • Web 可视化管理

降低了开发门槛。


2. NapCatQQ:连接 QQ 的桥梁

项目地址:

https://github.com/NapNeko/NapCatQQ

NapCatQQ 是基于 NTQQ 的 OneBot 协议实现。

简单理解:

QQ 本身并不会直接提供给机器人调用接口,而 NapCatQQ 相当于在 QQ 客户端和机器人框架之间增加了一层转换。

结构如下:

QQ | | NapCatQQ | | OneBot API | | 机器人框架

它负责:

  • 接收 QQ 消息
  • 发送 QQ 消息
  • 获取群信息
  • 获取好友信息
  • 调用 QQ 接口

官方 README 中也说明 NapCatQQ 是基于 NTQQ 的现代化协议端框架,并提供 OneBot 接口能力。


第一次方案尝试:Lagrange.OneBot

最开始选择的是 Lagrange.OneBot。

部署方式:

cd C:\Users\lihe4\Downloads\Lagrange.OneBot_win-x64_net9.0_SelfContained\Lagrange.OneBot\bin\Release\net9.0\win-x64\publish .\Lagrange.OneBot

Lagrange.OneBot 同样属于 QQ OneBot 生态中的实现方案。

但是在实际配置过程中遇到了较多问题:

  • 配置文件容易出错;
  • 参数需要手动调整;
  • 登录流程调试复杂。

由于反复修改配置仍然无法稳定运行,最终放弃该方案。

相关文件也进行了清理。

这也是本次实践中比较重要的一点:

开源项目不一定是越底层越好,实际使用时稳定性和社区生态同样重要。


最终方案:NapCatQQ + LangBot

最终选择:

QQ | NapCatQQ | OneBot | LangBot | AI模型

相比 Lagrange.OneBot,这套方案配置更加直观。


LangBot 部署

首先进入 LangBot 项目目录:

cd C:\Users\lihe4\LangBot

使用 Docker Compose 启动:

docker compose up

启动成功后:

访问:

http://127.0.0.1:5300/home/bots

进入 LangBot 管理后台。

Docker 的优势:

  • 环境隔离;
  • 不需要手动安装大量依赖;
  • 启停方便;
  • 方便后续迁移到服务器。

NapCatQQ 部署过程

NapCatQQ 运行依赖 QQ 客户端,因此需要先准备 QQ 环境。

我的目录:

D:\zhuo mian\qqbottes

由于路径中存在空格,所以 PowerShell 使用:

Set-Location"D:\zhuo mian\qqbottes"

随后配置环境变量:

$env:QQPath ="C:\Users\lihe4\Downloads\QQ.exe"$env:NAPCAT_PATCH_PACKAGE ="$PWD\qqnt.json"$env:NAPCAT_LOAD_PATH ="$PWD\loadNapCat.js"$env:NAPCAT_INJECT_PATH ="$PWD\NapCatWinBootHook.dll"$env:NAPCAT_LAUNCHER_PATH ="$PWD\NapCatWinBootMain.exe"

生成加载文件:

$mainPath="$PWD\napcat.mjs"$mainPathWeb=$mainPath-replace'\\','/'

写入:

Set-Content-Encoding UTF8 `-Path$env:NAPCAT_LOAD_PATH `-Value"(async () => {await import('file:///$mainPathWeb')})()"

最后启动:

&$env:NAPCAT_LAUNCHER_PATH `$env:QQPath `$env:NAPCAT_INJECT_PATH ` 3354642262

启动成功后进入 NapCat 管理页面:

http://127.0.0.1:6099/webui/network

在这里可以配置:

  • OneBot 网络连接
  • WebSocket 地址
  • API 参数

整个系统运行流程

完整消息链路如下:

用户发送 QQ 消息

例如:

用户: 你好,介绍一下TCP协议

消息首先进入:

QQ

然后:

QQ ↓ NapCatQQ ↓ OneBot接口 ↓ LangBot ↓ AI模型

AI 生成回复:

TCP是一种面向连接的可靠传输协议...

再通过相反路径返回 QQ。


版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/29 10:38:05

Python GUI开发:ttk模块入门指南与实战应用

1. 项目概述:为什么需要ttk?如果你用过Python的Tkinter做GUI,大概率经历过这样的时刻:费了半天劲,做出来的窗口界面总感觉像是上个世纪的产物,按钮、输入框、标签这些控件看起来方方正正、棱角分明&#xf…

作者头像 李华
网站建设 2026/7/29 10:38:01

Windows自动化部署工具openclawManager与飞书集成指南

1. 项目概述:openclawManager工具的核心价值openclawManager本质上是一个针对Windows平台的自动化部署工具包,主要解决开源项目openclaw在Windows环境下的复杂配置问题。这个工具的价值在于将原本需要手动执行的十余个步骤(包括环境检测、依赖…

作者头像 李华
网站建设 2026/7/29 10:37:18

STM32双机串口通信实战:从硬件连接到自定义协议设计

1. 项目缘起:从单打独斗到协同作战在嵌入式开发中,我们常常会遇到一个场景:一个STM32板子不够用。可能是功能模块太多,一个MCU的引脚资源或计算能力捉襟见肘;也可能是为了模块化设计,将传感器采集、核心逻辑…

作者头像 李华
网站建设 2026/7/29 10:35:17

免费网盘直链下载助手完整教程:三步告别限速,实现满速下载

免费网盘直链下载助手完整教程:三步告别限速,实现满速下载 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 ,支持 百度网盘 / 阿里云盘 / 中国…

作者头像 李华
网站建设 2026/7/29 10:34:08

抖音批量下载神器:3分钟掌握无水印视频保存完整方案

抖音批量下载神器:3分钟掌握无水印视频保存完整方案 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback support…

作者头像 李华