快速部署 QQ 智能机器人:AstrBot+NapCat+DeepSeekAI 实操教程(1)

张开发
2026/4/6 2:09:38 15 分钟阅读

分享文章

快速部署 QQ 智能机器人:AstrBot+NapCat+DeepSeekAI 实操教程(1)
前言本文聚焦如何快速搭建 QQ 智能机器人核心用到 AstrBotAI 机器人框架和 NapCatQQ 协议适配工具借助 Docker 一键部署接入 DeepSeekAI 实现智能对话。AstrBot 支持多 AI 模型、插件扩展与人格定制NapCat 保障 QQ 稳定登录两者结合让 QQ 机器人兼具智能回复、群管理、实时查询等能力还可通过 cpolar 实现公网访问摆脱局域网限制5 分钟即可完成部署大幅降低搭建门槛满足个人或小群体的智能消息处理需求。1 项目介绍1.1 AstrBot是什么AstrBot 是一个专为 AI 大模型设计的开源聊天机器人框架它让你可以轻松地把ChatGPT、DeepSeek、Claude 等 AI接入到 QQ、企业微信、Discord 等各种聊天平台。核心特点原生支持主流 AI 模型DeepSeek、OpenAI、Claude、GLM、通义千问等开箱即用丰富的插件生态天气查询、图片生成、语音合成、群管理等功能一键安装多平台适配支持 QQ、QQ频道、Discord、Telegram 等多个平台开箱即用提供 Docker 镜像和 WebUI 管理界面无需复杂配置模块化设计通过 OneBot 标准协议对接各类消息平台扩展性强简单来说AstrBot 就是一个AI 机器人中枢帮你把AI 能力和聊天平台连接起来让你专注于功能本身而不用操心底层实现。1.2 NapCat 是什么NapCat 是一个基于 NTQQQQ 官方 Linux 版本的 OneBot 协议实现框架说人话就是它能让你的 QQ 账号通过标准化接口被机器人程序调用。在以前大家常用的 go-cqhttp 已经停止维护而 NapCat 作为新一代解决方案具有以下优势核心特点✅稳定可靠基于官方 QQ Linux 版本不是逆向破解稳定性更好持续维护项目活跃开发中及时跟进 QQ 版本更新标准协议完整实现 OneBot v11 协议兼容性强功能完善支持消息收发、群管理、文件传输、语音图片等全部常用功能Docker 友好官方提供 Docker 镜像部署简单安全登录支持扫码登录无需担心密码泄露为什么要用 NapCat因为 QQ 本身不提供公开的 API 接口给开发者而 NapCat 就像一个翻译官把 QQ 的操作翻译成标准的 OneBot 协议接口让 AstrBot 这样的机器人框架可以通过 HTTP/WebSocket 来控制你的 QQ 账号收发消息。简单来说NapCat 负责登录 QQ 并提供接口AstrBot 负责处理逻辑和调用 AI两者配合就能让你的 QQ 变成智能机器人。2 使用Docker一键部署AstrBot NapCat本教程演示在Windows11操作系统上的Docker一键部署部署方式在其他环境也一致。如果您还没有安装Docker的话可以到cpolar官网参考如下教程Docker安装——Linux、Windows、MacOS安装好Docker以后电脑键盘按快捷键Windows R键输入powershell回车打开Windows PowerShell窗口输入如下命令:irm https://gitee.com/jun-wan/script/raw/master/astrbot/deploy_astrbot.ps1|iex可以看到命令执行了检查Docker及状态创建文件夹下载astrbot的docker-compose文件astrbot.yml然后启动容器以及输出容器的访问地址等。如果是Linux部署可以依次执行如下命令即可官方命令mkdirastrbotcdastrbotwgethttps://raw.githubusercontent.com/NapNeko/NapCat-Docker/main/compose/astrbot.ymlsudodockercompose-fastrbot.yml up-d也可以执行如下Linux一键部署命令curl-fsSLhttps://gitee.com/jun-wan/script/raw/master/astrbot/deploy_astrbot.sh|bash控制台提示部署好后我们依次访问一下首先访问Astrbot(访问的IP请查看控制台输出的IP或者使用本地回环地址localhost也可以)http://localhost:6185可以发现成功的访问到啦接下来再试试访问NapCathttp://localhost:6099好啦都访问成功啦3 配置NapCat首先在浏览器中打开如下地址访问NapCat的web登录界面http://localhost:6099/页面上提示需要输入token进行登录我们回到控制台可以看到有一行输出了Token:如果控制台日志清了可以通过查看docker容器日志找到输入如下命令进行查看dockerlogs napcat|Select-StringToken将token复制下来填写web页面中即可进行登录接着登录上你想要作为机器人的QQ账号可以选择侧边的扫码登录登录完成后会自动跳转到首页4 配置AstrBot关联上NapCat4.1 初始化AstrBot配置输入AstrBot的访问地址访问到AstrBot的Web登录界面http://localhost:6185输入用户名和密码astrbot然后点击登录登录成功后首次会提示修改账号信息修改一下然后重新登录即可4.2 AstrBot关联NapCat登录进来后点击侧边的机器人然后在页面点击创建机器人按钮在弹出的窗口中消息类别选择QQ个人号并且启用保存即可保存弹出安全提醒的话直接无视警告并继续创建即可因为是在本地进行所以也无需设置Token当然也可以设置一下创建好后会有成功提示点击展开平台日志然后用另一个QQ账号给机器人账号发送消息测试是否成功通信可以看到成功的接收到了来自另一个账号发送的消息。5 配置DeepSeek接入AstrBot中5.1 获取DeepSeek的Api密钥首先前往DeepSeek官网的用量信息页面未登录会先跳转登录页面登录即可在该页面可以看到余额和消耗https://platform.deepseek.com接着点击API keys,进入该页面在页面上点击创建 API key的按钮然后设置一个名称用于辨识创建完成后点击复制按钮进行复制注意只会显示一次不用刻意记忆忘记删除重新创建即可好了这样就获取到了deepseek的Api密钥了留着备用。5.2 将API密钥配置到AstrBot中首先在AstrBot的后台侧边栏点击模型提供商菜单然后点击页面上的新增模型提供商按钮在弹出的窗口中选择接入DeepSeek在配置页面中点击修改按钮将前面获取到DeepSeek的API密钥填入其中然后点击保存保存后即可看到新增的模型提供商了点击测试按钮可以测试是否可用5.3 简单对话测试是否可用使用另一个账号给前面扫码登录NapCat账号即机器人发送消息进行测试是否成功接入了AI可用看到成功的回复响应了我们的提问。6 更换人设和配置文件相关修改到这一步你的 QQ AI 机器人已经能正常工作了。从如下图中可用看到默认的回答很标准机器人一样这是因为AstrBot的默认人设给的提示词为你是一个乐于助人、友好的助手……我们可用创建一个新的人格设定首先打开AstrBot后台页面选择侧边栏的更多功能下的人格设定项然后在该页面点击创建人格在弹出的窗口中输入人格ID,和系统提示词即可这里提供一些收集到的人设自行获取即可人设全部为官方群获取群友上传非个人创建个别人设可能有点…你懂的123云盘永久链接https://www.123865.com/s/3jOKVv-GSNzH?pwd1314#提取码1314填写完成后点击保存即可即可在人格设定页面看到保存的人格创建好人格后我们可以在对话框中直接输入指令进行查看和切换输入如下指令,可以查看人格相关的指定/persona接着查看一下人格情景列表看看之前在后台创建的人格设定是否能够查询到/persona list可以看到成功的查询到了添加的人格设定接着切换一个测试一下/persona 猫娘(请替换为你创建好的人格ID名称)接着来发送消息测试一下可以看到人格生效了但是回复的内容太长了我们可以让它分段回复更加适合聊天的方式。回到后台页面点击配置文件下拉找到流式回复启用它不支持流式回复的会自动实时分段回复然后点击右下角的保存按钮即可接着再来发送测试一下可以看到现在就能够分段式的回复了。想要切换其他人设同样使用如下命令切换即可但是要注意上下文所以一定要执行/reset清空上下文# 切换人设/persona你要切换的人格设定ID名称# 清空上下文防止原人格对话影响现人格/reset再次测试一下新的人格设定是否生效可以看到成功的生效且分段回复啦到这儿人格设定创建和切换就搞定啦!7 AstrBot插件功能前面我们已经配置好了人设相关配置了接下来我们来添加一些插件让它支持更多功能。我们回到后台页面点击插件侧边菜单栏在插件市场中可以看到许多的插件这里安装一个插件测试一下以点歌插件为例在右上角搜索音乐找到点歌插件进行安装在弹出的窗口中可以选择使用GitHub加速然后测试一下连通性选择一个较低延迟的点击安装安装完成后弹出说明文档接着回到对话框发送指令测试一下/点歌 恋人你想要点歌的歌曲名字可以看到成功的推送了这首歌的歌曲卡片给我安装上了插件就拥有了更多的玩法啦8 AstrBot的MCP服务到这一步你的 QQ AI 机器人已经具备了基础对话能力和丰富的插件功能。但你可能会想**能不能让 AI 机器人更智能一点比如自动查天气、查车票、搜索资料、执行复杂任务**这就是MCPModel Context Protocol模型上下文协议要解决的问题。8.1 什么是 MCPMCP 是一个由 Anthropic 提出的开放协议它让 AI 模型能够通过标准化接口调用外部工具和服务。简单来说MCP 就像给 AI 装上了手和脚让它不再局限于纯文本对话而是能主动调用工具、获取实时信息、执行具体操作。而 AstrBot 正是支持 MCP 协议的机器人框架之一。通过配置 MCP 服务你的 QQ AI 机器人可以️实时查询天气、新闻、股票等信息联网搜索最新资料并总结回复️执行自定义工具比如数据库查询、API 调用等处理复杂任务让 AI 自主选择合适的工具组合完成目标接下来我们就来看看如何在 AstrBot 中启用和配置 MCP 服务让你的 QQ AI 机器人真正智能起来。8.2 安装Mpc服务回到AstrBot后台页面点击侧边菜单栏的MCP然后点击页面上的同步服务器按钮在弹出的窗口中点击蓝色字体ModelScope 平台,进行跳转即如下地址,以12306-mcp为例点击进入https://www.modelscope.cn/mcp进入后点击滚动到下方找到MCP服务器配置点击复制按钮进行复制{mcpServers:{12306-mcp:{command:npx,args:[-y,12306-mcp]}}}复制下来后回到astrbot后台页面点击新增服务器按钮然后在弹出的窗口中设置一个服务器名称服务器配置部分内容粘贴先前复制下来的mcp配置最后点击测试测试可用直接点击保存即可8.3 测试MCP服务接着我们直接回到聊天对话窗口询问一下我们之前配置好的AI机器人可以看到完整的告诉了我普通的快速列车和高铁动车的相关车票信息包含具体的列车号、出发时间、到达时间、座位及价格完美的将12306的MCP服务接入进来啦9 穿透AstrBot实现公网访问到这一步,你的 QQ AI 机器人已经跑得很完美了——能聊天、能切换人设、能调用插件、还支持 MCP 服务。但很快你就会发现一个问题人在外面想调整配置?不行,必须连家里的局域网。机器人突然不回复了? 机器人直接失联。这时候你会意识到,本地部署虽然简单,但只能本地用这个限制实在太致命。不过转折就在这里用 cpolar 做个内网穿透,几条命令搞定,你的 AstrBot 立刻拥有一个公网域名——这意味着你可以在地铁上用手机调机器人切换API key相关操作,可以把管理面板发给异地的朋友访问查看。接下来,我们就用 cpolar 打通这最后一公里。9.1 什么是cpolar?cpolar 是一款内网穿透工具可以将你在局域网内运行的服务如本地 Web 服务器、SSH、远程桌面等通过一条安全加密的中间隧道映射至公网让外部设备无需配置路由器即可访问。广泛支持Windows、macOS、Linux、树莓派、群晖 NAS等平台并提供一键安装脚本方便部署。9.2 下载cpolar打开cpolar官网的下载页面点击立即下载 64-bit按钮,下载cpoalr的安装包:下来下来是一个压缩包,解压后执行目录种的应用程序,一路默认安装即可,安装完成后,打开cmd窗口输入如下命令确认安装:cpolar version出现如上版本即代表安装成功!9.3 注册及登录cpolar web ui管理界面访问cpolar官网点击免费注册按钮进行账号注册进入到如下的注册页面进行账号注册注册完成后,在浏览器中输入如下地址访问 web ui管理界面:http://127.0.0.1:9200输入刚才注册好的cpolar账号登录即可进入后台页面:9.4 穿透AstrBot9.4.1 随机域名方式(免费方案)随机域名方式适合预算有限的用户。使用此方式时系统会每隔24 小时左右自动更换一次域名地址。对于长期访问的不太友好但是该方案是免费的如果您有一定的预算可以查看大纲9.4.2的固定域名方式且访问更稳定。点击左侧菜单栏的隧道管理展开进入隧道列表页面页面下默认会有 2 个隧道remoteDesktop隧道指向3389端口tcp协议website隧道指向8080端口http协议http协议默认会生成2个公网地址一个是http另一个https免去配置ssl证书的繁琐步骤点击编辑website的隧道修改成我们AstrBot需要的信息接着点击左侧菜单的状态菜单接着点击在线隧道列表菜单按钮可以看到有2个astrbot-6185的隧道一个为http协议,另一个为https协议:注意每个用户创建的隧道显示的公网地址都不一样接下来在浏览器中访问astrbot-6185隧道生成的公网地址http和https皆可这里以https为例可以看到成功访问啦!9.4.2 固定域名方式通过前面的配置我们已经成功实现了AstrBot的远程访问但免费随机域名方案的局限性也逐渐显现每24小时左右自动更换域名地址意味着你需要频繁更新书签、重新分享链接甚至可能因为忘记更新而无法访问。固定域名方案正是为了解决这些痛点而生能够让你拥有一个永久不变的专属地址。好啦接下来开始固定保留二级子域名教程首先进入官网的预留页面:https://dashboard.cpolar.com/reserved选择预留菜单即可看到保留二级子域名项填写其中的地区、名称、描述可不填项然后点击保留按钮操作步骤图如下列表中显示了一条已保留的二级子域名记录地区显示为China Top。二级域名显示为astrbot。注二级域名是唯一的每个账号都不相同请以自己设置的二级域名保留的为主接着进入侧边菜单栏的隧道管理下的隧道列表可以看到名为astrbot-6185的隧道点击编辑按钮进入编辑页面修改域名类型为二级子域名然后填写前面配置好的子域名点击更新按钮来到状态菜单下的在线隧道列表可以看到隧道名称为astrbot-6185的公网地址已经变更为二级子域名固定域名主体及后缀的形式了这里以https协议做访问测试加载稍慢需耐心等待一下:访问成功这样一来你就拥有了一个永久不变的专属域名再也不用担心24小时域名更换的问题。总结本教程从部署到优化完整呈现了 AstrBotNapCat 组合搭建 QQ 智能机器人的全流程。从 Docker 一键部署基础环境到配置 NapCat 登录 QQ、关联 AstrBot 接入 DeepSeekAI再到定制人格、安装插件、启用 MCP 服务拓展功能最后通过 cpolar 实现公网访问每一步都简化了操作难度。这套方案兼顾易用性与功能性无需复杂的开发基础就能让 QQ 拥有智能对话、工具调用等能力无论是日常消息处理还是个性化需求都能轻松满足为普通用户打造专属智能 QQ 机器人提供了便捷路径。

更多文章