基于 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 项目目录:

powershell 复制代码
cd C:\Users\lihe4\LangBot

使用 Docker Compose 启动:

powershell 复制代码
docker compose up

启动成功后:

访问:

复制代码
http://127.0.0.1:5300/home/bots

进入 LangBot 管理后台。

Docker 的优势:

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

NapCatQQ 部署过程

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

我的目录:

复制代码
D:\zhuo mian\qqbottes

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

powershell 复制代码
Set-Location "D:\zhuo mian\qqbottes"

随后配置环境变量:

powershell 复制代码
$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"

生成加载文件:

powershell 复制代码
$mainPath = "$PWD\napcat.mjs"

$mainPathWeb = $mainPath -replace '\\','/'

写入:

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

最后启动:

powershell 复制代码
& $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。


相关推荐
ACP广源盛1392462567334 分钟前
Qwen3.8‑2.4T 开源落地@ACP#国产 MoE 私有化部署下 GSV2221 视频转换芯片机遇分析
大数据·数据库·人工智能
冬奇Lab1 小时前
开源项目第190期:claude-video — 给 Claude 装上「眼睛」看视频,一条命令分析 YouTube/Loom/本地视频
人工智能·开源·claude
七牛开发者2 小时前
为什么 Go 很适合 AI 辅助开发?
数据库·人工智能·python·elasticsearch·log4j
dear_bi_MyOnly2 小时前
AI人工智能分类识别——机器如何学习
人工智能·学习·分类
冬奇Lab2 小时前
Code Agent 解剖(04):系统提示词是怎么组装的,agent 的「人格」从哪来?
人工智能·开源·agent
河南凹凸环境艺术设计2 小时前
性价比高的民宿酒店设计企业
大数据·人工智能·python
饼饼学习空间智能2 小时前
家庭服务机器人训练数据怎么积累?仿真、真实采集与持续学习的技术路线分析
人工智能·算法·机器学习
千里念行客2402 小时前
业绩与创新双兑现!科伦博泰的Biopharma进阶之路
大数据·人工智能
深蓝海域知识库3 小时前
评学问练考:大模型AI智能学院——重塑学习培训
人工智能