基于 ChatGPT 的智能 QQ 机器人

QQ机器人简易助手

基于 go-Pichubot 二次开发, 使用 Docker 快捷运行,方便在 QQ 中体验 ChatGPT 智能对话。

Docker
容器化部署
WebSocket
实时通信
ChatGPT
AI 驱动
开源
MIT 许可

核心特性

专为 QQ 群组和个人聊天设计的智能机器人,轻松集成 ChatGPT 能力

快速部署

使用 Docker 容器化部署,无需复杂配置,几分钟即可启动运行

智能对话

集成 ChatGPT 强大的自然语言处理能力,支持上下文对话

白名单控制

支持群组和好友白名单,精准控制机器人服务范围

灵活配置

基于 gocqhttp 的正向 WebSocket,支持自定义端口和 token

自动重启

支持 Docker 自动重启策略,保证服务持续稳定运行

开源文档

完整的配置文档和社区支持,基于成熟的开源生态

部署指南

三步快速部署,即刻开始体验智能对话

1

注册 OpenAI 并获取 Token

前往 OpenAI 官网注册账号,在 API 设置中生成您的访问令牌。此令牌将用于调用 ChatGPT 服务。

前往 OpenAI
2

运行 gocqhttp 作为正向 WebSocket 服务

在 Ubuntu 中使用 Docker 运行 gocqhttp,配置正向 WebSocket 连接。首先创建用户和组:

Shell
sudo groupadd -g 1024 qqbot
sudo useradd -M -g qqbot -s /sbin/nologin -u 1024 qq123456789

然后运行 Docker 镜像(6700 为本项目配置的正向 WebSocket 端口,5700 是 HTTP 端口):

Docker
docker run -it \
--name qqbot \
-v /home/samge/docker_data/qqbot:/data \
-p 5700:5700 \
-p 6700:6700 \
-e TZ="Asia/Shanghai" \
-e UID=1024 \
-e GID=1024 \
ghcr.io/mrs4s/go-cqhttp:1.0.0-rc4

💡 提示:第一次运行会在映射目录下生成 config.yml 配置文件。根据需要启用 HTTP 或正向 WebSocket,填写 QQ、密码、token 等信息。配置完成后保存,重新运行 Docker 镜像并映射相应端口。

3

运行本项目代码进行消息处理

使用 Docker 运行本项目的消息处理服务,配置以下环境变量:

OPEN_AI_TOKEN

OpenAI 的 token 值

GROUP_IDS

群白名单,多个用逗号分隔

FRIEND_IDS

好友白名单,多个用逗号分隔

MASTER_QQ

管理者 QQ,多个用逗号分隔

Docker
docker run -d \
--name samge_qq_bot \
-v /home/samge/docker_data/samge_qq_bot:/app/tmp/qqBotCache \
--pull=always \
--restart always \
-e LANG=C.UTF-8 \
-e TZ="Asia/Shanghai" \
-e OPEN_AI_TOKEN=your_token_here \
-e GROUP_IDS=your_groups \
-e FRIEND_IDS=your_friends \
-e MASTER_QQ=your_master_qq \
-e SOCKET_HOST=ws://your_host:6700 \
-e SOCKET_TOKEN=your_socket_token \
samge/samge_qq_bot:v1

🔧 调试模式

如需调试或开发,可以使用以下方式运行本地版本:

配置文件

cmd/qqBot/botConfig/botConfig.go

安装依赖

go mod tidy

运行程序

go run cmd/qqBot/main.go

相关框架

其他优秀的聊天机器人消息处理框架推荐

常见问题

快速解答部署和使用过程中的常见疑问

使用这个机器人会被封号吗?

⚠️ 重要提示:这是非官方产品,存在被封号的风险。建议使用小号作为 Bot 进行尝试。本项目作者不对使用者的任何行为承担责任。

如何配置群组和好友白名单?

在运行 Docker 容器时,通过环境变量 GROUP_IDSFRIEND_IDS 设置。多个 ID 用逗号分隔,例如:GROUP_IDS=123456,789012

支持哪些 OpenAI 模型?

项目支持 ChatGPT 的各种模型,包括 GPT-3.5、GPT-4 等。具体支持的模型取决于 OpenAI API 的可用性以及您的 API 访问权限。

如何在 Docker 中调试代码?

您可以挂载本地代码目录到容器中,或者使用 go run cmd/qqBot/main.go 直接运行本地版本进行调试。配置文件位于 cmd/qqBot/botConfig/botConfig.go

可以同时运行多个机器人吗?

可以,但需要为每个机器人使用不同的容器名称、端口映射和数据目录。确保每个机器人的 QQ 账号和 OpenAI token 都是独立的。

技术交流

加入我们的社区,获取更多帮助和分享使用经验

加入 Discord
WeChat: SamgeApp