why chatgpt-for-bot

ChatGPT for Bot 是一个支持多平台、多语言模型的聊天机器人项目。它可以让你在聊天平台上对接语言模型,实现和语言模型的直接对话。

chatgpt.png

项目地址:lss233/chatgpt-mirai-qq-bot: 🚀 一键部署!真正的 AI 聊天机器人!支持ChatGPT、文心一言、讯飞星火、Bing、Bard、ChatGLM、POE,多账号,人设调教,虚拟女仆、图片渲染、语音发送 | 支持 QQ、Telegram、Discord、微信 等平台 (github.com)

支持的功能如下

图片发送

  • 关键词触发回复
  • 多账号支持
  • 百度云内容审核
  • 额度限制
  • 人格设定
  • 支持 Mirai、 go-cqhttp、 Telegram、Discord、微信
  • 可作为 HTTP 服务端提供 Web API
  • 支持 ChatGPT 网页版
  • 支持 ChatGPT Plus
  • 支持 ChatGPT API
  • 支持 Bing 聊天
  • 支持 Google bard
  • 支持 poe.com 网页版
  • 支持 文心一言 网页版
  • 支持 ChatGLM-6B 本地版

聊天平台兼容:

平台 群聊回复 私聊回复 条件触发 管理员指令 绘图 语音回复
Mirai 支持 支持 支持 支持 支持 支持
OneBot 支持 支持 支持 支持 支持 支持
Telegram 支持 支持 部分支持 部分支持 支持 支持
Discord 支持 支持 部分支持 不支持 支持 支持
企业微信 支持 支持 支持 不支持 支持 支持
个人微信 支持 支持 支持 不支持 支持 支持

其他功能支持

  • HTTP API
  • 加载预设
  • 文字转图片
  • 文字转语音

部署教程

支持 Windows 和 Linux 平台,对于不同的平台,有不同的快速部署脚本。

windows部署

在Windows下分为这两种部署,可以参考官方链接, 在这里主要使用Docker在Linux下部署

Windows 快速部署教程 (Mirai 版) | ChatGPT for QQ 使用文档 (lss233.com)

Windows 快速部署教程(go-cqhttp版) | ChatGPT for QQ 使用文档 (lss233.com)

Linux下部署

推荐使用浪浪云:提供高性能、可靠稳定的云服务器解决方案 (langlangy.com)进行服务部署

20240401145207.png

首先我们先来到官方地址进行一键部署,操作系统推荐使用乌班图。复制一键部署命令,通过远程连接浪浪云的服务器进行命令的复制

image-nrgf.png

①链接服务器

image-rufi.png

点击管理

image-itmv.png

获得服务器的账号和密码进行远程连接,将刚才复制好的命令进行粘贴

②开始一键部署

image-vuen.png

回车运行我们的命令,如果没有安装Docker的话,会自动安装Docker,我们此时需要在命令行中输入Y确定安装。如果有Docker的话就不需要了。

image-u9g6.png

同样还有Docker Compose也是一样的步骤

image-fpqv.png

等待Docker和Docker Compose安装完毕

此时我们会进入默认配置文件,具体配置如下图

image-ovjn.png

image-ytkp.png

配置完成之后进行镜像的拉取。

安装完以后可以看到对应的提示文件,还有作者的爱发电,可以保存下命令进行日常的使用

程序已被安装在 ./chatgpt-qq 下,
以下是一些维护的注意事项:

  1. 你需要先 cd ./chatgpt-qq 才能进入到程序的安装目录。
  2. 你可以输入docker-compose logs -f --tail=100 来观察运行日志。
  3. 修改配置文件后,使用 docker-compose restart 重启程序。
  4. 使用 docker-compose pull && docker-compose up -d 命令来更新程序
    如果你记不住的话,可以把上面这段文字保存到一个文件里面,需要的时候再看。
    如果您遇到问题可以在这里寻找答案:
    https://chatgpt-qq.lss233.com/
    如果您觉得此脚本对你有帮助的话,欢迎您在爱发电支持作者。
    https://afdian.net/a/lss233
    再见。

③软件的配置

1.首先进入软件的安装目录,找到一个名为 config.cfg的配置文件

root@ECS3443:~# cd chatgpt-qq/
root@ECS3443:~/chatgpt-qq# ls
config.cfg  data  docker-compose.yaml  gocqhttp  presets
root@ECS3443:~/chatgpt-qq# vim config.cfg 

image-xfem.png

2.基础功能的配置,chatgpt-for-bot的功能比较多我在此举出几个功能的配置,如果还需要其他功能的配置,请在下方留言,我会跟新这个教程

相关的配置我在复制在这里,并进行对应的注释

image-qryr.png

[onebot]
qq=123456
manager_qq=1234567
# 此处保持默认设置,无需修改
reverse_ws_port = 8554
[openai]
[[openai.accounts]]
api_key = "你的APIkey"
# 这里填写的内容由你的代理程序提供
proxy="代理网址"
# 模型的选择,根据你的提供商选择
model="gpt-4"

# 文本转语音,也就是让qq机器人发语音
[text_to_speech]
# 引擎名填写这一个
# # 设置后可以使用 Edge 的语音转文字功能
engine = "edge"
#
# # 音色名
default = "zh-CN-XiaoxiaoNeural"

一个完整的配置案列,供大家参考

# 这里是 ChatGPT for QQ 的所有配置文件
# 请注意:以 "#" 开头的文本均为注释
# 不会被程序读取
# 如果你想要使用某个设置,请确保前面没有 "#" 号
[mirai]
# Mirai 相关设置

qq = 请填写机器人的 QQ 号,不要加引号

manager_qq = 请修改为机器人管理员的QQ号,不要加引号

# 以下设置如果不懂 无需理会

api_key = "1234567890" # mirai-http-api 中的 verifyKey
# mirai api http 反向连接模式
# 使用此模式可以将本项目与 mirai 分离在两个不同服务器部署
reverse_ws_host = "localhost"
reverse_ws_port = 8554
# mirai api http 正向连接模式
# 使用此模式时需注释上面的反向连接模式
# http_url = "http://localhost:8080"
# ws_url = "http://localhost:8080"

# Discord 设置,开启后可以支持 Discord 机器人
# [discord]
# bot_token = "xxx"

# Telegram 设置,开启后可以支持 Telegram 机器人
# [telegram]
# # 这个 token 是找 BotFather 要的
# bot_token = "你的 Bot token"
# # 如果部署在国内,就填这个设置代理
# # 不填的话就会读取系统的代理设置
# proxy = "http://localhost:1080"
# # 管理员的 chat id
# manager_chat = 1234567890

# ==== OpenAI 部分开始
[openai]
# OpenAI 相关设置
# 自定义 ChatGPT 的 browserless 接入点
# 自 3月9日 开始,不设置此项将无法正常使用 browserless 模式下的网页版 ChatGPT
browserless_endpoint = "https://chatgpt-proxy.lss233.com/api/"


# 自定义 OpenAI 的 API 接口基础地址
# 通过此功能,你可以搭建一个 OpenAI 的反向代理来避免网络问题
# 例如此项目:https://github.com/Ice-Hazymoon/openai-scf-proxy
api_endpoint = "https://chatgpt-proxy.lss233.com/v1/"

# 以下是 GPT3(.5) 和 GPT4 的模型参数
# 在使用 API 调用时有效
# 参数具体含义可以见 https://platform.openai.com/docs/api-reference/completions/create
# 如果你不了解,可以保持默认
[openai.gpt3_params]
temperature = 1.0
max_tokens = 4000
top_p = 1.0
presence_penalty = 0.5
frequency_penalty = 0.5
min_tokens = 1000
# 以下是 OpenAI 账号设置

# 你可以用多种不同的方式登录 OpenAI
# 你也可以登录很多个不同的账号(无限多个)
# 下面的例子会向你演示使用不同方式登录时
# 配置文件的写法

# 第 1 个 OpenAI 账号
# 使用 access_token 登录
# 优点:
# 1. 适用于在国内网络环境
# 2. 适用于通过 Google / 微软 注册的 OpenAI 账号
# 3. 登录过程较快
# 缺点:
# 1. 有效期为 30 天,到期后需更换
# 2. 有可能会封号
[[openai.accounts]]
mode = "browserless"

# 你的 access_token,登录 OpenAI 后访问`https://chat.openai.com/api/auth/session`获取
access_token = "一串 ey 开头的东西"

# 下面是所有的 OpenAI 账号都可以有的设置
# ========= 开始 ========

# 如果你在国内,需要配置代理
proxy="http://127.0.0.1:1080"

# 使用 ChatGPT Plus(plus 用户此项设置为 true 使用 legacy 模型)
paid = false

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

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

# ===== 结束 =====

# 第 2 个 OpenAI 账号
# 使用 api key 登录
# 当你设置了 API Key 之后
# 你就可以使用 OpenAI 中收费的 ChatGPT API、AI 画图等功能
# 优点:
# 1. 响应快
# 2. 不咋封号
# 3, 可以调参
# 缺点:
# 1. 烧钱
# 2. 暂不支持 GPT4 (3月15日)
[[openai.accounts]]
# 你的 API key,可以在这里看: https://platform.openai.com/account/api-keys
api_key="sk-xxxxx"
# 如果你在国内,需要配置代理
proxy="http://127.0.0.1:1080"

# 第 5 个 OpenAI 账号
# 理论上你可以添加无限多个 OpenAI 账号
# 你可以自行添加或删除配置文件来设置账号信息
[[openai.accounts]]
mode = "browserless"

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

# 如果你在国内,需要配置代理
proxy="http://127.0.0.1:1080"

# 使用 ChatGPT Plus(plus 用户此项设置为 true 使用 legacy 模型)
paid = false

# 是否开启标题自动重命名
title_pattern="qq-{session_id}"

# 是否自动删除旧的对话
auto_remove_old_conversations = true

# === OpenAI 账号部分结束

# === Poe 账号部分开始
# 如果你没有 Poe 账号,可以直接删除这部分
[poe]
[[poe.accounts]]
# 登陆 poe.com 网站后,通过开发者工具查看Cookie获取
p_b = "V4j***"
# === Poe 账号部分结束

# === Bing 设置部分开始
# 如果你没有 Bing 账号,可以直接删除这部分
[bing]
# 在 Bing 的回复后加上猜你想问
show_suggestions = true
# 在 Bing 的回复前加上引用资料
show_references = true
# 在 Bing 的回复后加上剩余次数
show_remaining_count = true
# Bing 的 WS 接入点,中国大陆访问时可以修改成下面这个
wss_link = "wss://chatgpt-proxy.lss233.com/sydney/ChatHub"

# 第 1 个 Bing 账号
# 理论上,你可以添加无限多个 Bing 账号。  
# 多账号的配置方法和 OpenAI 的一样。
[[bing.accounts]]
# 你的账号 Cookie,获取方法见 README
cookie_content = '[{xxxxxx'
# 如果你想用代理
# proxy="http://127.0.0.1:1080"
# === Bing 设置部分结束

# === 文心一言 设置部分开始
# 如果你没有 文心一言 账号,可以直接删除这部分
[yiyan]

# 第 1 个 文心一言 账号
# 理论上,你可以添加无限多个 文心一言 账号。  
# 多账号的配置方法和 OpenAI 的一样。
[[yiyan.accounts]]
# 你的账号 Cookie,获取方法见 README
# 该渠道为对接网页版文心一言,有封号风险,请自行取舍。
cookie_content = 'BDUSS=xx;'
# 如果你想用代理(可能有BUG)
# proxy="http://127.0.0.1:1080"
# === 文心一言 设置部分结束

# === ChatGLM 设置部分开始
# 如果你没有搭建本地 ChatGLM,可以直接删除这部分
[chatglm]

# 第 1 个 ChatGLM 账号
# 理论上,你可以添加无限多个 ChatGLM 账号。  
# 多账号的配置方法和 OpenAI 的一样。
[[chatglm.accounts]]
# ChatGLM 的接口地址,搭建方法见 README
api_endpoint = "http://127.0.0.1:8000"
# 最大记忆的对话轮数
max_turns=10
# 请求超时时间(单位:秒)
timeout=360
# === ChatGLM 设置部分结束

# == Bard 设置部分开始
[bard]
[[bard.accounts]]
# Google Bard 页面的 Cookie,获取方法与 文心一言类似
cookie_content = "xxx"

# == Azure 账号设置
# 设置后可以使用 Azure 的语音转文字功能
[azure]
tts_speech_key = 'xxx'
tts_speech_service_region = 'xxx'


[text_to_speech]
# 语音转文字
always = false
engine="edge"
# 默认音色
# 可参考 Azure:
# https://learn.microsoft.com/zh-CN/azure/cognitive-services/speech-service/language-support?tabs=tts#neural-voices

default = "zh-CN-XiaoyouNeural"


[text_to_image]
# 文字转图片

# 是否强制开启,设置后所有的消息强制以图片发送,减小风控概率  
always = true

# 字体大小
font_size = 30

# 图片宽度
width = 700

# 字体
font_path = "fonts/sarasa-mono-sc-regular.ttf" 

# [备用模式]起始点 X
offset_x = 50 

# [备用模式]起始点 Y
offset_y = 50 

[trigger]
# 配置机器人要如何响应,下面所有项均可选 (也就是可以直接删掉那一行)

# 全局聊天前缀,在群聊和私聊中,符合下面的前缀【才】会响应,可以自己增减
prefix = [ "gpt",]

# 私聊聊天前缀,在私聊中,符合下面的前缀【也】会响应,可以自己增减
prefix_friend = [ "ask",]

# 群聊聊天前缀,在群聊中,符合下面的前缀【也】会响应,可以自己增减
prefix_group = [ "ai",]

# 满足以下正则表达式则忽略此条消息
ignore_regex = []

# 直接和指定的 AI 对话(不切换AI)
# 此处的前缀是在上面的前缀之后的
# 例: 
# prefix = [ "ask" ]
# prefix_ai = { "bing-c" = ["bing"] }
# 则用户发送: ask bing 你好
# 则会直接把 “你好” 两个字发给 New Bing AI
prefix_ai = { "chatgpt-web" = ["gpt"], "bing-c" = ["bing"] }

# AI 画图的前缀
# 需要有 OpenAI 的 api_key 才能使用
prefix_image = ["画", "看"]
# 配置群里如何让机器人响应,"at" 表示需要群里 @ 机器人,"mention" 表示 @ 或者以机器人名字开头都可以,"none" 表示不需要
require_mention = "at"

# 重置会话的命令
reset_command = [ "重置会话",]

# 回滚会话的命令
rollback_command = [ "回滚会话",]

# 切换模型的命令
switch_model = "切换模型 (.+)"

# 允许普通用户切换的模型
allowed_models = ["gpt-3.5-turbo", "gpt-3.5-turbo-0301", "text-davinci-002-render-sha", "text-davinci-002-render-paid"]

# 允许普通用户切换AI
allow_switching_ai = true

[response]
# 默认的响应模式,支持:
# mixed - 图文混合 (实验性)
# text  - 文字模式
# image - 图片模式
mode = "mixed"

# 分段发送延迟,消息会等待一段时间再发送,避免刷屏
# 该功能目前仅在 mixed 模式有效
# 设置为 0 关闭分段发送功能
# 若要开启此功能,建议设置为 15 左右
buffer_delay = 15

# 默认使用的 AI 类型,不填写时自动推测
# 目前支持的类型:
# chatgpt-web  网页版 ChatGPT
# chatgpt-api  API 版 ChatGPT (GPT3.5-turbo)
# bing-c  新必应-创造风格
# bing-p  新必应-精确风格
# bing-b  新必应-平衡风格
# slack-claude   Slack 版的 Claude
# bard   Google Bard
# yiyan   百度 文心一言 网页版
# chatglm-api   清华 ChatGLM-API 接口
# poe-sage   POE Sage 模型 (更会写代码的 ChatGPT)
# poe-beaver   POE GPT4 模型
# poe-claude2   POE Claude2 模型
# poe-claude   POE Claude 模型
# poe-chinchilla   POE ChatGPT 模型
# poe-nutria   POE Dragonfly 模型

# 默认注释掉这行配置,以免有人不看直接抄然后出问题
# default_ai = "chatgpt-web"
# 匹配指令成功但没有对话内容时发送的消息
placeholder = "您好!我是 Assistant,一个由 OpenAI 训练的大型语言模型。我不是真正的人,而是一个计算机程序,可以通过文本聊天来帮助您解决问题。如果您有任何问题,请随时告诉我,我将尽力回答。\n如果您需要重置我们的会话,请回复`重置会话`。"

# 发生错误时要发送的消息
error_format = "出现故障!如果这个问题持续出现,请和我说“重置会话” 来开启一段新的会话,或者发送 “回滚会话” 来回溯到上一条对话,你上一条说的我就当作没看见。\n{exc}"

# 发生网络错误时发送的消息,请注意可以插入 {exc} 作为异常占位符
error_network_failure = "网络故障!连接 OpenAI 服务器失败,我需要更好的网络才能服务!\n{exc}"

# OpenAI 账号登录失效时的提示
error_session_authenciate_failed = "身份验证失败!无法登录至 ChatGPT 服务器,请检查账号信息是否正确!\n{exc}"

# OpenAI 提示 Too many requests(太多请求) 时的提示
error_request_too_many = "糟糕!当前收到的请求太多了,我需要一段时间冷静冷静。你可以选择“重置会话”,或者过一会儿再来找我!\n{exc}"

# 服务器提示 Server overloaded(过载) 时的提示
error_server_overloaded = "抱歉,当前服务器压力有点大,请稍后再找我吧!"

# 是否要回复触发指令的消息
quote = true

# 发送下面那个提醒之前的等待时间
timeout = 30.0

# 超过响应时间时要发送的提醒
timeout_format = "我还在思考中,请再等一下~"

max_timeout = 600
# 对于每个提问的最长等待时间,超过此时间不再等待

cancel_wait_too_long = "啊哦,这个问题有点难,让我想了好久也没想明白。试试换个问法?"
# 超过最长等待时间后发送的信息

# 重置会话时发送的消息
reset = "会话已重置。"

# 回滚成功时发送的消息
rollback_success = "已回滚至上一条对话,你刚刚发的我就忘记啦!"

# 回滚失败时发送的消息
rollback_fail = "回滚失败,没有更早的记录了!"

# 等待处理的消息的最大数量,如果要关闭此功能,设置为 0
max_queue_size = 10

# 队列满时的提示
queue_full = "抱歉!我现在要回复的人有点多,暂时没有办法接收新的消息了,请过会儿再给我发吧!"

# 新消息加入队列会发送通知的长度最小值
queued_notice_size = 3

# 新消息进入队列时,发送的通知。 queue_size 是当前排队的消息数
queued_notice = "消息已收到!当前我还有{queue_size}条消息要回复,请您稍等。"

[baiducloud]
# 是否启动百度云内容安全审核
# 注册地址: http://console.bce.baidu.com/ai/#/ai/antiporn/overview/index
check = false

# 百度云API_KEY 24位英文数字字符串
baidu_api_key = ""

# 百度云SECRET_KEY 32位的英文数字字符串
baidu_secret_key =""

# 不合规消息自定义返回
illgalmessage = "[百度云]请珍惜机器人,当前返回内容不合规"

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

# 是否自动同意好友请求
accept_friend_request = false

[presets]
# 切换预设的命令: 加载预设 猫娘
command = "加载预设 (\\w+)"

loaded_successful = "预设加载成功!"

[presets.keywords]
# 预设关键词 <-> 实际文件
"正常" = "presets/default.txt"
"猫娘" = "presets/catgirl.txt"

[ratelimit]
# 额度限制功能,可以在 wiki 中了解此功能的用法

# 额度使用达到此比例时进行警告
warning_rate = 0.8

# 警告消息
warning_msg = "\n\n警告:额度即将耗尽!\n目前已发送:{usage}条消息,最大限制为{limit}条消息/小时,请调整您的节奏。\n额度限制整点重置,当前服务器时间:{current_time}"

# 超额消息
exceed = "已达到额度限制,请等待下一小时继续和我对话。"

需要注意的是我们每次完成配置以后都需要重启Docker,在项目部署的目录下运行此命令即可

docker-compose restart

④镜像的配置

我们回到项目的安装目录下找到一个docker-compose.yaml

按照我这个模式修改,我们主要进行了gocqhttp的取消安装增加了一个对外端口开放需要注意的是此时的对外端口需要和上面的config.cfg中的reverse_ws_port 的一样。我们此时不需要安装gocqhttp,可能会显示异地登录风险,在后面我会教给大家如何规避,

version: '3.4'
services:
  chatgpt:
    image: lss233/chatgpt-mirai-qq-bot:browser-version
    restart: always
    environment:
      LANG: 'C.UTF-8'
    ports:
      - 8554:8554/tcp
    volumes:
      - ./config.cfg:/app/config.cfg
      - ./data:/app/data
      - ./presets:/app/presets
      # - ./fonts:/app/fonts # 如果你想自定义字体,就解除注释
  watchtower: # [可选] 自动更新
    image: containrrr/watchtower
    volumes: # 如果启动失败,请修改下面这条:
      - /var/run/docker.sock:/var/run/docker.sock

⑤镜像的拉取

我们使用作者给出命令,需要注意的是同样需要在项目的部署目录下进行运行命令

root@ECS3443:~/chatgpt-qq# docker-compose pull && docker-compose up -d
[+] Running 2/2
 ⠿ watchtower Pulled                                                                                                                                         2.1s
 ⠿ chatgpt Pulled                                                                                                                                            2.2s
WARN[0000] Found orphan containers ([chatgpt-qq-gocqhttp-1]) for this project. If you removed or renamed this service in your compose file, you can run this command with the --remove-orphans flag to clean it up. 
[+] Running 2/2
 ⠿ Container chatgpt-qq-watchtower-1  Started                                                                                                                0.5s
 ⠿ Container chatgpt-qq-chatgpt-1     Started

此时我们可以看到镜像已经完成了拉取,我们通过下面这个命令进行日志的查看

docker-compose logs -f --tail=100

此时查看日志,我们可以看到已经搭建成功了

image-qyqx.png

服务器配置

我们现在需要回到浪浪云浪浪云:提供高性能、可靠稳定的云服务器解决方案 (langlangy.com),进行服务器的端口转发

转发的内容就是在config.cfg和docker-compose.yaml进行配置过的端口,不要转发错误

image-wjgr.png

image-l2jl.png

通信平台的设置

我们以qq为例

首先来到项目的地址,Mrs4s/go-cqhttp: cqhttp的golang实现,轻量、原生跨平台. (github.com)支持的功能如下

接口

  • HTTP API
  • 反向 HTTP POST
  • 正向 WebSocket
  • 反向 WebSocket

拓展支持

  • HTTP POST 多点上报
  • 反向 WS 多点连接
  • 修改群名
  • 消息撤回事件
  • 解析/发送 回复消息
  • 解析/发送 合并转发
  • 使用代理请求网络图片

来到项目的下载页,下载对应的项目,根据你现在的操作系统进行选择,我此时选择Windows进行对应的下载

image-kmql.png

软件配置选项

每次启动软件选择.bat文件,第一次启动完之后会生成配置文件,我们需要配置两个文件

image-iin5.png

首先配置config.yml文件

配置qq机器人账号,不需要进行密码的配置,稍后我们配置二维码登录,在ws-reverse:下的第一个配置universal下进行服务器通信

格式如下ws://浪浪云服务器ip地址:转发完的端口/ws

# go-cqhttp 默认配置文件

account: # 账号相关
  uin: 12345 # QQ账号
  password: '' # 密码为空时使用扫码登录
  encrypt: false  # 是否开启密码加密
  status: 0      # 在线状态 请参考 https://docs.go-cqhttp.org/guide/config.html#在线状态
  relogin: # 重连设置
    delay: 3   # 首次重连延迟, 单位秒
    interval: 3   # 重连间隔
    max-times: 0  # 最大重连次数, 0为无限制

  # 是否使用服务器下发的新地址进行重连
  # 注意, 此设置可能导致在海外服务器上连接情况更差
  use-sso-address: true
  # 是否允许发送临时会话消息
  allow-temp-session: false
  # 是否禁用协议更新
  disable-protocol-update: false

heartbeat:
  # 心跳频率, 单位秒
  # -1 为关闭心跳
  interval: 5

message:
  # 上报数据类型
  # 可选: string,array
  post-format: string
  # 是否忽略无效的CQ码, 如果为假将原样发送
  ignore-invalid-cqcode: false
  # 是否强制分片发送消息
  # 分片发送将会带来更快的速度
  # 但是兼容性会有些问题
  force-fragment: false
  # 是否将url分片发送
  fix-url: false
  # 下载图片等请求网络代理
  proxy-rewrite: ''
  # 是否上报自身消息
  report-self-message: false
  # 移除服务端的Reply附带的At
  remove-reply-at: false
  # 为Reply附加更多信息
  extra-reply-data: false
  # 跳过 Mime 扫描, 忽略错误数据
  skip-mime-scan: false
  # 是否自动转换 WebP 图片
  convert-webp-image: false

output:
  # 日志等级 trace,debug,info,warn,error
  log-level: warn
  # 日志时效 单位天. 超过这个时间之前的日志将会被自动删除. 设置为 0 表示永久保留.
  log-aging: 15
  # 是否在每次启动时强制创建全新的文件储存日志. 为 false 的情况下将会在上次启动时创建的日志文件续写
  log-force-new: true
  # 是否启用日志颜色
  log-colorful: true
  # 是否启用 DEBUG
  debug: false # 开启调试模式

# 默认中间件锚点
default-middlewares: &default
  # 访问密钥, 强烈推荐在公网的服务器设置
  access-token: ''
  # 事件过滤器文件目录
  filter: ''
  # API限速设置
  # 该设置为全局生效
  # 原 cqhttp 虽然启用了 rate_limit 后缀, 但是基本没插件适配
  # 目前该限速设置为令牌桶算法, 请参考:
  # https://baike.baidu.com/item/%E4%BB%A4%E7%89%8C%E6%A1%B6%E7%AE%97%E6%B3%95/6597000?fr=aladdin
  rate-limit:
    enabled: false # 是否启用限速
    frequency: 1  # 令牌回复频率, 单位秒
    bucket: 1     # 令牌桶大小

database: # 数据库相关设置
  leveldb:
    # 是否启用内置leveldb数据库
    # 启用将会增加10-20MB的内存占用和一定的磁盘空间
    # 关闭将无法使用 撤回 回复 get_msg 等上下文相关功能
    enable: true
  sqlite3:
    # 是否启用内置sqlite3数据库
    # 启用将会增加一定的内存占用和一定的磁盘空间
    # 关闭将无法使用 撤回 回复 get_msg 等上下文相关功能
    enable: false
    cachettl: 3600000000000 # 1h

# 连接服务列表
servers:
  # 添加方式,同一连接方式可添加多个,具体配置说明请查看文档
  #- http: # http 通信
  #- ws:   # 正向 Websocket
  #- ws-reverse: # 反向 Websocket
  #- pprof: #性能分析服务器
  # 反向WS设置
  - ws-reverse:
      # 反向WS Universal 地址
      # 注意 设置了此项地址后下面两项将会被忽略
      # universal: 
      universal: ws://浪浪云ip地址:转发完的端口/ws
      # 反向WS API 地址
      api: ws://your_websocket_api.server
      # 反向WS Event 地址
      event: ws://your_websocket_event.server
      # 重连间隔 单位毫秒
      reconnect-interval: 3000
      middlewares:
        <<: *default # 引用默认中间件

此时我们就完成了配置,如果想在Linux上运行go-cqhttp,我们需要再本机配置完以后,将配置文件和session.token上传到浪浪云服务器即可,这样会将账号误封的概率降到最低

效果图

微信图片_20240401180019.jpg

最后服务器我只选浪浪云。稳定!高防!!有保障!!!