10分钟,无需公网 IP!零门槛搭建 NapCatQQ 趣味 AI 人机,聊天互动超简单
超简单使用NapCatQQ创建AI人机 - 无需公网IP突然发现一个有趣的项目:通过 go-cqhttp 生态模拟QQ客户端行为,让账号伪装成合法虚拟用户,再通过 AstrBot 触发AI对话,实现智能人机交互。核心逻辑如下:
https://obj.kong.college:443/hexoblog/1763886006410-0bd8fddb-1062-4841-a9f8-94df0c6832dd.png
核心原理:go-cqhttp 登录QQ账号后,模拟合法客户端接收消息;AstrBot 搭建WebSocket服务端,NapCat 获取消息后通过WS连接触发AI对话,最终将回复返回给QQ用户。
https://obj.kong.college:443/hexoblog/1763884846787-33d15570-e61e-47fd-9406-630c2f3b9900.png
https://obj.kong.college:443/hexoblog/1763884863253-510deee2-b473-447a-b45d-e4b7d2194c0c.png
核心流程
[*]部署 NapCat 与 AstrBot 容器
[*]NapCat 登录QQ账号,接收用户消息(基于 go-cqhttp 生态)
[*]AstrBot 启动WebSocket服务端,NapCat 通过WS连接推送消息,AI生成回复后返回
https://obj.kong.college:443/hexoblog/1763886262598-81816242-8291-40e4-9dcf-a92cffd87590.png
⚠️ 重要警告:
[*]务必使用QQ小号测试!go-cqhttp 并非QQ官方认可生态,账号有被封禁风险(封禁后无法解封)
[*]严禁用于盈利行为,否则可能面临法律责任
第一步:部署 AstrBot 生态
1.1 创建容器
# 创建工作目录并进入
mkdir astrbot && cd astrbot
# 启动AstrBot容器
sudo docker run -itd \
-p 6180-6200:6180-6200 \
-p 11451:11451 \
-v $PWD/data:/AstrBot/data \
--name astrbot \
soulter/astrbot:latest1.2 配置 AstrBot 基础信息
容器启动后,通过Web界面配置机器人和WS服务:
[*]访问地址:http://服务器IP:6185
[*]默认账号密码:NapCat/NapCat
[*]配置步骤:
[*]点击左侧「机器人」→「创建新的机器人」
[*]选择「QQ个人账户」
[*]机器人名称自定义
[*]反向WebSocket端口保持 11451(或自定义宿主机映射端口)
https://obj.kong.college:443/hexoblog/1763886519610-417f72c6-7cb6-4e10-85dd-d8afaaf358c8.png
第二步:部署 NapCat 消费者(消息接收与转发)
2.1 创建容器
docker run -d \
-e NAPCAT_GID=$(id -g) \
-e NAPCAT_UID=$(id -u) \
-p 3000:3000 \
-p 3001:3001 \
-p 6099:6099 \
--name napcat \
--restart=always \
mlikiowa/napcat-docker:latest2.2 查看容器关键信息
2.2.1 获取WebUI登录Token与QQ登录二维码
# 查看NapCat日志(替换为实际容器ID,可通过 docker ps 查看)
docker logs 容器ID日志中会包含:
[*]WebUI访问Token(用于登录 6099 端口控制面板)
[*]QQ登录二维码(扫码登录小号)
https://obj.kong.college:443/hexoblog/1763887986299-745de32f-b8a5-4eb6-8237-dffbaa0c1819.png
2.2.2 获取 AstrBot 容器IP(关键)
# 查看astrbot容器的内网IP(用于WS连接)
docker inspect -f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' astrbot示例输出:172.17.0.4(需记住此IP,后续配置WS用)
https://obj.kong.college:443/hexoblog/1763888305226-e27fa405-1c85-4473-b4a6-3b6b86217771.png
2.3 配置 NapCat WebSocket 客户端
[*]访问 NapCat WebUI:http://服务器IP:6099,输入日志中的Token登录
[*]左侧「网络配置」→「创建WebSocket Client(客户端)」
[*]配置参数:
[*]URL格式:ws://AstrBot容器IP:11451/ws(例:ws://172.17.0.4:11451/ws)
[*]注意:/ws 后缀必须保留,端口与AstrBot配置一致
https://obj.kong.college:443/hexoblog/1763888130674-41c45658-9038-463c-a664-6a261628635e.png
https://obj.kong.college:443/hexoblog/1763888338599-f9148919-6f3d-4694-8e05-25602d64020c.png
第三步:配置 AI 模型(以硅基流动为例)
3.1 获取硅基流动API密钥
[*]访问 硅基流动官网(填入邀请码 EaeNjBKZ 有优惠)
[*]注册登录后,创建API密钥并复制
https://obj.kong.college:443/hexoblog/1763888677611-8c9dac1c-fb50-430e-903b-8ed62b57fa52.png
3.2 在 AstrBot 中配置AI模型
[*]回到 AstrBot WebUI(http://服务器IP:6185)
[*]左侧「模型提供商」→「新增模型」→ 选择「硅基流动」
[*]配置参数:
[*]ID:保持默认(无需修改)
[*]API Base URL:https://api.siliconflow.cn/v1
[*]API Key:粘贴硅基流动的密钥
[*]模型配置:留空即可
[*]点击「启用」→「保存」
https://obj.kong.college:443/hexoblog/1763888776256-3be0ac78-507b-4c89-a239-2db361e1b6d6.png
https://obj.kong.college:443/hexoblog/1763888917471-d0ad223c-72b3-499f-8831-9f5483314721.png
测试效果
给 NapCat 登录的QQ小号发送消息,即可触发AI回复:
[*]发送 /help 可查看功能列表
[*]日常聊天直接输入内容即可
https://obj.kong.college:443/hexoblog/1763889196324-b71a12ff-b0be-44ad-bd3f-6c1eed90b83d.png
趣味插件推荐(丰富交互)
AstrBot 支持多种插件,以下是简单易配置的趣味插件:
插件名称功能描述效果示例astrbot_plugin_emotionai为AI回复添加情感色彩(开心/难过等)https://obj.kong.college:443/hexoblog/1763889306419-48c7a8bf-7f18-4860-9c2f-ac4e41ec2c0c.pngzhiyu-astrbot-hjm输入「哈基米」返回随机哈基米音乐https://obj.kong.college:443/hexoblog/1763889295201-58f8f7e2-b6d0-455a-92ed-3468eabc54f0.pngastrbot_plugin_doro输入 /doro 或 /cheshire 返回随机表情包https://obj.kong.college:443/hexoblog/1763889367143-a60086af-ed2c-4bef-8f96-b24705e85887.png插件安装方式
[*]进入 AstrBot WebUI → 左侧「插件市场」
[*]搜索插件名称 → 点击「安装」→ 启用即可
最后:邀请码福利
如果觉得硅基流动好用,欢迎使用我的邀请码,双方都有优惠哦!(/ω\)
[*]邀请码:EaeNjBKZ
[*]邀请链接:https://cloud.siliconflow.cn/i/EaeNjBKZ
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
页:
[1]