基于 LangBot + NapCatQQ的QQ AI Bot实战记录
基于 LangBot NapCatQQ的QQ AI Bot实战记录实战核心记录启动启动langbotcd C:\Users\lihe4\LangBot docker compose uphttp://127.0.0.1:5300/home/botscd 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/LangBotLangBot 是一个开源的多平台智能机器人开发平台它的定位并不是单纯的 QQ Bot而是一个连接大语言模型和即时通讯平台的机器人框架。官方介绍中它支持QQTelegramDiscord微信飞书钉钉等平台同时支持接入OpenAIDeepSeekClaudeGeminiOllama 等模型服务。LangBot 最大的特点是提供了 Web 管理界面可以直接通过浏览器管理机器人。启动后访问http://127.0.0.1:5300/home/bots即可进入后台管理页面。相比传统自己编写 QQ BotLangBot 提供了Bot 管理插件系统模型配置消息处理流程Web 可视化管理降低了开发门槛。2. NapCatQQ连接 QQ 的桥梁项目地址https://github.com/NapNeko/NapCatQQNapCatQQ 是基于 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.OneBotLagrange.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-LocationD:\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。

相关新闻

5步快速部署:TrollInstallerX终极iOS越狱应用安装指南

5步快速部署:TrollInstallerX终极iOS越狱应用安装指南

5步快速部署:TrollInstallerX终极iOS越狱应用安装指南 【免费下载链接】TrollInstallerX A TrollStore installer for iOS 14.0 - 16.6.1 项目地址: https://gitcode.com/gh_mirrors/tr/TrollInstallerX 你是否厌倦了iOS系统严格的应用限制?想要安…

2026/10/13 7:48:03 阅读更多 →
深度解析:Beyond Compare 5密钥生成器的底层实现原理与实战指南

深度解析:Beyond Compare 5密钥生成器的底层实现原理与实战指南

深度解析:Beyond Compare 5密钥生成器的底层实现原理与实战指南 【免费下载链接】BCompare_Keygen Keygen for BCompare 5 项目地址: https://gitcode.com/gh_mirrors/bc/BCompare_Keygen 在文件比较和同步工具领域,Beyond Compare 5凭借其卓越的…

2026/10/14 1:08:09 阅读更多 →
Claude Code环境部署与CLI实战指南

Claude Code环境部署与CLI实战指南

1. Claude Code 环境部署全指南1.1 系统环境检查与准备在开始安装Claude Code之前,需要确保你的开发环境满足基本要求。我建议使用64位操作系统,无论是Windows 10/11、macOS 10.15还是主流Linux发行版(如Ubuntu 20.04)都能良好支持…

2026/10/11 3:58:19 阅读更多 →

最新新闻

算法概览图:用拓扑建模实现原理级动画可视化

算法概览图:用拓扑建模实现原理级动画可视化

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/14 1:08:04 阅读更多 →
基于ESP8285与MQTT的远程电机控制器开发全攻略

基于ESP8285与MQTT的远程电机控制器开发全攻略

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/14 1:08:04 阅读更多 →
工业控制系统国产化落地指南:全栈平台迁移路径与工程避坑实践

工业控制系统国产化落地指南:全栈平台迁移路径与工程避坑实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/14 1:08:04 阅读更多 →
Cloud 3.0架构演进:异构调度、数据一致性与能力成本三大挑战

Cloud 3.0架构演进:异构调度、数据一致性与能力成本三大挑战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/14 1:08:04 阅读更多 →
无人驾驶Frenet坐标系:从数学原理到工程落地全解析

无人驾驶Frenet坐标系:从数学原理到工程落地全解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/14 1:08:04 阅读更多 →
Python第3章练习题解析:数据类型、字符串与格式化输出避坑指南

Python第3章练习题解析:数据类型、字符串与格式化输出避坑指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/14 1:07:04 阅读更多 →

日新闻

AnyPS5通用适配层设计:兼容性与性能的工程取舍

AnyPS5通用适配层设计:兼容性与性能的工程取舍

1. 从"AnyPS5"这个名字说起:它到底想解决什么问题第一次看到"AnyPS5"这个标题,我脑子里冒出来的第一个念头是:这大概率是一个围绕"跨平台运行"或者"通用适配"做文章的项目。名字里的"Any"…

2026/10/14 0:00:41 阅读更多 →
Flutter跨平台开发实战:二手交易应用与HarmonyOS适配

Flutter跨平台开发实战:二手交易应用与HarmonyOS适配

1. 项目概述:Flutter跨平台二手交易应用开发作为一名长期从事移动应用开发的工程师,我最近完成了一个基于Flutter框架的二手物品交易平台项目。这个项目最吸引我的地方在于它完美结合了Flutter的跨平台优势与HarmonyOS的生态特性,实现了"…

2026/10/14 0:00:41 阅读更多 →
DFS算法解决飞机降落调度问题实战

DFS算法解决飞机降落调度问题实战

1. 项目背景与核心思路飞机降落问题是一个经典的调度优化场景,也是算法竞赛和面试中的高频题目。这个题目要求我们合理安排多架飞机的降落顺序和时间,确保所有飞机都能安全着陆而不发生冲突。在实际航空管制中,这类问题直接关系到飞行安全和机…

2026/10/14 0:00:41 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/13 2:54:56 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/13 16:22:04 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/13 1:58:08 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 22:01:27 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 14:57:39 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 18:11:17 阅读更多 →