在这里插入图片描述

家人们!谁懂啊🤯 想让 QQ 变身 “智能搭子”,既能陪聊又能查天气、点歌、查 12306 车票,结果搜了一堆教程,不是要装一堆看不懂的环境,就是登录 QQ 还得绕八百个弯,差点直接放弃!

直到我挖到了「AstrBot+NapCat+cpolar」这个神仙组合 —— 简直是 “技术小白的福音”,不用敲复杂代码,Docker 一键就能跑起来,再用 cpolar 穿个公网,出门在外也能随便调教你的 QQ 机器人,爽到飞起!

先唠唠这俩 “核心选手” 有多顶

AstrBot:AI 机器人的 “大脑”

这货就是个专为 AI 而生的 “聊天机器人中枢”,像个万能转接器 —— 把 ChatGPT、DeepSeek 这些 AI 大模型,和 QQ、Discord 这些聊天平台焊死在一块儿。不用管底层咋实现,你只管喂它指令,它就能让 QQ 秒变智能体:

  • 原生支持 DeepSeek/OpenAI,开箱就能聊;
  • 插件库像哆啦 A 梦的口袋,点歌、查天气、语音合成一键装;
  • 还有 WebUI 管理界面,鼠标点一点就能配置,比玩手游还简单。

NapCat:QQ 的 “翻译官”

以前用的 go-cqhttp 早就歇菜了,NapCat 才是新一代 “YYDS”—— 基于 QQ 官方 Linux 版本做的,不是野路子逆向,登录稳得一批,扫码登录还不担心密码泄露。它的核心作用就是 “翻译”:把 QQ 的操作翻译成标准的 OneBot 协议,让 AstrBot 能精准控制 QQ 收发消息,简单说就是 “NapCat 管登录,AstrBot 管唠嗑”。

操作系统支持

Windows、Linux、MacOS 全兼容,本教程亲测 Windows11,Linux 部署就多敲两行命令,新手也能拿捏。

在这里插入图片描述

AstrBot+NapCat 的出色功能

  1. 零门槛部署:Docker 一行命令搞定,不用配环境、装依赖,5 分钟从 “小白” 到 “拥有专属 QQ 机器人”;
  2. AI 自由聊:对接 DeepSeek AI,想聊啥聊啥,还能自定义人设(猫娘、霸总、搞笑男随便换),回复还能分段发,像真人聊天不尬;
  3. 功能无限扩:插件市场随便装,点歌、查快递、群管理全搞定;接入 MCP 服务后,还能让 AI 自动查 12306 车票、查天气,直接给 AI 装 “手脚”;
  4. 稳定不翻车:NapCat 基于官方 QQ,登录不闪退,消息收发不丢包。
    在这里插入图片描述

实用场景

场景 1:社群管理者的 “摸鱼神器”

✅ 痛点:做社群运营,每天要回复重复问题(比如 “群规在哪?”“活动啥时候开始?”),手都敲麻了,还得随时在线;

✅ 爽点:部署 QQ AI 机器人后,设置好关键词自动回复,DeepSeek AI 还能智能解答个性化问题,比如 “活动规则能再解释下吗?”;装个群管理插件,自动踢广告、拉新人,下班手机一关,机器人替你盯群,摸鱼不耽误工作。

场景 2:学生党 / 打工人的 “私人 AI 助手”

✅ 痛点:想查 12306 车票、问天气,还要切换各种 APP,出门在外想改机器人人设,却因为在公司 / 学校连不上家里的局域网,只能干瞪眼;

✅ 爽点:用 cpolar 穿透后,手机连 4G 也能访问 AstrBot 后台,随时切换机器人人设(比如改成 “考研答疑搭子”),发一句 “查下北京到上海的高铁票”,AI 直接调用 MCP 服务把车次、价格、时间全列出来,不用再打开 12306 APP,主打一个 “一站式搞定”。

在这里插入图片描述

cpolar 内网穿透技术带来的便利

本来部署好的 AstrBot+NapCat 只能在局域网用,出门想改个 AI 密钥、换个人设都没戏,直到用上 cpolar,直接解锁 “公网自由”:

  1. 随时随地管理:不管是在地铁、公司、咖啡店,只要有网就能用手机 / 电脑访问 AstrBot 后台,改配置、装插件、换人设,再也不用蹲家里的局域网;
  2. 稳定不换地址:免费版随机域名虽然 24 小时更一次,但 cpolar 支持 “固定二级子域名”,花点小钱就能拥有永久不变的地址,不用每天记新域名,分享给朋友也不用反复发链接;
  3. 操作超简单:不用配路由器、不用搞端口映射,注册 cpolar 账号后,在 web 管理界面点几下,就能把本地的 AstrBot 服务映射到公网,HTTPS 自动配好,不用折腾 SSL 证书;
  4. 安全不翻车:cpolar 的隧道是加密的,公网访问也不怕数据泄露,比自己搭反向代理安全多了;
  5. 多设备兼容:手机、平板、电脑都能访问穿透后的地址,甚至能把机器人管理面板分享给异地的朋友,一起调教 AI。

在这里插入图片描述

总结

AstrBot+NapCat 就像 “智能 QQ 机器人的灵魂 CP”,解决了 QQ 对接 AI 的所有技术门槛,Docker 一键部署让新手也能上手;而 cpolar 则是 “临门一脚”,把只能蹲内网的机器人解放出来,实现真正的 “随时随地可用”。

从 5 分钟搭建基础版,到自定义人设、装插件、接 MCP 服务,再到 cpolar 穿透实现公网访问,这套组合拳打下来,你的 QQ 不再只是聊天工具,而是能陪聊、能干活、能摸鱼的智能搭子✨。

不管是想做社群管理、私人 AI 助手,还是单纯想玩个性化 QQ 机器人,这一套流程走下来,技术小白也能直接封神 —— 毕竟,谁能拒绝一个 24 小时在线、听话又能干的 AI QQ 机器人呢?

教程早就为您准备好了,就在下面!就在下面呦!

这篇教程会带你用最简单的方式:**只用一份 docker-compose,一次命令,5 分钟以内完成 AstrBot + NapCat 部署,把 DeepSeekAI 接入你的 QQ。**AstrBot 本身就是为 AI 而生的现代化机器人框架,插件丰富、支持 DeepSeek/OpenAI 等大模型、带 WebUI、可扩展性强,真正做到"搭好就能用"。照着做,你马上就能拥有属于自己的 QQ AI 机器人。

1 项目介绍

1.1 AstrBot是什么?

image-20251123183333728

GitHub 仓库:https://github.com/AstrBotDevs/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 是什么?

仓库地址:https://github.com/NapNeko/NapCatQQ

NapCat 是一个基于 NTQQ(QQ 官方 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的话,可以参考如下教程:Docker安装——Linux、Windows、MacOS

安装好Docker以后,电脑键盘按快捷键Windows + R键,输入powershell回车,打开Windows PowerShell窗口,输入如下命令:

irm https://gitee.com/jun-wan/script/raw/master/astrbot/deploy_astrbot.ps1 | iex

image-20251123200910304

可以看到,命令执行了检查Docker状态创建文件夹,下载astrbot的docker-compose文件astrbot.yml,然后启动容器,以及输出容器的访问地址等。

如果是Linux部署,可以依次执行如下命令即可(官方命令):

mkdir astrbot
cd astrbot
wget https://raw.githubusercontent.com/NapNeko/NapCat-Docker/main/compose/astrbot.yml
sudo docker compose -f astrbot.yml up -d

也可以执行如下Linux一键部署命令:

curl -fsSL https://gitee.com/jun-wan/script/raw/master/astrbot/deploy_astrbot.sh | bash

控制台提示部署好后,我们依次访问一下,首先访问Astrbot(访问的IP请查看控制台输出的IP,或者使用本地回环地址localhost也可以):

http://localhost:6185

image-20251123203853914

可以发现,成功的访问到啦,接下来再试试访问NapCat:

http://localhost:6099

image-20251123203901885

好啦,都访问成功啦!

3 配置NapCat

首先,在浏览器中打开如下地址,访问NapCat的web登录界面:

http://localhost:6099/

image-20251123205348634

页面上提示,需要输入token进行登录,我们回到控制台,可以看到有一行输出了Token:
image-20251123205444935

如果控制台日志清了,可以通过查看docker容器日志找到,输入如下命令进行查看:

docker logs napcat | Select-String "Token"

image-20251123210323569

将token复制下来,填写web页面中,即可进行登录:
image-20251123205533979

接着,登录上你想要作为机器人的QQ账号,可以选择侧边的扫码登录,登录完成后,会自动跳转到首页:

image-20251123210534466

4 配置AstrBot关联上NapCat

4.1 初始化AstrBot配置

输入AstrBot的访问地址,访问到AstrBot的Web登录界面:

http://localhost:6185

image-20251123210740085

输入用户名和密码astrbot,然后点击登录,登录成功后首次会提示修改账号信息,修改一下然后重新登录即可:

image-20251123210830583

4.2 AstrBot关联NapCat

登录进来后,点击侧边的机器人,然后在页面点击创建机器人按钮,在弹出的窗口中,消息类别选择QQ个人号,并且启用,保存即可:

image-20251123211152800

保存弹出安全提醒的话,直接无视警告并继续创建即可(因为是在本地进行,所以也无需设置Token,当然也可以设置一下),创建好后,会有成功提示:
image-20251123211411957

点击展开平台日志,然后用另一个QQ账号给机器人账号发送消息测试,是否成功通信:

image-20251123211819688

可以看到,成功的接收到了来自另一个账号发送的消息。

5 配置DeepSeek接入AstrBot中

5.1 获取DeepSeek的Api密钥

首先,前往DeepSeek官网的用量信息页面,未登录会先跳转登录页面,登录即可,在该页面可以看到余额和消耗

https://platform.deepseek.com

image-20251123212312595

接着,点击API keys,进入该页面:

image-20251123212412923

在页面上点击创建 API key的按钮,然后设置一个名称(用于辨识),创建完成后点击复制按钮进行复制(注意,只会显示一次,不用刻意记忆,忘记删除重新创建即可):

image-20251123212454913

好了,这样就获取到了deepseek的Api密钥了,留着备用。

5.2 将API密钥配置到AstrBot中

首先,在AstrBot的后台侧边栏点击模型提供商菜单,然后点击页面上的新增模型提供商按钮,在弹出的窗口中选择接入DeepSeek
image-20251123213212109

在配置页面中点击修改按钮,将前面获取到DeepSeek的API密钥填入其中,然后点击保存
image-20251123213521325

保存后,即可看到新增的模型提供商了,点击测试按钮,可以测试是否可用:
image-20251123213608969

5.3 简单对话测试是否可用

使用另一个账号,给前面扫码登录NapCat账号(即机器人)发送消息,进行测试是否成功接入了AI:
image-20251123214128707

可用看到,成功的回复响应了我们的提问。

6 更换人设和配置文件相关修改

到这一步,你的 QQ AI 机器人已经能正常工作了。从如下图中可用看到,默认的回答很标准机器人一样:
image-20251124095024827

这是因为AstrBot的默认人设给的提示词为:

你是一个乐于助人、友好的助手……

image-20251124095151804

我们可用创建一个新的人格设定,首先,打开AstrBot后台页面,选择侧边栏的更多功能下的人格设定项,然后在该页面点击创建人格,在弹出的窗口中输入人格ID,和系统提示词即可:
image-20251124100820821

这里提供一些收集到的人设,自行获取即可(人设全部为官方群获取,群友上传,非个人创建,个别人设可能有点…你懂的):

123云盘永久链接:https://www.123865.com/s/3jOKVv-GSNzH?pwd=1314#

提取码:1314

填写完成后,点击保存即可,即可在人格设定页面看到保存的人格:
image-20251124102106235

创建好人格后,我们可以在对话框中直接输入指令进行查看和切换,输入如下指令,可以查看人格相关的指定:

/persona

image-20251124103153219

接着,查看一下人格情景列表,看看之前在后台创建的人格设定是否能够查询到:

/persona list

image-20251124103302095

可以看到,成功的查询到了添加的人格设定,接着切换一个测试一下:

/persona 猫娘(请替换为你创建好的人格ID名称)

image-20251124103450166

接着来发送消息测试一下:
image-20251124103547234

可以看到,人格生效了,但是回复的内容太长了,我们可以让它分段回复,更加适合聊天的方式。回到后台页面,点击配置文件,下拉找到流式回复,启用它,不支持流式回复的会自动实时分段回复,然后点击右下角的保存按钮即可:
image-20251124103742684

接着再来发送测试一下:
image-20251124103856180

可以看到,现在就能够分段式的回复了。想要切换其他人设,同样使用如下命令切换即可,但是要注意上下文,所以一定要执行/reset清空上下文:

# 切换人设
/persona <你要切换的人格设定ID名称>

# 清空上下文,防止原人格对话影响现人格
/reset

image-20251124104244203

再次测试一下新的人格设定,是否生效:
image-20251124104311795

可以看到,成功的生效且分段回复啦,到这儿,人格设定创建和切换就搞定啦!

7 AstrBot插件功能

前面我们已经配置好了人设相关配置了,接下来我们来添加一些插件,让它支持更多功能。我们回到后台页面,点击插件侧边菜单栏,在插件市场中可以看到许多的插件:
image-20251124113803564

这里安装一个插件测试一下,以点歌插件为例,在右上角搜索音乐,找到点歌插件进行安装:
image-20251124114659439

在弹出的窗口中,可以选择使用GitHub加速,然后测试一下连通性,选择一个较低延迟的点击安装:
image-20251124115256225

安装完成后弹出说明文档:
image-20251124115341542

接着回到对话框发送指令测试一下:

/点歌 恋人(你想要点歌的歌曲名字)

image-20251124115515662

可以看到成功的推送了这首歌的歌曲卡片给我,安装上了插件,就拥有了更多的玩法啦!

8 AstrBot的MCP服务

到这一步,你的 QQ AI 机器人已经具备了基础对话能力丰富的插件功能。但你可能会想:**能不能让 AI 机器人更智能一点?比如自动查天气、查车票、搜索资料、执行复杂任务?**这就是 MCP(Model Context Protocol,模型上下文协议) 要解决的问题。

8.1 什么是 MCP?

MCP 是一个由 Anthropic 提出的开放协议,它让 AI 模型能够通过标准化接口调用外部工具和服务。简单来说,MCP 就像给 AI 装上了"手和脚",让它不再局限于纯文本对话,而是能主动调用工具、获取实时信息、执行具体操作。

而 AstrBot 正是支持 MCP 协议的机器人框架之一。通过配置 MCP 服务,你的 QQ AI 机器人可以:

  • 🌤️ 实时查询天气、新闻、股票等信息
  • 🔍 联网搜索最新资料并总结回复
  • 🛠️ 执行自定义工具,比如数据库查询、API 调用等
  • 📊 处理复杂任务,让 AI 自主选择合适的工具组合完成目标

接下来,我们就来看看如何在 AstrBot 中启用和配置 MCP 服务,让你的 QQ AI 机器人真正"智能"起来。

8.2 安装Mpc服务

回到AstrBot后台页面,点击侧边菜单栏的MCP,然后点击页面上的同步服务器按钮,在弹出的窗口中点击蓝色字体ModelScope 平台,进行跳转:
image-20251124133852557

即如下地址,以12306-mcp为例,点击进入:

https://www.modelscope.cn/mcp

image-20251124134022977

进入后,点击滚动到下方,找到MCP服务器配置,点击复制按钮进行复制:

{
    "mcpServers": {
        "12306-mcp": {
            "command": "npx",
            "args": [
                "-y",
                "12306-mcp"
            ]
        }
    }
}

image-20251124134112637

复制下来后,回到astrbot后台页面,点击新增服务器按钮,然后在弹出的窗口中设置一个服务器名称,服务器配置部分内容粘贴先前复制下来的mcp配置,最后点击测试,测试可用直接点击保存即可:

image-20251124134422796

8.3 测试MCP服务

接着,我们直接回到聊天对话窗口,询问一下我们之前配置好的AI机器人:
image-20251124134847881

可以看到,完整的告诉了我普通的快速列车高铁动车的相关车票信息,包含具体的列车号、出发时间、到达时间、座位及价格,完美的将12306的MCP服务接入进来啦!

9 穿透AstrBot实现公网访问

到这一步,你的 QQ AI 机器人已经跑得很完美了——能聊天、能切换人设、能调用插件、还支持 MCP 服务。但很快你就会发现一个问题:人在外面想调整配置?不行,必须连家里的局域网。机器人突然不回复了? 机器人直接"失联"。 这时候你会意识到,本地部署虽然简单,但"只能本地用"这个限制实在太致命。

不过转折就在这里:用 cpolar 做个内网穿透,几条命令搞定,你的 AstrBot 立刻拥有一个公网域名——这意味着你可以在地铁上用手机调机器人,切换API key相关操作,可以把管理面板发给异地的朋友访问查看。接下来,我们就用 cpolar 打通这"最后一公里"。

9.1 什么是cpolar?

image-20250910114418412

  • cpolar 是一款内网穿透工具,可以将你在局域网内运行的服务(如本地 Web 服务器、SSH、远程桌面等)通过一条安全加密的中间隧道映射至公网,让外部设备无需配置路由器即可访问。
  • 广泛支持 Windows、macOS、Linux、树莓派、群晖 NAS 等平台,并提供一键安装脚本方便部署。

9.2 下载cpolar

打开cpolar官网的下载页面:https://www.cpolar.com/download
点击立即下载 64-bit按钮,下载cpoalr的安装包:

image-20250815171202537

下来下来是一个压缩包,解压后执行目录种的应用程序,一路默认安装即可,安装完成后,打开cmd窗口输入如下命令确认安装:

cpolar version

image-20250815171446129

出现如上版本即代表安装成功!

9.3 注册及登录cpolar web ui管理界面

官网链接:https://www.cpolar.com/

访问cpolar官网,点击免费注册按钮,进行账号注册

image-20250804085039567

进入到如下的注册页面进行账号注册:
image-20250804085208319

注册完成后,在浏览器中输入如下地址访问 web ui管理界面:

http://127.0.0.1:9200

image-20250815171734046

输入刚才注册好的cpolar账号登录即可进入后台页面:

image-20250815171846757

9.4 穿透AstrBot

9.4.1 随机域名方式(免费方案)

随机域名方式适合预算有限的用户。使用此方式时,系统会每隔 24 小时 左右自动更换一次域名地址。对于长期访问的不太友好,但是该方案是免费的,如果您有一定的预算,可以查看大纲9.4.2固定域名方式,且访问更稳定

点击左侧菜单栏的隧道管理,展开进入隧道列表页面,页面下默认会有 2 个隧道:

  • remoteDesktop隧道,指向3389端口,tcp协议
  • website隧道,指向8080端口,http协议(http协议默认会生成2个公网地址,一个是http,另一个https,免去配置ssl证书的繁琐步骤)

image-20250914174356363

点击编辑website的隧道,修改成我们AstrBot需要的信息:

image-20251124163111209

接着,点击左侧菜单的状态菜单,接着点击在线隧道列表菜单按钮,可以看到有2个astrbot-6185的隧道,一个为http协议,另一个为https协议:

注意:每个用户创建的隧道显示的公网地址都不一样!

image-20251124163228676

接下来在浏览器中访问astrbot-6185隧道生成的公网地址(http和https皆可),这里以https为例:

image-20251124163410726

可以看到成功访问啦!

9.4.2 固定域名方式

通过前面的配置,我们已经成功实现了AstrBot的远程访问,但免费随机域名方案的局限性也逐渐显现:每24小时左右自动更换域名地址,意味着你需要频繁更新书签、重新分享链接,甚至可能因为忘记更新而无法访问。固定域名方案正是为了解决这些痛点而生,能够让你拥有一个永久不变的专属地址

好啦,接下来开始固定保留二级子域名教程!

首先,进入官网的预留页面:

https://dashboard.cpolar.com/reserved

选择预留菜单,即可看到保留二级子域名项,填写其中的地区名称描述(可不填)项,然后点击保留按钮,操作步骤图如下:

image-20251124164228056

列表中显示了一条已保留的二级子域名记录:

  • 地区:显示为China Top
  • 二级域名:显示为astrbot

注:二级域名是唯一的,每个账号都不相同,请以自己设置的二级域名保留的为主

接着,进入侧边菜单栏的隧道管理下的隧道列表,可以看到名为astrbot-6185的隧道,点击编辑按钮进入编辑页面:

image-20251124164327252

修改域名类型为二级子域名,然后填写前面配置好的子域名,点击更新按钮:

image-20251124165221495

来到状态菜单下的在线隧道列表可以看到隧道名称为astrbot-6185的公网地址已经变更为二级子域名+固定域名主体及后缀的形式了:

image-20251124165819401

这里以https协议做访问测试(加载稍慢,需耐心等待一下):

image-20251124165834465

访问成功!这样一来,你就拥有了一个永久不变的专属域名,再也不用担心24小时域名更换的问题。

总结

本教程带你从零搭建了一个基于 AstrBot + NapCat 的 QQ AI 机器人,实现了 DeepSeek 智能对话、人设切换、插件扩展,并通过 MCP 协议增强 AI 能力cpolar 内网穿透让服务支持公网访问。

  • 使用 Docker 一键部署 AstrBot 和 NapCat,快速接入 DeepSeek AI 实现智能对话
  • 支持自定义人设切换、丰富插件生态和 MCP 服务,让机器人具备实时查询等扩展能力
  • 通过 cpolar 内网穿透实现公网访问,支持随机域名和固定域名方案

通过本教程,你可以快速搭建一个功能强大、随时在线的 QQ AI 机器人,既能满足个人使用,也能分享给朋友体验。

感谢您阅读本文,有任何问题欢迎留言交流。cpolar官网 – 安全的内网穿透工具 | 无需公网IP | 远程访问 | 搭建网站

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐