一键接入 ChatGPT,让你的QQ群变得热闹起来

15,819 阅读6分钟

本文正在参加 ✍🏻 技术视角深入 ChatGPT 征文活动

🎈 项目效果

  • ChatGPT 的出现对于人们的生活和工作都有着重要的影响,作为一个强大的自然语言处理模型,可以理解和生成自然语言,所以 ChatGPT 非常适合作为聊天机器人,回答你的任何问题
  • 在日常生活中想要更加方便的使用 ChatGPT,当然是将其设置成微信聊天机器人和QQ聊天机器人,随时随地解答你的问题,为你解决疑惑
  • 当然,不推荐您将其设置成微信聊天机器人,因为微信的检测机制,很容易导致你这个号废掉,本人已经亲自踩过坑,但是如果您有很多小号,请随意;因此这里只教大家QQ聊天机器人的搭建方式

🎈 安装环境

  • 支持在 Liunxwindow 上部署,也支持一键启动命令
  • 该项目 chatgpt-mirai-qq-botgithub 上已经进行开源,任何人都可以进行下载
  • 因为只做快速聊天体验,所以本人只部署 window 版本,想要 Liunx 版本的,可自行查看项目中的文档
  • 下载最新版稳定的 window 源码包:github.com/lss233/chat…
  • 本地解压后,双击其中的 初始化.cmd 即可进行环境初始化,一路回车,等待运行成功即可

🎈 配置文件

  • 在初始化的最后,将会打开配置文件 chatgpt/config.cfg,在这个文件中进行配置
  • 配置完成后,保存关闭,初始化环境即是成功
  • 如果暂时不知道怎么配置,也可以保存关闭,后期手动打开 chatgpt/config.cfg 配置即可
  • 关于配置文件中需要配置解释的如下
  • mirai.qq: 这个 qq 必须配置,一般是你的小号,用来作为聊天机器人的 qq
  • api_key: 这个 window 版本默认即可,无需修改,如果是 liunx 则需要修改成 123456789
  • http_url: 这个 window 版本默认即可,无需修改,如果是 liunx 则需要修改成 http://mirai:8080,具体细节可以去项目中的 issues 中查看
  • ws_url:http_url 一样
  • openai:关于 openai 中的配置是最重要的,你会看到可以配置多个账号,这是为了防止被 openai 限制,所以如果你有多个 openai 的账号,可以减轻请求压力,不过一般只填其中一个就行了,因此这里我们只需要完善第一个账号信息即可
  • mode: 可以选择 browser 也可以选择 browserlessbrowser 模式是通过浏览器自动化登录openai,可以看到登录过程,browserless 是走第三方代理,无需浏览器登录,这里我选择的是browserless
  • email/password: 不用不必多说
  • session_token/access_token/api_key: 如果你填了email/password,这个就不用管,不同的登录方式罢了
  • proxy: 这个是字面意思,如果你在国内,这个就必须要填,而且地址最好是漂亮国所在区域,这个参数一般只要修改端口即可,具体看你自己 proxy 的端口
  • system.accept_group_invite: 这个是对QQ的限制,是否接受用户拉你机器人到群里,这个我一般填false,被别人用多了,也增加风险
  • system.accept_friend_request: 这个是对QQ的限制,是否接受用户加你好友,一般人喜欢私聊一些问题,这个我选择true
  • presets: 关于预设,无需修改,默认正常就是使用 chatgpt 进行回复,喜欢不同风格的回复,自己聊天的时候加载就行,这个功能还是很好玩的,不同的预设回复你的时候,语气都不一样。
# 这里是 ChatGPT for QQ 的所有配置文件
# 请注意:以 "#" 开头的文本均为注释
# 不会被程序读取
# 如果你想要使用某个设置,请确保前面没有 "#" 号

[mirai]
qq = 请修改为你机器人的QQ号

manager_qq = 请修改为机器人管理员的QQ号

# 以下设置如果不了解,可以不用理会
api_key = "1234567890"
http_url = "http://localhost:8080"
ws_url = "http://localhost:8080"

[openai]
# OpenAI 相关设置

# 第 1 个账号信息
[[openai.accounts]]
# 模式选择, browser - 浏览器登录, browserless = 无浏览器登录
# 如果你使用浏览器登录卡在 Found session token,就使用无浏览器登录  
mode = 'browserless'

# 你的 OpenAI 邮箱
email = "xxxx" 
# 你的 OpenAI 密码
password = "xxx"

# 对于通过 Google 登录或者微软登录的同学,可以使用 session_token 登录
# 此时的 password 可以直接删除 (email 必填)
# session_token 获取方法:https://github.com/lss233/chatgpt-mirai-qq-bot/issues/96
# 提示:如果使用此模式,请删除下方 session_token 前面的 "#" 号,并给上方的 password 前面加上 "#"
# session_token = "一串 ey 开头的东西"

# 你的 OpenAI access_token,登录后访问`https://chat.openai.com/api/auth/session`获取
# 提示:如果使用此模式,请删除下方 access_token 前面的 "#" 号,并给上方的 email、password 前面加上 "#"
# access_token = "一串 ey 开头的东西"

# 如果你想使用的是 API 版的 ChatGPT,请使用
# api_key = "sk-xxxx"

# 如果你在国内,需要配置代理
# 提示:如果使用此功能,请删除下方 proxy 前面的 "#" 号
# proxy="http://127.0.0.1:1080"

# 是否为 ChatGPT Plus 用户(是的话设置为 true)
paid = false

# 是否开启标题自动重命名
# 若为空或保持注释即不开启
# 支持的变量: {session_id} - 此对话对应的上下文 ID,若产生在好友中,则为好友 QQ 号,若产生在群聊中,则为群号
# 具体见 README 中的介绍
# title_pattern="qq-{session_id}"

# 是否自动删除旧的对话,开启后用户发送重置对话时会自动删除以前的会话内容
# auto_remove_old_conversations = true

# # 第 2 个账号信息,access_token 登录示例
# [[openai.accounts]]
# mode = 'browserless'
# access_token = "xxxxx"
# # proxy="http://127.0.0.1:1080"
# paid = false

# # 第 3 个账号信息, api_key 登录示例
# [[openai.accounts]]
# api_key = "sk-xxxx"

# 如果你想增加更多账号,复制的文本继续添加即可

# [system]
# 是否自动同意进群邀请
accept_group_invite = false
# 是否自动同意好友请求
accept_friend_request = false

[presets]
# 切换预设的命令: 加载预设 猫娘
command = "加载预设 (\w+)"
loaded_successful = "预设加载成功!"
scan_dir = "./presets/"

[presets.keywords]
# 预设关键词 <-> 实际文件
"正常" = "presets/default.txt"
"猫娘" = "presets/catgirl.txt"
# "default" = "presets/default.txt" # 默认预设,开启后所有的会话都会先读这个预设,谨慎使用!

🎈 启动Mirai

  • 在初始化完环境后,会多出两个可执行文件,先点击 Mirai.cmd
  • 这个脚本主要用来登录你的 QQ 机器人账号的,把你的上面配置里面填写的 QQ 设置成机器人
  • 登录机器人命令:login <机器人QQ账号> <机器人QQ密码> <登录协议>
  • 回车即可登录成功,也就是说QQ机器人登录成功了,当然这部分也有可能是最难的,欢迎私信

🎈 启动ChatGPT

  • 最后点击启动 ChatGPT.cmd ,这个可执行文件,就是用来登录 openai
  • 登录成功后,说明 QQ 机器人已经连接上了 ChatGPT,此时即可跟机器人畅所欲言的聊天了