# ChatGPT for Bot 使用文档

## &#x20;**V3 版本文档编写中**

当前正在浏览的是 V2 版本的使用文档， V3 版本的文档正在编写中。

## Overview

ChatGPT for Bot 是一个支持多平台、多语言模型的聊天机器人项目。

它可以让你在聊天平台上对接语言模型，实现和语言模型的直接对话。

##

<figure><img src="https://646740833-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FTwJMuwvLuKuFzQUsJRfj%2Fuploads%2Fz4jdwBCshpTDcglkdtJ9%2FWNGVV37)W%7B%40W_MZIT60CPNC.png?alt=media&amp;token=740b7ce4-1583-4caa-87ff-4b5e94f0ac45" alt=""><figcaption></figcaption></figure>

## 快捷链接

{% content-ref url="/pages/b3vD3a5cGCcGNnygpgoq" %}
[快速部署教程](/bu-shu-jiao-cheng/kuai-su-bu-shu-jiao-cheng)
{% endcontent-ref %}

{% embed url="<https://github.com/lss233/chatgpt-mirai-qq-bot/wiki/%E5%B8%B8%E7%94%A8%E5%91%BD%E4%BB%A4%E5%88%97%E8%A1%A8>" %}

## 开始使用

我们建议您按照菜单顺序自上而下阅读项目文档。

## 帮助我们完善文档

我们的文档在 GitHub 开源，你可以从这个地址访问：

{% embed url="<https://github.com/lss233/chatgpt-for-bot-docs>" %}

本文档基于 CC-BY 4.0 协议开源。


# 快速部署教程

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

下面这两篇教程将以部署 QQ 机器人为例，介绍在不同平台下的快速部署方法。

对于 Windows，请阅读：

{% content-ref url="/pages/bgOzKbIJKOVgHV1RCwQm" %}
[Windows 快速部署教程（go-cqhttp版)](/bu-shu-jiao-cheng/kuai-su-bu-shu-jiao-cheng/windows-kuai-su-bu-shu-jiao-cheng-gocqhttp-ban)
{% endcontent-ref %}

{% content-ref url="/pages/z202MpNGf45Bz3huEU49" %}
[Windows 快速部署教程 (Mirai 版）](/bu-shu-jiao-cheng/kuai-su-bu-shu-jiao-cheng/windows-kuai-su-bu-shu-jiao-cheng)
{% endcontent-ref %}

对于 Linux，请阅读：

{% content-ref url="/pages/AKDJrFqAP1xnunQ0lUGA" %}
[Linux 一键部署教程](/bu-shu-jiao-cheng/kuai-su-bu-shu-jiao-cheng/linux-yi-jian-bu-shu-jiao-cheng)
{% endcontent-ref %}

对于只想用旧手机搭建，不想租服务器的用户，请阅读:

{% content-ref url="<https://github.com/lss233/chatgpt-for-bot-docs/blob/main/bu-shu-jiao-cheng/kuai-su-bu-shu-jiao-cheng/aidlux-bu-shu-jiao-cheng.md>" %}
<https://github.com/lss233/chatgpt-for-bot-docs/blob/main/bu-shu-jiao-cheng/kuai-su-bu-shu-jiao-cheng/aidlux-bu-shu-jiao-cheng.md>
{% endcontent-ref %}


# Windows 快速部署教程（go-cqhttp版)

{% hint style="info" %}
本文难度：**低**

适合新人部署
{% endhint %}

你可以观看由热心网友**錦依喵**制作的视频教程：

{% embed url="<https://v.ixigua.com/UJbX38n/>" %}


# Windows 快速部署教程 (Mirai 版）

{% hint style="info" %}
本文难度：**玄学**

曾经适合新人部署，但现在经常登录失败。
{% endhint %}

如果你想在 Windows 上部署这个项目，那么你将需要：

* Python 3.11 或以上
* 本项目

如果你想部署成 QQ 机器人，那么还需要 Java、mirai、mirai-console-loader、mirai-api-http 等一大票东西。

不过别担心，只要使用 Windows 快速部署包，这些东西都会有的。

## 0x00 获取最新版本的 Windows 快速部署包

打开项目的发布页面：<https://github.com/lss233/chatgpt-mirai-qq-bot/releases>

排在最顶部的版本通常旁边有一个蓝色的 `Latest` 标识，这就说明它是项目的最新版本。

你可以在这张卡片的下方找到一个名为 `Windows-quickstart-refs.tags.vx.x.x.zip` 的文件，其中， `x.x.x` 为版本号。这就是最新版本的 Windows 快速部署包，点击即可下载。

<figure><img src="https://646740833-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FTwJMuwvLuKuFzQUsJRfj%2Fuploads%2FJJdkbIEuNRyadYRm9b1t%2Fimage.png?alt=media&amp;token=593fbd99-f1c3-4b94-9de0-adf3dc9b2125" alt=""><figcaption></figcaption></figure>

## 0x01 解压，初始化

快速部署包下载完成后，第一件事就是解压。

解压完成后，你可以看见一个文件夹，进去之后是这样：

<figure><img src="https://646740833-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FTwJMuwvLuKuFzQUsJRfj%2Fuploads%2FgXVl2Uovs9lO9vVF2sOc%2Fimage.png?alt=media&amp;token=f7471ee3-1746-4bae-83f3-ef483e54f006" alt=""><figcaption></figcaption></figure>

我们需要执行 `初始化.cmd` 。它会为你安装一些依赖和插件。

启动 `初始化.cmd` 之后的界面如下图所示，你要做的就是**按照程序的指示**，不断地按回车。

<figure><img src="https://646740833-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FTwJMuwvLuKuFzQUsJRfj%2Fuploads%2F4yVFem5qc3YtLJJB10nY%2Fimage.png?alt=media&amp;token=759ece91-1272-4474-b006-af52b129b837" alt=""><figcaption></figcaption></figure>

随后，一个记事本会被弹出，这是初始化程序想让你填写配置文件。

这个时候，你可以参考这里的教程来填写配置文件：

{% content-ref url="/pages/XTxGfnAyLX9K5eFQqOfg" %}
[对接聊天平台](/pei-zhi-wen-jian-jiao-cheng/dui-jie-liao-tian-ping-tai)
{% endcontent-ref %}

{% content-ref url="/pages/egG6tg3kCzlwrWXdzKNI" %}
[接入 AI 平台](/pei-zhi-wen-jian-jiao-cheng/jie-ru-ai-ping-tai)
{% endcontent-ref %}

完成之后，保存文件，然后关闭记事本，根据程序的指示结束初始化。

## 0x02 首次启动 ChatGPT

首次启动的过程是最艰难的，有 80% 的小白止步于此，但它其实很容易。

我们先双击 `启动 ChatGPT.cmd` ，如果你的运气爆棚，你会看见类似这样的提示：

<figure><img src="https://646740833-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FTwJMuwvLuKuFzQUsJRfj%2Fuploads%2FlJByJebqvRBSVxjXkDIg%2Fimage.png?alt=media&amp;token=4ddb0607-6281-43cd-9368-5376827c2e28" alt=""><figcaption></figcaption></figure>

如果你遇到了错误，别急，请参考下面这个链接来排查你的问题：

{% content-ref url="/pages/b3vD3a5cGCcGNnygpgoq" %}
[快速部署教程](/bu-shu-jiao-cheng/kuai-su-bu-shu-jiao-cheng)
{% endcontent-ref %}

当你的 ChatGPT 顺利启动以后，保持这个窗口开着别关！接下来，我们启动 Mirai。

## 0x03 首次启动 Mirai

启动 Mirai 的过程是萌新的第二场噩梦，但它其实也很容易。

首先，双击 `启动 Mirai.cmd`，然后等待程序启动完毕。

如果你看见了红色的错误提示，无需理会。

<figure><img src="https://646740833-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FTwJMuwvLuKuFzQUsJRfj%2Fuploads%2Fzey3BlgD69ONYpywcYOv%2Fimage.png?alt=media&amp;token=c606c55f-5f12-423e-849b-81d849b41b75" alt=""><figcaption></figcaption></figure>

但是当你看到这样一行日志的时候，说明它已经启动完毕了，接下来我们要做的就是登录 QQ。

### 登录 QQ

选中这个 `启动 Mirai.cmd` 之后出现的黑色窗口，然后输入下面的命令：

`login 你机器人的QQ号 你机器人的密码 MACOS`

然后轻轻敲一下回车。这个时候，Mirai 就会尝试登录你提供的账号。

<figure><img src="https://646740833-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FTwJMuwvLuKuFzQUsJRfj%2Fuploads%2FQIQHnIXlJFRF77WDTDlG%2Fimage.png?alt=media&amp;token=1ac83612-e92a-4668-94c8-2368bf37a26b" alt=""><figcaption></figcaption></figure>

### 完成滑动验证

接下来，Mirai 很有可能会要求你提供验证码。这个验证码其实就和你平时登录 QQ 时做的验证码是一样的。&#x20;

<figure><img src="https://646740833-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FTwJMuwvLuKuFzQUsJRfj%2Fuploads%2FHg2UlOYDdCofzMvHylyL%2Fimage.png?alt=media&amp;token=db540a26-5ca5-408a-b662-d7b4bf82b703" alt=""><figcaption></figcaption></figure>

我们用鼠标选中 Mirai 提供的那一段链接，然后按一下 **鼠标右键**，这段链接就会被复制。

打开浏览器，在地址栏中粘贴你复制的链接并回车，你会看见一个这样的页面：

<figure><img src="https://646740833-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FTwJMuwvLuKuFzQUsJRfj%2Fuploads%2Fztv5zJMv8dbzkcn4oO8T%2Fimage.png?alt=media&amp;token=f406ba42-b465-453d-a328-70cfccd434f2" alt=""><figcaption></figcaption></figure>

接下来，我们对着页面的空白处按下 F12，打开 **开发人员工具**。

切换到 Network（网络） 选项卡，然后在这个框中输入 `verify`

<figure><img src="https://646740833-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FTwJMuwvLuKuFzQUsJRfj%2Fuploads%2F7spBdQQQG7fISkhUTw5A%2Fimage.png?alt=media&amp;token=29eaf438-adfd-4a88-8b5d-634df18d2cbb" alt=""><figcaption></figcaption></figure>

我们放着这个窗口不管，回到刚刚那个网页，把所有的滑动验证完成，直到它不再出现新的验证码。

这个时候，回到**开发人员工具**的窗口，你会发现多出了几个 `cap_union_new_verify`。

我们选中最后一个，然后点击右边的 **Preview**（或者叫预览） 。

然后右键 ticket 后面的那串代码，点击复制。

<figure><img src="https://646740833-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FTwJMuwvLuKuFzQUsJRfj%2Fuploads%2FdGrYsEX9zXDmUBQEwQj6%2Fimage.png?alt=media&amp;token=3e7db9b5-01f3-4fcb-a695-280b210e75e1" alt=""><figcaption></figcaption></figure>

回到  `启动 Mirai.cmd`的那个黑色窗口，按下鼠标右键，那串代码就会被粘贴到里面。

我们按下回车，继续。

### 完成手机短信验证

接下来，Mirai 很有可能会让你进行短信验证。通常到了这一步的时候，你离整个项目顺利运行已经不远了。

看到下面这段提示后，我们输入 `yes` 回车。

<figure><img src="https://646740833-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FTwJMuwvLuKuFzQUsJRfj%2Fuploads%2FzGOPIv0R7YnIaoUVQILL%2FJRWY2%7DJTST9R%5DF3OY4EKT%7B2.png?alt=media&amp;token=9f4a4164-64bd-4d4d-a5cd-b04bbdacab00" alt=""><figcaption></figcaption></figure>

随后你的手机上将会收到一条短信验证码，把验证码中的数字输入到窗口中，然后回车。

#### 设置自动登录

当你看见这样的提示时，说明 Mirai 已经成功登录并接管了你机器人的 QQ。

<figure><img src="https://646740833-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FTwJMuwvLuKuFzQUsJRfj%2Fuploads%2FNOTEPsJaDYVz9NJgqgml%2Fimage.png?alt=media&amp;token=e6520143-963f-4878-8d13-8e1a631f930e" alt=""><figcaption></figcaption></figure>

你当然不想让登录的过程如此复杂，所以接下来我们要设置自动登录

在窗口中输入以下几条命令：

```
autologin add 你机器人的QQ号 你机器人的QQ密码
autologin setConfig 你机器人的QQ号 PROTOCOL MACOS
```

这样，下次启动 Mirai 时，它就会自动登录你机器人的 QQ。

自此，部署完毕。你就可以发消息给你的机器人 QQ 试试效果了。


# Linux 一键部署教程

{% hint style="info" %}
本文难度：**中**

建议使用海外服务器
{% endhint %}

为了避免在你的 Linux 服务器上装一大票软件污染环境，我们使用了 Docker 来帮助你管理程序。

你需要准备的有：一台版本比较新的 Linux 系统，它可以是 Ubuntu、 CentOS 或者是其他有 Docker 的系统。

你的服务器至少需要的软件： curl

## 0x00 获取最新版本的 Linux 一键部署脚本

打开项目的发布页面：<https://github.com/lss233/chatgpt-mirai-qq-bot/releases>

排在最顶部的版本通常旁边有一个蓝色的 `Latest` 标识，这就说明它是项目的最新版本。

<figure><img src="https://646740833-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FTwJMuwvLuKuFzQUsJRfj%2Fuploads%2F2r1jn0jqNgyKr0KQiMb7%2Fimage.png?alt=media&amp;token=fc6a38d3-f1c3-4d87-b303-9a4d311f047a" alt=""><figcaption></figcaption></figure>

你要做的就是复制这里面的命令，然后粘贴到你的 Linux 终端中并回车，它就会开始安装。

## 0x01 启动一键部署脚本

接下来你可以参考 Windows 快速部署教程来完成安装。


# PaaS 平台部署（Railway）

{% hint style="info" %}
本文的教程只负责 ChatGPT for Bot 的部署，如果你想接入 QQ 平台，需要另外找地方部署 Mirai 或 go-cqhttp。
{% endhint %}

{% hint style="info" %}
我们建议你在自己电脑上根据 Windows 快速部署教程 先部署一次，熟悉流程。
{% endhint %}

PaaS 平台是一种可以直接运行你代码的平台。通过这种方法部署，你不需要实际拥有一个服务器。

本文以 Railway 为例，Railway 是一个 PaaS 平台，你可以在这上面运行 ChatGPT for Bot。  针对免费用户，它提供每个月 500小时（约20天） 的运行时间。&#x20;

## 0x00 开始

点击下面按钮开始部署

[![Deploy on Railway](https://railway.app/button.svg)](https://railway.app/template/QSxuAE?referralCode=hnDyRG)

如果你还未注册，会看到下面这样一个按钮，点击它并登录 GitHub。

<figure><img src="https://646740833-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FTwJMuwvLuKuFzQUsJRfj%2Fuploads%2FgWP0xqcZQY9enFUcgrt0%2Fimage.png?alt=media&amp;token=303426d0-938f-45e6-9526-3d08b8f94978" alt=""><figcaption></figcaption></figure>

如果你已经登录了，那么点击 Deploy Now，开始部署。

<figure><img src="https://646740833-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FTwJMuwvLuKuFzQUsJRfj%2Fuploads%2F0IfAvv7sagfhdWLrHv9e%2Fimage.png?alt=media&amp;token=64a38437-b4f6-473b-9063-0c75056a3efc" alt=""><figcaption></figcaption></figure>

接下来，在这里填写配置文件：

{% hint style="info" %}
你可能会注意到，这里的编辑框不能输入多行的文字

所以我们会在后面的步骤中重新填写配置文件。
{% endhint %}

<figure><img src="https://646740833-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FTwJMuwvLuKuFzQUsJRfj%2Fuploads%2FEF1D1Uw7Qv0aoWo1QAvw%2Fimage.png?alt=media&amp;token=e53480ca-5942-4c25-9a3a-5c1a0c54cf03" alt=""><figcaption></figcaption></figure>

然后点击下方的 Deploy 开始部署。

### 0x01 配置

首先我们要做的就是重新填写配置文件。&#x20;

点击 Variables -> CHATGPT\_FOR\_BOT\_FULL\_CONFIG -> Edit，然后重新粘贴配置文件，点击打勾保存。

<figure><img src="https://646740833-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FTwJMuwvLuKuFzQUsJRfj%2Fuploads%2FiEpwXAkidmuBYvF4ShmZ%2Fimage.png?alt=media&amp;token=2cfe6a42-cc1a-4791-a783-d1806379e6be" alt=""><figcaption></figcaption></figure>

<figure><img src="https://646740833-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FTwJMuwvLuKuFzQUsJRfj%2Fuploads%2FWcdIJmBHJxgGh2LXL95O%2Fimage.png?alt=media&amp;token=95a324fd-9378-4a80-948a-57c3e3ec3260" alt=""><figcaption></figcaption></figure>

除了 `CHATGPT_FOR_BOT_FULL_CONFIG` 之外，下面还有一个 `PORT` 变量。

如果你想要接入 Mirai 或者 go-cqhttp，那么需要保证配置中的 `reverse_ws_port` 与 `PORT` 变量的值一致，否则会无法使用。

### 0x02 接入 GO-CQHTTP

<figure><img src="https://646740833-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FTwJMuwvLuKuFzQUsJRfj%2Fuploads%2FajP0tHIpkliNcmvdhPcf%2Fimage.png?alt=media&amp;token=4f91216b-31b4-419e-adcb-21a3342d309f" alt=""><figcaption></figcaption></figure>

当你的程序启动以后，会出现一个链接。通过这个链接就可以访问到你的程序。

在 GO-CQHTTP 中，你可以把这个链接填到反向 WebSocket 的 Universal 地址中。

### 0x03 更新

<figure><img src="https://646740833-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FTwJMuwvLuKuFzQUsJRfj%2Fuploads%2FWt4qb2QmYL2Xr6sJDDgA%2Fimage.png?alt=media&amp;token=b287192f-c7e8-4873-8301-038b1f968dea" alt=""><figcaption></figcaption></figure>

如果项目有更新，你可以点击这里的按钮同步最新的代码。&#x20;


# 完整配置文件样例

我们只有一个配置文件： `config.cfg` 。

以下是 config.cfg 的样例，你不必完全参考它的写法，这只是告诉你它可以怎么写：

```toml
# 这里是 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 = "已达到额度限制，请等待下一小时继续和我对话。"

```

该文件的格式为 TOML 格式，你可以用下面这个工具来检查你修改的配置文件是否有误：

{% embed url="<https://www.toml-lint.com/>" %}

{% hint style="info" %}
如果你感兴趣的话也可以了解一下 TOML 格式的完整规范： <https://toml.io/cn/v1.0.0>
{% endhint %}

简单来说，TOML 格式的基本结构如下：

```toml
[这里是块]
这是配置项1 = "这是对应的值"
这是配置项2 = 123456

[这里是块2]
这里是配置项a = "这是对应的值a"
```

### 错误示例：

你不能这么写：

```toml
[这里是块]
这是配置项1 = "这是对应的值"
这是配置项2 = 123456

[这里是块] # 注意看，这个块在上面写过了，这样是不行的
这里是配置项a = "这是对应的值b"

```

也不能这么写：

```
[这里是表]
这是配置项1 = "这是对应的值"
这是配置项2 = 123456

这里是配置项1 = "这是对应的值b" # 这个配置项在上面也写过了

```


# 对接聊天平台

我们现在支持同时接入多种平台，你只需要在配置文件 `config.cfg` 加入你想要接入的平台的配置，就可以开启相关功能。

## 对接 QQ

目前支持两种对接 QQ 的协议，分别为 Mirai 和 OneBot。

你可以选择你喜欢的协议进行对接。

### 对接 Mirai

{% content-ref url="/pages/jP80EAAJ6oFNHXkz9yEr" %}
[对接 Mirai](/pei-zhi-wen-jian-jiao-cheng/dui-jie-liao-tian-ping-tai/dui-jie-mirai)
{% endcontent-ref %}

### 对接 OneBot (go-cqhttp)

{% content-ref url="/pages/ThK05le8UKCJW544O8yp" %}
[对接 OneBot (go-cqhttp)](/pei-zhi-wen-jian-jiao-cheng/dui-jie-liao-tian-ping-tai/dui-jie-onebot-gocqhttp)
{% endcontent-ref %}

## 对接企业微信

{% content-ref url="/pages/zAWSF3zW3I4xdfQzL8Ls" %}
[🧑🍳 对接企业微信](/pei-zhi-wen-jian-jiao-cheng/dui-jie-liao-tian-ping-tai/dui-jie-qi-ye-wei-xin)
{% endcontent-ref %}

## 对接 Telegram

{% content-ref url="/pages/3c01XQoeeC4Pa2xpwC0i" %}
[对接 Telegram](/pei-zhi-wen-jian-jiao-cheng/dui-jie-liao-tian-ping-tai/dui-jie-telegram)
{% endcontent-ref %}

## 对接 Discord

{% content-ref url="/pages/4TNa4hYBJ1ReIv3kv7pN" %}
[对接 Discord](/pei-zhi-wen-jian-jiao-cheng/dui-jie-liao-tian-ping-tai/dui-jie-discord)
{% endcontent-ref %}

### 开启 HTTP API 服务

开启 HTTP 服务后，你可以通过本项目提供的 HTTP API 来接入自己开发的程序，你可以参考下面这个项目来了解详细用法：

#### 通过 HTTP 服务接入个人微信

{% content-ref url="/pages/OKgVXvJeV45IDxvUpOf2" %}
[对接个人微信](/pei-zhi-wen-jian-jiao-cheng/dui-jie-liao-tian-ping-tai/dui-jie-ge-ren-wei-xin)
{% endcontent-ref %}


# 对接 Mirai

Mirai 协议是我们最初支持的协议。

我们支持 **反向 Websocket 连接**和**正向 Websocket + HTTP 连接**两种方式通过 Mirai 接入 QQ。

## 反向 Websocket 连接时的设置

如果你要使用 Mirai 来连接 QQ，那么需要你在配置文件中这么写：

```toml
[mirai]
# Mirai 相关设置
​
qq = 请填写机器人的 QQ 号
​
manager_qq = 请修改为机器人管理员的QQ号（你自己的 QQ 号）
​
# 以下是和 Mirai 连接所需要的相关设置

# 如果你是小白，或者使用我们提供的快速部署方案，可以不用修改这里的设置
# mirai-http-api 中的 verifyKey
api_key = "1234567890"
# mirai api http 反向连接模式
reverse_ws_host = "0.0.0.0"
reverse_ws_port = 8554
```

在这段配置中，我们使用了 **反向 Websocket** 连接到 Mirai。&#x20;

在这个模式下，本程序启动后会等待 Mirai 主动连接到本程序。

这样你就可以把本程序放在云服务器上，而 Mirai 可以放在自己的电脑上，从而避免触发 QQ 的异地登录保护或者掉线问题。

### mirai-api-http 中的设置

你需要保证这里的配置和 mirai-api-http 中的设置是一致的，我们的程序才能接入 Mirai。

mirai-api-http 的配置文件存放于 `mirai/config/net.mamoe.mirai-api-http`，你可以用记事本打开它。

以我们上面的配置为例， mirai-api-http 的配置文件应该改成这样：

```yaml
adapters:
 - reverse-ws

verifyKey: 1234567890
singleMode: false
cacheSize: 4096
adapterSettings:
  reverse-ws:
    ## 远端 websocket server 地址配置
    destinations:
    - host: localhost
      port: 8554
      path: /
      protocol: ws
      
```

需要注意的是：

* `verifyKey` 的 `1234567890` 要和上面的 `api_key` 保持一致
* `port` 的 `8554` 要和上面的 `reverse_ws_port` 保持一致
* `host` 的 `localhost` 填写本程序的 IP 地址。这取决于你的部署方式，

  如果是 Docker（或者 Linux 一键部署），那你要改成 `chatgpt` 。

  如果是 Windows，那就保持现在这样，不需要再改了。

## 正向 Websocket + HTTP 方式连接

你也可以使用正向 Websocket + HTTP 的方式来连接到 Mirai。

在这个模式下， 本程序启动成功后会主动连接到 Mirai。&#x20;

如果你要这么做，那就注释掉 `reverse_ws`开头的两行配置，然后加入另外两行配置，就像这样：

```toml
# mirai api http 反向连接模式
# reverse_ws_host = "0.0.0.0"
# reverse_ws_port = 8554
# mirai api http 正向连接模式
# 使用此模式时需注释上面的反向连接模式配置
http_url = "http://localhost:8080"
ws_url = "http://localhost:8080"
```

此处的 `localhost` 是 Mirai 程序的 IP 地址。在 Docker 中，你可以填容器名，在 Windows 同一台机器中，那就填 `localhost`。

通常来说，使用正向连接模式没有什么优点，因此我们觉得你没有必要对这里的配置进行修改。

### mirai-api-http 中的设置

```yaml
adapters:
  - http
  - ws
verifyKey: 1234567890
singleMode: false
cacheSize: 4096
persistenceFactory: 'built-in'
adapterSettings:
  ## HTTP 服务的主机, 端口和跨域设置
  http:
    host: "0.0.0.0"
    port: 8080
    cors: ["*"]

  ## Websocket 服务的主机, 端口和事件同步ID设置
  ws:
    host: "0.0.0.0"
    port: 8080
    reservedSyncId: -1
```

需要注意的是：

* `verifyKey` 的 `1234567890` 要和上面的 `api_key` 保持一致
* `port` 的 `8080`要和上面的 `url` 冒号后面的数字保持一致


# 对接 OneBot (go-cqhttp)

OneBot 协议可以用于对接 go-cqhttp 等机器人框架。

如果你要使用 OneBot 协议，那么你就将 `config.cfg` 中的 `[mirai]` 块删除，然后加入以下配置：

```properties
[onebot]
qq=请修改为你机器人的QQ号
manager_qq = 请修改为机器人管理员的QQ号

reverse_ws_host = "0.0.0.0"
reverse_ws_port = 8566
```

就可以使用 go-cqhttp 或者其他支持 OneBot 协议的程序和 ChatGPT 聊天！

## go-cqhttp 的设置教程

如果你在搭建过程中遇到问题，可以看：

[go-cqhttp 启动过程中的常见问题](/chang-jian-wen-ti-jie-da/gocqhttp-qi-dong-guo-cheng-zhong-de-chang-jian-wen-ti)

OneBot 是一个典型的支持 OneBot 协议的平台。

如果你在使用 go-cqhttp，那就可以不需要理会 Mirai 了。

{% hint style="info" %}
如果你通过 GO-CQHTTP 的 Linux 部署脚本来安装的这个项目，那么你可以跳过这一段教程。
{% endhint %}

### 1. 下载 go-cqhttp

你可以在这里下载最新的 go-cqhttp：<https://github.com/Mrs4s/go-cqhttp/releases>

### 2. 初始化 go-cqhttp

解压并启动 go-cqhttp，选 `3` 后回车，退出程序。

<figure><img src="https://646740833-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FTwJMuwvLuKuFzQUsJRfj%2Fuploads%2FYWAU1JWolHAP0e9D2rL4%2Fimage.png?alt=media&amp;token=3a09893d-c2a6-4f4c-ac18-26729ba49256" alt=""><figcaption></figcaption></figure>

### 3. 设置 go-cqhttp

编辑 go-cqhttp 的 `config.yaml`，设置机器人的 QQ 号和反向 Universal 地址 （这个反向 Universal 地址和前面的 `reverse_ws_host` 、`reverse_ws_port` ）有关。

<figure><img src="https://646740833-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FTwJMuwvLuKuFzQUsJRfj%2Fuploads%2FHRnbCn15xP2P850exQV7%2Fimage.png?alt=media&amp;token=210ec70d-c0d1-4cb4-8ce8-6ff7558e19dc" alt=""><figcaption></figcaption></figure>

<figure><img src="https://646740833-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FTwJMuwvLuKuFzQUsJRfj%2Fuploads%2F70tmUKxv9pqib3cmSvHL%2Fimage.png?alt=media&amp;token=9d4c00b2-2c79-44aa-a468-e6bbb29b1b89" alt=""><figcaption></figcaption></figure>

这里的 universal 地址的写法如下：

* 如果你的 go-cqhttp 和 chatgpt 在同一台机器上，那么就写： `ws://localhost:8566/ws` ，这里的 8566 和 `reverse_ws_port`的值是一样的。
* 如果你的 go-cqhttp 和 chatgpt 在不同的机器上，那么就在上面的基础上，把 `localhost` 改成你 chatgpt 服务器的 IP 地址。

### 4. 映射 \`reverse\_ws\_port\` 端口

这一步是使用 Docker 部署的同学才需要做的， Windows 用户可以直接跳过。 &#x20;

打开 docker-compose.yaml，在图中的位置加入下面这么一行：

<figure><img src="https://646740833-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FTwJMuwvLuKuFzQUsJRfj%2Fuploads%2Fa1mJM4llsCTK3ACBO6bD%2Fimage.png?alt=media&amp;token=46b0bfba-1686-466a-90b1-b64e304198f6" alt=""><figcaption></figcaption></figure>

然后执行 `docker-compose up -d` 更新即可。

<figure><img src="https://646740833-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FTwJMuwvLuKuFzQUsJRfj%2Fuploads%2FFyKTcTRSjkx5PbBLpSOy%2Fimage.png?alt=media&amp;token=d1b9ffff-24b3-4b3c-a43c-44649d137efb" alt=""><figcaption></figcaption></figure>

### 5. 启动 go-cqhttp，生成配置文件

首次启动时我们不要登录 QQ，我们只是需要它生成的 `device.json`文件。

<figure><img src="https://646740833-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FTwJMuwvLuKuFzQUsJRfj%2Fuploads%2FoiwVeuA2Vsz41dXN2NaM%2Fimage.png?alt=media&amp;token=1b374349-da62-4bd0-bc9b-d5edb503af59" alt=""><figcaption></figcaption></figure>

### 6. 打开 device.json，修改协议

找到 `protocol`，把后面的数字改成 2，然后保存并退出即可。&#x20;

这会让 go-cqhttp 使用 Android Watch 协议进行登录。

<figure><img src="https://646740833-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FTwJMuwvLuKuFzQUsJRfj%2Fuploads%2FQRkCrcE1BP6NSPefu0cs%2Fimage.png?alt=media&amp;token=57ecd124-2242-4853-9509-b7e817151e4b" alt=""><figcaption></figcaption></figure>

### 7. 启动 go-cqhttp，扫码并登录

<figure><img src="https://646740833-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FTwJMuwvLuKuFzQUsJRfj%2Fuploads%2FGGHovF50w0wrAoQwZeT0%2Fimage.png?alt=media&amp;token=e09c2b0d-634e-4e1d-b1a2-250d2ea7b4d5" alt=""><figcaption></figcaption></figure>

### 注意事项

这个go-cqhttp 的扫码登录，是需要你自己的手机 QQ 和 go-cqhttp 在同一个网络环境下的才能成功的。

这个问题有两种解决方法：

#### 方法一：代理

在你的服务器上搭个代理，让你的手机通过代理再进行扫码。

#### 方法二：同步 session.token 文件

在你自己的电脑上用同样的 device.json 来登陆一次 go-cqhttp，扫码登录成功后，把这个 session.token 放到服务器上

#### 方法三：在自己电脑运行

你自己的电脑上跑 go-cqhttp，然后在服务器跑 chatgpt

然后通过 go-cqhttp 的反向 websocket 功能，让你电脑上的 go-cqhttp 连接上服务器的 chatgpt 程序。

唯一要修改的就是：在第2步里面将 `127.0.0.1` 就换成你运行 chatgpt 服务器的公网 IP 地址。


# 对接 Telegram

加入以下配置：

```toml
[telegram]
# 这个 token 是找 BotFather 要的
bot_token = "你的 Bot token"
# 如果部署在国内，就填这个设置代理
# 不填的话就会读取系统的代理设置
proxy = "http://localhost:1080"
# 管理员的 chat id
manager_chat = 1234567890
```

就可以使用 Telegram 机器人和 AI 聊天！


# 对接 Discord

将 `config.cfg` 中的 `[mirai]` 块删除，然后加入以下配置：

```
[discord]
# 这里填写你 Discord 机器人的 token
bot_token = "xxx"
```

就可以在 Discord 中和 AI 聊天了！


# 🧑🍳 对接企业微信

在 `config.cfg` 中加入以下配置，开启对企业微信的支持：

```toml
[wecom]
# 企业微信相关设置
# 企业微信管理后台网址： https://work.weixin.qq.com/wework_admin/frame
# 企业微信回调地址，需要能够被公网访问
host = "0.0.0.0"
port = 5001
debug = false
# 企业微信应用相关设置
# 企业 ID： 我的企业 -> 企业信息 -> 企业 ID
corp_id = "ww***"
# 应用 AgentId： 应用管理 -> 自建 -> 创建应用 -> AgentId
agent_id = 1000001
# 应用 Secret： 应用管理 -> 自建 -> 创建应用 -> Secret
secret = "abc***"
# API 回调地址请填写 http://公网ip:5001/wechat
# API 令牌： 应用管理 -> 自建 -> 刚刚创建的应用 -> 功能 -> 接收消息 -> 启用API接收 -> 随机生成的 Token
token = "abc***"
# API 加解密密钥： 应用管理 -> 自建 -> 刚刚创建的应用 -> 功能 -> 接收消息 -> 启用API接收 -> 随机生成的 EncodingAESKey
encoding_aes_key = "abc***"
```

### 注意事项

企业微信要求提供一个 API 回调地址到本项目中，所以你可能需要把这个项目部署在有公网 IP 的电脑上（或者使用 frp 等软件进行端口映射）。

Docker 用户别忘了将此处配置中的 `port` 的端口号映射出来，以便被访问到。 &#x20;

举个**例子**（只是例子，不代表完全一样，别直接抄）：

<pre class="language-yaml"><code class="lang-yaml">version: '3.4'
services:
<strong>  chatgpt:
</strong>    image: lss233/chatgpt-mirai-qq-bot:browser-version
    restart: always
    environment:
      LANG: 'C.UTF-8'
    ports:
      - 5001:5001 # &#x3C;----- 主要就是加这一项
    volumes:
      - ./config.cfg:/app/config.cfg
      - ./data:/app/data
      - ./presets:/app/presets
</code></pre>

修改完这个文件后，还要执行：`docker-compose up -d` 来更新容器编排，确保端口映射成功。

当你完成上面的所有操作后，可以在自己的浏览器中打开：`http://你的服务器IP:5001` 看看有没有内容。如果浏览器提示打开失败，说明你的端口映射没有成功。


# 对接个人微信

目前的个人微信支持由 [lcjqyml/wechatbot](https://github.com/lcjqyml/wechatbot) 项目提供，基于本项目的 HTTP API 功能实现，

## 0x01 开启 HTTP API 服务

在 `config.cfg` 中加入以下配置后，将额外提供 HTTP API 支持。

{% hint style="info" %}
我们建议将本项目部署在国外服务器上，减少网络错误发生的概率。
{% endhint %}

```toml
[http]
host = "0.0.0.0"
# 填写提供服务的端口
port = 8234
# 是否开启调试
debug = false
```

### 注意事项

Docker 用户别忘了将此处配置中的 `port` 的端口号映射出来，以便被访问到。 &#x20;

举个**例子**（只是例子，不代表完全一样，别直接抄）：

<pre class="language-yaml"><code class="lang-yaml">version: '3.4'
services:
<strong>  chatgpt:
</strong>    image: lss233/chatgpt-mirai-qq-bot:browser-version
    restart: always
    environment:
      LANG: 'C.UTF-8'
    ports:
      - 8234:8234 # &#x3C;----- 主要就是加这一项
    volumes:
      - ./config.cfg:/app/config.cfg
      - ./data:/app/data
      - ./presets:/app/presets
</code></pre>

## 0x02 部署 [lcjqyml](https://github.com/lcjqyml)/[**wechatbot**](https://github.com/lcjqyml/wechatbot)

{% hint style="info" %}
我们建议将这个项目部署在国内的服务器上，降低微信被封号的概率。
{% endhint %}

{% hint style="info" %}
这是一个由第三方提供的程序，教程可能会随着项目的发展而过时。

建议参考原项目文档进行部署：<https://github.com/lcjqyml/wechatbot>
{% endhint %}

此处以 Ubuntu 20.04 系统为例，在安装 Docker 后，执行以下命令：

```bash
docker run -e CHATBOT_PROXY="http://127.0.0.1:8234" lcjqyml/wechatbot:latest
```

将 `127.0.0.1` 换成你部署的 ChatGPT for Bot 项目服务器的 IP，然后按下回车启动，然后扫码登录即可。


# 接入 AI 平台

我们的一个程序实例可以接入多个 AI 平台。

我们所有的 AI 平台都支持多账号登录，你可以配置多种不同的 AI 平台，然后通过指令来进行切换。

以下面 OpenAI 的配置为例，添加多账号的写法如下：

```toml
# OpenAI 相关设置
[openai] # 这一行必写

# 第 1 个 OpenAI 账号的登录信息
[[openai.accounts]] # 这一行必须跟在 [openai] 的后面
# 里面是一些设置

# 第 2 个 OpenAI 账号的登录信息
[[openai.accounts]]
# 里面是一些设置

# 第 3 个 OpenAI 账号的登录信息
[[openai.accounts]]
# 里面是一些设置
```

### 接入 OpenAI

{% content-ref url="/pages/QITbMAOfWtOWPy55BRyF" %}
[接入 OpenAI 的 ChatGPT](/pei-zhi-wen-jian-jiao-cheng/jie-ru-ai-ping-tai/jie-ru-openai-de-chatgpt)
{% endcontent-ref %}

### 接入 New Bing （Sydney）

{% content-ref url="/pages/371iDBDKMqyzaFqm16RL" %}
[接入 New Bing (Sydney)](/pei-zhi-wen-jian-jiao-cheng/jie-ru-ai-ping-tai/jie-ru-new-bing-sydney)
{% endcontent-ref %}

### 接入 Google Bard

{% content-ref url="/pages/iRGjv8tMGwGO0X9FQDO4" %}
[接入 Google Bard](/pei-zhi-wen-jian-jiao-cheng/jie-ru-ai-ping-tai/jie-ru-google-bard)
{% endcontent-ref %}

### 接入 ChatGLM

{% content-ref url="/pages/Cw2q7p2Hp6nHtiPo0KzR" %}
[🧑🎓 接入 ChatGLM](/pei-zhi-wen-jian-jiao-cheng/jie-ru-ai-ping-tai/jie-ru-chatglm)
{% endcontent-ref %}

### 接入 文心一言

{% content-ref url="/pages/fyfNDWzEZYV5dD7LWyhm" %}
[接入 文心一言](/pei-zhi-wen-jian-jiao-cheng/jie-ru-ai-ping-tai/jie-ru-wen-xin-yi-yan)
{% endcontent-ref %}

### 接入 Poe.com

{% content-ref url="/pages/8J3y7J6KcW1jgKE5iNfG" %}
[👨🎨 接入 Poe.com](/pei-zhi-wen-jian-jiao-cheng/jie-ru-ai-ping-tai/jie-ru-poe.com)
{% endcontent-ref %}


# 接入 OpenAI 的 ChatGPT

OpenAI 的 ChatGPT 是我们最早支持的语言模型。

ChatGPT 分为两种，一种是网页版，另一种是 API 版。

OpenAI 的设置开始于一行 `[openai]` ，随后每个账号的设置开始于一行 `[[openai.accounts]]`。

## **👨🏻‍💻 接入网页版 OpenAI ChatGPT**

网页版即使用 `https://chat.openai.com` 里的 ChatGPT。

**优点**：更聪明、不花钱

**缺点**：一次只能回复一个人、可能会封号

我们提供了多种不同的方式登录网页版，你可以选择你觉得最好用的那一种。

### **登录方式一：access\_token**

这种登录方式被认为是最简单的登录方式。

你只需要在 `[openai]` 的后面加入这一段：

```toml
# 第 N 个 OpenAI 账号的登录信息ml
[[openai.accounts]]
access_token = "一串 ey 开头的东西"
```

**access\_token 获取方法:**

1. 浏览器打开并登录登录 ChatGPT
2. 打开 <https://chat.openai.com/api/auth/session>
3. 你可以看见下面一段 JSON 代码：

```json
{
    "user": {
        "id": "user-*****",
        "name": "***",
        "email": "***",
        "image": "***",
        "picture": "***",
        "groups": []
    },
    "expires": "2023-03-18T09:11:03.546Z",
    "accessToken": "eyJhbGciOiJS*****X7GdA"
} 
```

4. 提取出这段代码中的 `"eyJhbGciOiJS*****X7GdA"` ，填写到配置文件中即可。
5. accessToken 的有效期为 14 天，到期后需要使用同样的方法进行更换。

### **登录方式二：邮箱密码**

邮箱密码登录的方式可以解决 accessToken 过期的问题。

如果你要用这种方法，只要这么写：

```toml
# 第 N 个 OpenAI 账号的登录信息
[[openai.accounts]]
# 你的 OpenAI 邮箱
email = "xxxx" 
# 你的 OpenAI 密码
password = "xxx"
```

### **相关设置**

在设置账号之后，你还可以为每个账号进行一些不同的设置。

#### **1. 网页版接入点**

{% hint style="info" %}
这项设置是全局生效的（所有账号只需要设置一次）。
{% endhint %}

我们通过一种特殊的方法访问 OpenAI 的网页版 ChatGPT，这需要我们指定一个网页版的接入点。

你可以用这个项目搭建一个自己的接入点：<https://github.com/linweiyuan/go-chatgpt-api>

```toml
[openai]
# 网页版 ChatGPT 接入点，欢迎在交流群中分享你的接入点
browserless_endpoint = "https://chatgpt-proxy.lss233.com/api/"
```

#### **2. 对话记录自动删除**

{% hint style="info" %}
这项设置是每个账号独立的。
{% endhint %}

开启后，当用户重置会话时，旧的会话会自动删除。

```toml
 [[openai.accounts]]
 # 省略的账号信息
 
 auto_remove_old_conversations = true
```

#### **3.会话标题重命名**

{% hint style="info" %}
这项设置是每个账号独立的。
{% endhint %}

开启后，当用户创建新的会话时，会根据设置中的规则来修改会话的标题。

```toml
[[openai.accounts]]
# 省略的账号信息
​
title_pattern="qq-{session_id}"
```

当你按照这个格式进行设置之后，新创建的对话将会以 `qq-friend-好友QQ` 或 `qq-group-群号` 进行命名。

这里的 `{session_id}` 是一个变量，它在程序启动之后会根据聊天信息的发送者动态变化。

* 如果是一个好友给机器人发送消息，则 `{session_id}` 会变成 `qq-friend-好友QQ`
* 如果是一个群聊给机器人发送消息，则 `{session_id}` 会变成 `qq-group-群号`

#### **4.使用代理**

{% hint style="info" %}
这项设置是每个账号独立的。
{% endhint %}

由于 OpenAI 现在封锁了中国大陆的 IP 请求，因此我们建议在国内部署的同学都使用代理访问。

```toml
[[openai.accounts]]
 # 省略的账号信息
 
# 这里填写的内容由你的代理程序提供
proxy="http://127.0.0.1:1080"
```

如果你不填写代理设置，程序在启动时会使用系统代理中的设置。

<details>

<summary>【小白专享】怎么看代理程序提供的地址</summary>

通常来说你的电脑上需要装一个叫做 Clash 或者 v2rayN 的软件，不同的软件看法不同。

我们要填写的是你电脑上通过这些代理软件提供的代理地址，而不是你的代理**节点地址**。

#### v2rayN

<img src="https://646740833-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FTwJMuwvLuKuFzQUsJRfj%2Fuploads%2FeKP8ARVr9ksfq0b2xI8G%2Fimage.png?alt=media&amp;token=940ef8be-035a-4ff5-9bcf-28aa8a1b4059" alt="" data-size="original">

你的地址就填 `http://127.0.0.1:10808` ，其中 `10808` 这个数字要改成图中红框标出的两个数字中的一个。

#### Clash

<img src="https://646740833-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FTwJMuwvLuKuFzQUsJRfj%2Fuploads%2Fi0kfYpc5AZfYNva9WdKt%2Fimage.png?alt=media&amp;token=a76657d4-9415-4f7e-ad16-20fb454265a7" alt="" data-size="original">

你的地址就填 `http://127.0.0.1:7890`，其中 `7890`这个数字要改成图中红框标出的数字。

#### 其他软件

你的软件应该会提供类似的端口号。如果你实在找不到的话可以问问客服，或者还有一种方法：

把有关代理的配置全部删除，然后在代理软件上开启全局模式。

</details>

> Docker 部署的用户请注意：你可能需要把 127.0.0.1 修改为宿主机的 IP 地址，以使用宿主机中运行的代理程序。

#### **5. 切换模型**

{% hint style="info" %}
这项设置是每个账号独立的。
{% endhint %}

如果你使用的是 ChatGPT Plus 的账号，那么你可以选择使用 ChatGPT Plus 专享的模型。

```toml
[[openai.accounts]]
# 省略的账号信息

# 如果你是 Plus 用户，加入这一条，否则无法切换至 plus 模型 
paid=true
# 这里填写的内容由你的代理服务器提供
model="text-davinci-002-render-paid"
```

你可以使用这三种：

* `text-davinci-002-render-sha` - 默认的模型
* `text-davinci-002-render-paid` - Legacy 模型（Plus 专享）
* `gpt-4` - GPT 4 模型（Plus 专享）

***

## **💲 接入 API 版 OpenAI ChatGPT**

**优点**：更快、可以设置参数、可以同时回复多个人、不封号

**缺点**：花钱

```toml
[[openai.accounts]]
# 这里填写你在 OpenAI 官网获取的 API Key
api_key = "sk-xxxx"
```

### **相关设置**

#### **1.API 版接入点**

{% hint style="info" %}
这项设置是全局生效的（所有账号只需要设置一次）。
{% endhint %}

正如网页版接入点一样，如果你所在的网络环境不能直接访问 OpenAI 的 API 接入点，可以通过搭建一个反向代理来访问它，然后在这里指定代理后的接入点地址。

你可以使用这个项目来搭建代理：<https://github.com/Ice-Hazymoon/openai-scf-proxy>

```toml
[openai]
# API 接入点，欢迎在交流群中分享你的接入点
api_endpoint = "https://api.openai.com/v1"
```

#### **2.模型参数**

{% hint style="info" %}
这项设置是全局生效的（所有账号只需要设置一次）。
{% endhint %}

如果你觉得默认的 API 回复有些生硬，那么你可以通过调整 GPT 的参数来优化。

参数具体含义可以见： <https://platform.openai.com/docs/api-reference/completions/create>

```toml
[openai.gpt3_params]
temperature = 0.5
max_tokens = 4000
top_p = 1.0
presence_penalty = 0.0
frequency_penalty = 0.0
min_tokens = 1000
```

#### **3.使用代理**

{% hint style="info" %}
这项设置是每个账号独立的。
{% endhint %}

参考： [#4.-shi-yong-dai-li](#4.-shi-yong-dai-li "mention")

#### **4. 默认模型**

{% hint style="info" %}
这项设置是每个账号独立的。
{% endhint %}

如果你想切换默认使用的模型，可以加入下面的配置。

```toml
[[openai.accounts]]
# 省略的账号信息

model="gpt-3.5-turbo"
```

你可以使用这三种：

* `gpt-3.5-turbo` - GPT 3.5 模型
* `gpt-4` - GPT 4 模型

后续官方有出新的模型，也可以直接写在里面使用。


# 接入 New Bing (Sydney)

New Bing 是我们支持的第二个 AI 模型。

Bing 的设置开始于一行 `[bing]` ，随后每个账号的设置开始于一行 `[[bing.accounts]]`。

## Cookie 获取方法

截止至当前最新的版本， Bing 仅支持 Cookie 的方式登录。

你需要通过电脑浏览器来获得 Bing Cookie，Firefox 请安装[此插件](https://addons.mozilla.org/en-US/firefox/addon/cookie-editor/)，Chrome / Edge 安装[此插件](https://chrome.google.com/webstore/detail/cookie-editor/hlkenndednhfkekhgcdicdfddnkalmdm)。

1. 切换到国外节点
2. 打开 <https://bing.com>
3. 点开插件
4. 点击下方的 Export 按钮，然后选 Export as JSON

   ![](https://646740833-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FTwJMuwvLuKuFzQUsJRfj%2Fuploads%2FLxDdBwX7sNp3vWysI0sP%2Fimage.png?alt=media\&token=b4bdb953-2d09-47a6-9787-dd1c4a2074a5)
5. 打开下面这个网站，把 JSON 粘贴进去变成一行，然后复制出来：

{% embed url="<https://jsonformatter.org/json-minify>" %}

<figure><img src="https://646740833-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FTwJMuwvLuKuFzQUsJRfj%2Fuploads%2FzO2cXms4JELauL03ZdT4%2Fimage.png?alt=media&amp;token=216a511c-783a-4aba-ad4f-2d6a2121acfb" alt=""><figcaption></figcaption></figure>

&#x20;6\. 把最终的结果填入配置文件：

<figure><img src="https://646740833-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FTwJMuwvLuKuFzQUsJRfj%2Fuploads%2FZMoI5HwZfxn1PiP18Wuh%2Fimage.png?alt=media&amp;token=ff397482-84d5-4857-9345-f4342d3d9d86" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
需要注意的是，这里用了单引号来包裹 JSON。
{% endhint %}

```toml
[[bing.accounts]]
cookie_content = '你的结果'
```

## 相关设置

### 1.使用代理

这项设置是每个账号独立的。

根据社区反馈，中国大陆的 IP 可能无法直接使用 Bing，具体表现为登录失败，提示：**Authentication failed. You have not been accepted into the beta**。

所以我们建议使用国外的 IP。

参考： [/pages/QITbMAOfWtOWPy55BRyF#4.-shi-yong-dai-li](https://chatgpt-qq.lss233.com/pei-zhi-wen-jian-jiao-cheng/jie-ru-ai-ping-tai/pages/QITbMAOfWtOWPy55BRyF#4.-shi-yong-dai-li "mention")

### 2.Bing 的接入点

{% hint style="info" %}
这项设置是全局生效的（所有账号只需要设置一次）。
{% endhint %}

除了使用代理之外，你还可以通过设置 Bing 接入点的方式来使用 Bing。

你可以使用这个项目来搭建接入点：<https://github.com/acheong08/EdgeGPT-Proxy>

下面是默认的配置：

```toml
[bing]

# Bing 的 WS 接入点，通常不需要修改
wss_link = "wss://sydney.bing.com/sydney/ChatHub"
# 会话创建的接入点
bing_endpoint = "https://edgeservices.bing.com/edgesvc/turing/conversation/create"
```

如果你访问 Bing 出现问题，可以用下面的接入点配置：

{% hint style="info" %}
警告：

使用第三方接入点时，你的 Bing Cookie 将会被发送至接入点服务器。&#x20;

这会让你的微软账号信息有泄露的风险，请知晓。
{% endhint %}

```toml
[bing]

wss_link = "wss://chatgpt-proxy.lss233.com/sydney/ChatHub"
# 会话创建的接入点
bing_endpoint = "https://chatgpt-proxy.lss233.com/edgesvc/turing/conversation/create"
```

### 3.关闭 Bing 的引用链接、猜你想问和剩余次数

{% hint style="info" %}
这项设置是全局生效的（所有账号只需要设置一次）。
{% endhint %}

如果你觉得这两个东西有点烦，可以关闭他们。

```toml
[bing]

# 在 Bing 的回复后加上猜你想问
show_suggestions = false
# 在 Bing 的回复前加上引用资料
show_references = false
# 在 Bing 的回复后加上剩余次数
show_remaining_count = false
```

### 4. 开启 Bing 画图功能

{% hint style="info" %}
这项设置是全局生效的（所有账号只需要设置一次）。
{% endhint %}

如果你想使用 Bing 画图功能，那么你可以这样开启它：

```toml
[bing]

# 开启 Bing 画图功能
use_drawing = true
```

提示：如果你配置了 Stable Diffusion，那么你需要删除那部分配置，才能触发 Bing 画图。


# 接入 Google Bard

Google Bard 是我们支持的第三个 AI 模型。

Bard 的设置开始于一行 `[bard]` ，随后每个账号的设置开始于一行 `[[bard.accounts]]`。

## Cookie 登录

截止至当前最新的版本， Bard 仅支持通过 Cookie 的方式登录。

```toml
[[bard.accounts]]
cookie_content = 'xxx'

```

Bard Cookie 获取方法：[Wiki](https://github.com/lss233/chatgpt-mirai-qq-bot/wiki/Bard-Cookie-%E8%8E%B7%E5%8F%96%E6%96%B9%E6%B3%95)

## 相关设置

**1.使用代理**

这项设置是每个账号独立的。

Bard 目前仅允许美国的 IP 访问，所以你很有可能需要设置代理。

参考： [/pages/QITbMAOfWtOWPy55BRyF#4.-shi-yong-dai-li](https://chatgpt-qq.lss233.com/pei-zhi-wen-jian-jiao-cheng/jie-ru-ai-ping-tai/pages/QITbMAOfWtOWPy55BRyF#4.-shi-yong-dai-li "mention")


# 接入 文心一言

文心一言的设置开始于一行 `[yiyan]` ，随后每个账号的设置开始于一行 `[[yiyan.accounts]]`。

## 网页版 Cookie 登录

截止至当前最新的版本， 仅支持通过 Cookie 的方式使用网页版文心一言。

> 请注意：该方法有封号风险（但是过一段时间就会解封），具体原因未知，请自行取舍。

```toml
[[yiyan.accounts]]
BDUSS='xxxxxx'
BAIDUID='xxxxxx'
```

Cookie 获取方法：[Wiki](https://github.com/lss233/chatgpt-mirai-qq-bot/wiki/%E6%96%87%E5%BF%83%E4%B8%80%E8%A8%80-Cookie-%E8%8E%B7%E5%8F%96%E6%95%99%E7%A8%8B)

## 相关设置

**1.使用代理**

这项设置是每个账号独立的。

参考： [/pages/QITbMAOfWtOWPy55BRyF#4.-shi-yong-dai-li](https://chatgpt-qq.lss233.com/pei-zhi-wen-jian-jiao-cheng/jie-ru-ai-ping-tai/pages/QITbMAOfWtOWPy55BRyF#4.-shi-yong-dai-li "mention")


# 🧑🎓 接入 ChatGLM

ChatGLM 是由清华开源的离线语言模型，你可以用自己的服务器来运行语言模型。

ChatGLM 的设置开始于一行 `[chatglm]` ，随后每个账号的设置开始于一行 `[[chatglm.accounts]]`。

**API 访问**

我们使用 ChatGLM 项目中 `api.py` 所提供的 Web API 来访问 ChatGLM。

```toml
[[chatglm.accounts]]
# ChatGLM 的接口地址，搭建方法见下
api_endpoint = "http://127.0.0.1:8000"
# 最大记忆的对话轮数
max_turns=10
# 请求超时时间（单位：秒）
timeout=360
```

**API 搭建方法**

```bash
# 下载项目
git clone https://github.com/THUDM/ChatGLM-6B.git
cd ChatGLM-6B
# 安装依赖
pip install -r requirements.txt
pip install fastapi uvicorn
# 启动
python api.py
```


# 👨🎨 接入 Poe.com

Poe 是由 Quora 提供的 AI 对话平台，在这里你可以免费使用上述各种有门槛的语言模型。

Poe 的设置开始于一行 `[poe]` ，随后每个账号的设置开始于一行 `[[poe.accounts]]`。

## Cookie 登录

截止至当前最新的版本， Poe 仅支持通过 Cookie 的方式登录。

我们只需要 Cookie 中的 `p-b` 字段。

```toml
[[poe.accounts]]
# 登陆 poe.com 网站后，通过开发者工具查看Cookie获取
p_b = "V4j***"
```

**`p-b` 字段获取方法**

你需要通过电脑浏览器来获得 Poe Cookie，如果你有别的手段能获得 cookie 的话也是可以的。

1. 确认能科学上网
2. 打开 <https://poe.com> 并登陆
3. 按下 F12，打开开发者工具（DevTools）
4. 找到 `应用程序 - 存储` 或 `应用 - 存储` 或 `存储`， 查看Cookie下 <https://poe.com> 域名下的 "p-b"
5. 复制值即可

## 相关设置

### 1.使用代理

这项设置是每个账号独立的。

参考： [/pages/QITbMAOfWtOWPy55BRyF#4.-shi-yong-dai-li](https://chatgpt-qq.lss233.com/pei-zhi-wen-jian-jiao-cheng/jie-ru-ai-ping-tai/pages/QITbMAOfWtOWPy55BRyF#4.-shi-yong-dai-li "mention")


# 接入 Claude

Claude 是由前 OpenAI 成员创立的 Anthropic 公司研发的一款 AI。

目前有两种使用 Claude 的方法：通过 Slack 或者 通过 Poe.com，此处介绍通过 Slack 的方法。

### 0x01 准备工作

为了在 Slack 中使用 Claude，你需要有一个 Slack 账号、一个邀请了 Claude 的频道，并且你可以正常和 Claude 进行交流。

如果你没有的话，可以参考这个教程来准备：

{% embed url="<https://juejin.cn/post/7221333266594676795>" %}

### 0x02 获取 access\_token

点击下面这个链接，安装一个 App 到你的工作区中。

{% embed url="<https://chatgpt-proxy.lss233.com/claude-in-slack/login>" %}

安装成功后，页面中会出现一串代码，记下它，这是你稍后会用到的 `access_token` 。

### 0x03 获取 channel\_id

按照以下步骤获取 `channel_id`：

<figure><img src="https://646740833-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FTwJMuwvLuKuFzQUsJRfj%2Fuploads%2Fd8KoB60psRZIOZwNCUEC%2Fimage.png?alt=media&amp;token=2296fb8b-7bb1-4331-97d7-2d9ed5b5b170" alt=""><figcaption></figcaption></figure>

你需要将 Claude 和 Claude-Interactor 同时拉入频道，才能正常收发消息。

<figure><img src="https://646740833-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FTwJMuwvLuKuFzQUsJRfj%2Fuploads%2Fsl63uroMzkYPuXDoMHy9%2Fimage.png?alt=media&amp;token=f1ae4bed-3bf5-4396-a0ba-fd0c421592a3" alt=""><figcaption></figcaption></figure>

### 0x04 获取 Claude 的识别码

一些用可能会遇到发消息时无法 @claude 变蓝的情况，所以我们还需要完成这一步。

你需要按照下图的方式获取识别码：

<figure><img src="https://646740833-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FTwJMuwvLuKuFzQUsJRfj%2Fuploads%2FDztE17Xuhlio2VW7bL1T%2Fimage.png?alt=media&amp;token=a7464ee3-70f3-42e4-80fd-68330f9dd105" alt=""><figcaption></figcaption></figure>

通常来说 Claude 的识别码都是以 `U0` 开头的。

### 0x05 编写配置文件

在 `config.cfg` 中加入以下配置项，添加相关信息：

```toml
[slack]
[[slack.accounts]]
channel_id = "C0XXXXXX:U0xxx" # 这里写你获得的 channel_id:Claude 的识别码 
access_token = "XXXX" # 这里写前面获得的 access_token


```

## 相关设置

**1.使用代理**

这项设置是每个账号独立的。

参考： [/pages/QITbMAOfWtOWPy55BRyF#4.-shi-yong-dai-li](https://chatgpt-qq.lss233.com/pei-zhi-wen-jian-jiao-cheng/jie-ru-ai-ping-tai/pages/QITbMAOfWtOWPy55BRyF#4.-shi-yong-dai-li "mention")


# 接入 讯飞星火大模型

讯飞的星火大模型申请当场通过。

星火模型的设置开始于一行 `[xinghuo]` ，随后每个账号的设置开始于一行 `[[xinghuo.accounts]]`。每个账号填写 `ssoSessionId` 即可使用。

```toml
[[xinghuo.accounts]]
# 必填
ssoSessionId = "xxxxx-xxxx-xxxx-xxxxx"

# 保持固定即可，也可以自己抓包获取
GtToken = "R0VFAAYyNDAzOTU0YzM5Y2M0ZTRlNDY2MTE2MDA4ZGZlYjZjMGQzNGMyMGY0YjQ1NTA1NDg3OWQ0ZWJlOTk0NzQxNGI1MWUzM2IzZDUyZTEyMGM3MWYxNjlmNWY2YmYwMWMxNDI2YzIxOTlmZjMzYTI5YmY3YjQ1M2RjZGQwZWNjMDdiYjMzMmY4OTE2OTRhYTk1OWIyZWVlNzFjNmI5ZWFmY2MxNDFkNjk2MWYzYWQ3ZDAyYjZkM2U0YTllYWZlOTM0Njc4NmMyZmQ4NTRiYWViMTI2NjhlZmFhMWRiNmRmMDc5MzQxN2EyYzMzZDhiN2M4NzJjMzQ3YTYwNDFiMGZkZjkxN2Q2OTRlOWFiZWMwN2U0ZTg3Y2UwM2UxNDlmODBjMzA0MmE4NTAyNzhiNjU0MTU3ZjBlMmMzN2UxMTQ0MjA3ZWE0MDIzZTMyNDRiMjJmMjcwYjE5NGZiMWJhMmFlNGQ4YzkxMWNmZmQ0OGQzYzBlYmQxMTk1ZjE5MDJmMTVjNWUyMDI3ZmNmMDI0ODIxYWJiMWZhNzc3MTExOTBiZmZhMWRhYmRlYzVhYTkwMGRlMjU2YjFhNGQ4ZGYwYzQ0ZjI4MGJiNzcyNGIyOTlkYjU0ZGMyYjllY2U1NjNlYjQzZWE5MzhkMmQ3NTFjMTVkMGY0NDNkYjdhNzdlMmQ4NzM1NTQ3NDI0ZDBjNzRmMTA0NzY4NmI2M2UwZWRiMDM0ZjNhODc1NGZkYjgxMDBlNDA0MmZlZDYzZmFlYmYyNTExMTI5NTIyOTg0ZDMzN2UxYTBhN2NiZWZlZGMxOTVjOWQ2MGVhOTMyY2E5M2VhYmZkODI1YjBiMzU0ZDViYzUzMmM5YzI5NjA2ZWU3MmFmNGYwNGRkNTlhNDEzYzJiZmYyODllZjBkNWJlNWU5ZjZkZWVlMjk4MDUyMTU2OTQwNzE3ZDQ5M2NlM2E4YmIwN2YyZjE4MzgzZmEwNjQxNGZlYmFlNzdmN2QwNTZlYTQ3NDEwMmNlZjU1YmZhNjNjMDM2MmI5OTU2NjBkZjg4YzFjYzA2MmY0NjU2OTE0ZGIwMWE3ODQxNjA2YjdlZWE3ZDJjZTM4NjE5YTcwYjg0MmVkZTBmM2Y1MzI3ZGI2YmU5M2ZjYTNiMzg4OTJkOGQ3NWI4Y2M4YjQ3NjBkNDExZmQ3ZmFlNGIxY2YwMGE5ZDk2MmM2ZDYzMWE1YmRjNmYzMmU0Y2U5MDYwOGNiMDMzMTlkZGE2ZDlkMGU4OGUwMzUwMDkwZTQ5MGRhMmY5ODU1MGU4ZmQ1ODc3NmQ0Yjg5MDM1Y2FiNTg3MjMyMGMwOTJmOTUyODkwYmQ3YjIwYTMzODI5Y2MwY2VlZTE0MWY5N2FiN2IzYmJjNDg3MWM0M2E3ZTViYWNjZWZiZjg4MjM1ZDRiNWMzMjBjM2IxNGM2ZWE2NWVkZjc0OWI0ZDNlNzZjOWYyMTkwZDM0ZTVkYTZkNjM1NjFmZWNmMWYyODIxMTMyNjIyOGFjMWU0MTA2NjY1OWQ4Y2JlZTRmMjIwYzI2NjNmNzYxYzBhZGEyY2VkZjkyNDkzZWExNzFhN2NhZThiNTMxNDNmNzEzM2RhY2UyOWNmYjQ4ZTk5YzE2YjcyM2ZmZTJjZDk5MjU0NGM5OWNhOTFlMDRlMWNiNTQ5ZjU4MGQxY2I4YWU5MWU0MDlmZDZmYjhjNGYzYTRmODA2ZWFiZjRlMDI3OWJmOTM4NmQwN2I5MTBmYzlkYzNjMGM2ODIzYjg4OWFjNWZkZjBhYWNjYzNhYmU0MDRmMTg3Y2Q0MGNmMjcyNWFmY2VkYzAzYmVjZGY2MmMzNWRkNzQ5MGExYjQ1MDdlNTczNDI1OTliYTJhMjNmM2FmNDg1NGM3ODZkYzBiZWIzYTllMGEwYWUyMTllNmZhNzYyN2YyNTI5ZDc3YzQ3MGY1YzIxNzI1NzhhM2EwYzM3NzM0NTM4MTlhYjE3ODJiNmRmOGM1NTI2YjQzZjUzNTZlNDVhM2Q5MDc4N2IwZGNkZTdmYmYzM2ZkMWQ2NGY2NjdmOWYzNDIzZjJkMmU2NzgyMTY5ZWM3MTE1Y2E3MDdlYWRhOGJmNzI0OTJmMGM3Y2QxNjJjMDI4NmFjOThmNDhmOWEyYWQzZDAwYzg5YmViYzA3NTA4ZjYwYzE1OGVmYjk5ZjBkOGY4MzQ1ODI5Yzg4Yzc0YTA3OGQyZjU5NTFjNmQzNTc1N2QyNjI0NWVjNTk0Y2JkMzc2YmVhMGNiZmEzMWYwZTA5MGRhYzhlYzNlYjQ0ZGIxN2M4MWE5NWY4MTE4MDAwNDJkMjQ2MmMzMjk2ODU5Yjg3ZjRhZmI1MDYxM2MxY2FiYTZkZDI0ODdiZDQ3MmVmNzBjMzFkN2YwNjZmZTMxOThiYzFhOWFlZjIwZTQzY2FlNDBkMDkxZWEzMmNiYTBhNDM0YmQ2ZDU2NDQ3YTU4YTNjODZjYTk0NjQ3MGNiZjM4ZjM3ZjU2YTZkZmQ4MDY0OWEyZGU3MzllN2EyZWE3M2RlNDE5NDljNmI4ODU2YmE5ZTM4Njc2YmRhNzA1MWE5MjlmMWU1YTczZjEwYTg2ZjgwNDJjZDQxZTMwYjVjMTA1ODYzNzlhMGY3NmRlOWExODZiZmU2N2Y5NzZhOTY3MTg0ZjNkYmFhYWU0YjdmNmFlMjM5MTlkNDljNDNiODc4MzRjMjA0MzY4YThkOGEyYzRkNjc3MzhkMTU0NmFiNTVjMWE0YTQ0Y2M3MzE5OGM4Y2YzOTAxZGI0ZGY1MzFmNGY5NTI4MDE5MjZjN2I2MDg1YjQzODI0YmFiMTQ3NTIxZTYwNWQzYzhmZjljYjNmOTRlNzg3MDJiYzc1MzE4NTRhN2M3ZDE2OWQyMzcyYjUzMDBhNGQzNzhhYWNjOTk3ZDM1ZTZjODYwZGQwMWNlYTMwZjU1YTFlMjQxMTMxMTQwZjQwMWJmZGJkNWU3NzA4OWE5YzljNDIzY2E2ODk3OGE2ODMwYWEzYTlkZGJiZmMyYTE3NGZhOTc4NmI3ZTYyYmIzNTZlNjRiMzBiYzI4ZDMyYTVjMDMxYzgxZjZlOGEyMGMwNWFlNjJlYWM2ZWExNDY5OTFiZjk1Yzc4NzQzMjMwYTIyNzk1MWRlMzI4NjFjYjU5ZGQ3N2QxOWQ5MTMxNDgwYmY2ZTgyYTkwNzgwMTBlYjAzMzIzYjcxNGY0NzM5NDNmY2MwNTM3ODJmOTIwMGFkNzlmNzZiNjkxNDdmZGQwOTdhZTUwMTk1YjE4M2Q2YWM5NjVmN2NkNDNhMGI3MTEwOTNkZTM5NGM3OTYwNjNlNTBhMDAyNzNkOTE2MzQzODY2MzFkZThkMzViYTUxNmI4MTIyZWZjNzE5MTU0OTQ2NTIyYzc0YjhmNTY2OTMwZDM3YmIwZjJkM2Q4ODgyZGQwZTU0YTcyODM1NmYyZDk2ZWVlNzZiYmZlYjI1YTFjM2ZhNTg5OGY5OTM0YTc4NTBjYzRlNjY4NjE5YWMzOTg2MmE5NDhjMDVhMTc0MzE0MjIwOGFhMjk5OGY2ZmIwMmZlZWI2YTk0M2Q1NzcyN2JhZWU4ZmY5NGFmZjgzZGVjMTUyZmYxOWVkYmM1Y2RiZDkzYzBiNDc1OTEzMjFhYTY4MjI1MDA4ODhmYWJhMzAzNjdlZmRjYmJjNzhjYzE5MWI1MDViNTlmMjBhY2RiYTYzMzQyYzE1YTI2M2NiOGE1NDQ3NzQ4ODU3YWYxMzllMDJlMzY0ODlkNjRlNTRiMTc5YTgwOGRmMWU5YTk1ODY2YzE2YTYzM2EyZmUyYjA2MzM4OTI5YTc4MmRlMGFkZDgwZDZiYWU3Y2M1ZjljMWEzYzA5MGU4MTVlNjc2MGJjMzA0ZWU3ZmY1MDM5OGRiNDc0YTJkNWMzYWVhNTMxZjc0ZDU3NGNhZGNhZTIzZmZiZjcyY2FhNmU5YTNjNjFhYzNiMDJjNDdjYzQzZGJhYjA2NTgwNTkyZmE5YjMyNGMxMGJhMGRjNjgzZWIyYzRiNDg4NzFiMjk2YmIxNDBhMWUyZWRlOTE0NmY3MThkZTE4ZWU0M2QwZTk4NWY3NWQ1YWYyYjlkNjU5ODM5YzQwZWFiMzg2"
# 可以不填，如果经常出现验证码可以填下试试
fd = ""
```

## ssoSessionId 获取方法

1. 打开星火模型官网，然后登录：<https://xinghuo.xfyun.cn/>
2. 登录完成后，点击[这里](https://xinghuo.xfyun.cn/)回到首页。
3. 按下 F12，打开开发人员工具（DevTools），点 应用（Application），在左边找到 Cookie
4. 找到 `ssoSessionId` 复制它的值即可。

<figure><img src="https://646740833-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FTwJMuwvLuKuFzQUsJRfj%2Fuploads%2FaB7MMz7jhmrAKGP0pL6l%2Fimage.png?alt=media&amp;token=a4c66012-1ff2-4394-89c2-5758176b4b53" alt=""><figcaption></figcaption></figure>

## GtToken、fd 获取方法

可以参考：<https://github.com/dfvips/xunfeixinghuo/issues/1>


# 文字转语音

这个章节将介绍如何让你的机器人在回复你的时候带上一条语音消息。 &#x20;

语音功能支持的配置项：

```toml
[text_to_speech]
# 语音转文字

# 是否默认开启文字转语音
always = false
# 默认音色
# 此选项和你使用的引擎有关
default = "zh-CN-XiaoyouNeural"

#引擎
engine = "edge"
```

### 相关命令

你可以给机器人发送：`切换语音 xxx` 来开启语音功能（xxx为音色）。

你可以发送：`ping` 来查看所有支持的音色。

### 语音引擎

要想开启语音功能，你需要配置语音引擎。

目前我们支持两种不同的语音驱动引擎，分别为：微软 Azure TTS 和 VITS。

|      | Azure TTS          | VITS              | Edge TTS               |
| ---- | ------------------ | ----------------- | ---------------------- |
| 费用   | 新用户免费 200 美元，按字数收费 | 免费                | 免费                     |
| 音色   | 仅网站中列出的可用音色        | 可用使用自己训练的音色       | 比 Azure TTS 少一点        |
| 配置要求 | 能上网就行              | 可能强劲的 CPU 或者需要显卡  | 能上网就行                  |
| 磁盘占用 | 基本没有               | 至少为 3GB，主要取决于音色数量 | 基本没有                   |
| 速度   | 超快                 | 取决于服务器配置          | 超快                     |
| 稳定性  | 极高                 | 有时候可能会花很久         | 挺高                     |
| 限制   | 不支持混合不同的语言         | 一次说话不能超过150字      | 需要安装 ffmpeg、不支持混合不同的语言 |

如果你想使用 Edge TTS 的语音功能，请阅读：

{% content-ref url="/pages/A7iZ4IAxFCGhweAdWEF7" %}
[Edge TTS 语音接入教程](/pei-zhi-wen-jian-jiao-cheng/wen-zi-zhuan-yu-yin/edge-tts-yu-yin-jie-ru-jiao-cheng)
{% endcontent-ref %}

如果你想使用 Azure TTS 的语音功能，请阅读：

{% content-ref url="/pages/olMzTND2mX8aMWtjsASP" %}
[Azure TTS 语音接入教程](/pei-zhi-wen-jian-jiao-cheng/wen-zi-zhuan-yu-yin/azure-tts-yu-yin-jie-ru-jiao-cheng)
{% endcontent-ref %}

如果你想使用 VITS 的语音功能，请阅读：

{% content-ref url="/pages/7WfABNhK6eZWYfdwozXx" %}
[VITS 语音接入教程](/pei-zhi-wen-jian-jiao-cheng/wen-zi-zhuan-yu-yin/vits-yu-yin-jie-ru-jiao-cheng)
{% endcontent-ref %}


# Azure TTS 语音接入教程

接入 Azure TTS 需要在配置文件中添加下面几行配置：

```toml
[text_to_speech]

# 引擎名填写这一个
# 设置后可以使用 Azure 的语音转文字功能
engine = "azure"

# 音色名
default = "zh-CN-XiaoyouNeural"

[azure]
tts_speech_key = '你的密钥'
tts_speech_service_region = '你的位置/区域'
```

配置文件中提到的两个值的获取方法请参考：

{% embed url="<https://blog.csdn.net/he99774/article/details/126653141>" %}

你可以在这里查看支持的音色：

{% embed url="<https://learn.microsoft.com/zh-CN/azure/cognitive-services/speech-service/language-support?tabs=tts#neural-voices>" %}

在这里试听：

{% embed url="<https://speech.microsoft.com/portal/voicegallery>" %}


# VITS 语音接入教程

我们使用 MoeGoe-Simple-API 作为 VITS 语音的后端。

接入 MoeGoe-Simple-API 的 VITS TTS 需要在配置文件中添加下面几行配置：

```toml
[text_to_speech]

# 引擎名填写这一个
engine = "vits"

# 角色 ID
default = "0"

[vits]
# 后端接口地址
api_url = "xxxx"

# 语音速度
speed = 1.4

# 目标语言
lang = "zh"

# 语音生成超时时间
timeout = 30
```

### 配置项介绍

#### 后端接口地址

此处填写你搭建好的 MoeGoe-Simple-API 的接口地址，`http://IP:端口号/voice` 。

你可以使用我的接口地址：`http://lss.mchank.cn:23456/voice` 来体验效果，但我不保证这个接口的稳定性（可能随时会关闭）。

#### 角色ID

和你的模型有关，具体请见 MoeGoe-Simple-API  的文档。

#### 语音速度

这个值越大，语速越慢。经测试发现 `1.4` 是一个比较均衡的值。

#### 目标语言

即想要转换成语音的语言，支持：

* zh - 中文
* ja - 日文
* mix - 混合

#### 生成超时时间

等待多久放弃生成本次语音，单位为秒。

### MoeGoe-Simple-API 搭建教程

{% hint style="info" %}
**注意**

此项目为第三方提供的项目，教程已经因为原项目的发展而**过时**，建议参考原项目的文档进行搭建。

项目地址： <https://github.com/Artrajz/MoeGoe-Simple-API>
{% endhint %}

搭建此 VITS 后端需要至少 5GB 的磁盘空间和一个较好的 CPU（或 GPU）。

如果你是在 Windows 上进行部署，可以直接项目的 README 进行部署。

#### 模型下载

你可以在这里下载一些训练好的 VITS 模型：

{% embed url="<https://github.com/CjangCjengh/TTSModels>" %}

#### Docker 部署

你可以在 docker-compose.yaml 中加入以下内容：

```yaml
  moegoe:
    image: lss233/moegoe-simple-api:latest
    restart: always
    ports:
      - 23456:23456
    environment:
      LANG: 'C.UTF-8'
    volumes:
      - ./Model:/app/Model
      - ./moegoe-config.json:/app/config.json
```

然后新建一个叫做 Model 的文件夹，在里面放你下载好的模型文件。

~~然后写一个叫做 `moegoe-config.json` 的配置文件：~~

```json
[
        ["./Model/1374_epochs.pth", "./Model/config.json"]
]
```

~~这里的 `./Model/1374_epochs.pth` 和 `./Model/config.json` 就是你放进去的模型文件。~~

完成之后，输入 `docker-compose up -d` 更新容器编排。 &#x20;

<figure><img src="https://646740833-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FTwJMuwvLuKuFzQUsJRfj%2Fuploads%2FGlQXtgVkz831RkwVIeDn%2Fimage.png?alt=media&amp;token=eee98f66-c10d-41fd-927c-76e0cabf6b62" alt=""><figcaption></figcaption></figure>

然后你的接口地址就是： `http://moegoe:23456/voice`


# Edge TTS 语音接入教程

接入 Edge TTS 需要在配置文件中添加下面几行配置：

```toml
[text_to_speech]

# 引擎名填写这一个
# 设置后可以使用 Edge 的语音转文字功能
engine = "edge"

# 音色名
default = "zh-CN-XiaoxiaoNeural"
```

## 依赖

如果你想在 QQ 上使用这个引擎，需要安装 ffmpeg。

Windows 参考：

{% embed url="<https://www.jianshu.com/p/5015a477de3c>" %}

Linux ：建议你直接问 ChatGPT：`XXX 系统怎么装 ffmpeg？`

Docker: 自带，无需安装。

## 音色

你可以在这里查看支持的音色：

{% embed url="<https://www.cnblogs.com/v3ucn/p/17186731.html>" %}

在这里可以试听：

{% embed url="<https://speech.microsoft.com/portal/voicegallery>" %}


# 文字转图片

机器人可以把文字转成图片，这样可以避免消息发到 QQ 群中被腾讯拦截，或者公式直接输出导致可读性太低的问题。 &#x20;

机器人内置两种不同的文字转图片模式。

文字转图片功能有关的配置项：

```toml
[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 
```

## Markdown 渲染模式

该模式下，机器人输出的内容会被当成 Markdown 文本，在转换成 HTML 之后，使用 wkhtmltoimage 这个软件进行渲染，并转换成图片。&#x20;

该模式下可以渲染公式、图片、代码高亮，右下角还会有一个二维码，扫描之后获得图片内容的原文。

这需要你运行机器人的电脑上有安装 wkhtmltoimage 和一个图形界面。

对于没有图形界面的 Linux 服务器，可以考虑使用 xvfb 来模拟一个。

{% hint style="info" %}
提示

如果你是通过 Windows 快速部署包，或者 Linux 一键脚本部署的，那么别担心，这些我们都已经帮你配置好了。
{% endhint %}

### 自定义渲染效果图

Markdown 模式下的图片渲染是通过 HTML 实现的，这个 HTML 文件存放在项目的 `asssets\texttoimg\template.html` 下。

如果你有一定的 Web 前端开发能力，可以自己修改这个模板，实现自定义。

## 备用渲染模式

备用渲染模式只是单纯地把文字转化成图片，不会渲染公式、Markdown 等富文本内容，也不需要任何环境依赖。

默认情况下，机器人会优先尝试使用 Markdown 渲染模式，只有当该模式渲染失效，才会改回备用渲染模式。


# AI 画图

目前我们支持的画图 AI 有：

* Stable Diffusion
* Bing 画图 (由 Bing 帮你生成 DALL·E)
* OpenAI 画图（直接使用 DALL·E)
* 文心一言

如果你当前使用的语言模型是文心一言，那么就会使用文心一言的 AI 画图功能：

[接入 文心一言](/pei-zhi-wen-jian-jiao-cheng/jie-ru-ai-ping-tai/jie-ru-wen-xin-yi-yan)

如果你使用其他的语言模型，那么则会根据你上面设置的顺序来选择使用哪个画图 AI，不支持切换。

## 接入 Stable Diffusion 画图

Stable Diffusion 需要你搭建一个 sd-webui。

然后在你的配置文件中加入以下内容：

```toml
[sdwebui]
# sd-webui 的接口地址地址
api_url='http://127.0.0.1:7860/'
# 内置提示词，所有的画图内容都会加上这些提示词
prompt_prefix = 'masterpiece, best quality, illustration, extremely detailed 8K wallpaper'
# 负面提示词，sd 的一个参数
negative_prompt = 'NG_DeepNegative_V1_75T, badhandv4, EasyNegative, bad hands, missing fingers, cropped legs, worst quality, low quality, normal quality, jpeg artifacts, blurry,missing arms, long neck, Humpbacked,multiple breasts, mutated hands and fingers, long body, mutation, poorly drawn , bad anatomy,bad shadow,unnatural body, fused breasts, bad breasts, more than one person,wings on halo,small wings, 2girls, lowres, bad anatomy, text, error, extra digit, fewer digits, cropped, worst quality, low quality, normal quality, jpeg artifacts, signature, watermark, username, out of frame, lowres, text, error, cropped, worst quality, low quality, jpeg artifacts, ugly, duplicate, morbid, mutilated, out of frame, extra fingers, mutated hands, poorly drawn hands, poorly drawn face, mutation, deformed, dehydrated, bad anatomy, bad proportions, extra limbs, cloned face, disfigured, gross proportions, malformed limbs, missing arms, missing legs, extra arms, extra legs, fused fingers, too many fingers,'
# 这也是 sd 的一个参数
sampler_index = 'DPM++ SDE Karras'
# 这还是 sd 的一个参数
filter_nsfw = true
# 你可以在这里看所有支持的 sd 参数: https://github.com/AUTOMATIC1111/stable-diffusion-webui/wiki/API
# 画图超时时间，单位为秒
timeout = 10.0
```

## 接入 Bing 画图

如果你想使用 Bing 的画图功能，那么你需要接入一个 Bing 账号，然后开启 Bing 画图功能。

参考：[接入 AI 平台](/pei-zhi-wen-jian-jiao-cheng/jie-ru-ai-ping-tai#jie-ru-new-bing-sydney)

```toml
[bing]

# 开启 Bing 画图
use_drawing = true

[[bing.accounts]]
cookie_content = '你的 Bing 账号信息'
```

部分用户可能无法使用 Bing 画图,请阅读:

{% embed url="<https://github.com/lss233/chatgpt-mirai-qq-bot/issues/659>" %}

## 接入 OpenAI DALL·E 画图

[接入 OpenAI 的 ChatGPT](/pei-zhi-wen-jian-jiao-cheng/jie-ru-ai-ping-tai/jie-ru-openai-de-chatgpt#jie-ru-api-ban-openai-chatgpt)

使用 OpenAI 的 API 画图时将会调用 DALL·E 模型进行绘画，它的费用为 0.018 美元/张。

## 使用画图功能

触发的指令请参考：

[触发形式与指令](/pei-zhi-wen-jian-jiao-cheng/chu-fa-xing-shi-yu-zhi-ling#ai-hua-tu)


# 回复内容

该部分完整配置参考：

<details>

<summary>点此展开</summary>

<pre class="language-toml"><code class="lang-toml"><strong>[response]
</strong>
mode = "mixed"

buffer_delay = 15

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 = "抱歉，当前服务器压力有点大，请稍后再找我吧！"

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

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

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

quote = true

timeout = 30.0

timeout_format = "我还在思考中，请再等一下~"

max_timeout = 600

cancel_wait_too_long = "啊哦，这个问题有点难，让我想了好久也没想明白。试试换个问法？"

max_queue_size = 10

<strong>queue_full = "抱歉！我现在要回复的人有点多，暂时没有办法接收新的消息了，请过会儿再给我发吧！"
</strong>
queued_notice_size = 3

queued_notice = "消息已收到！当前我还有{queue_size}条消息要回复，请您稍等。"
</code></pre>

</details>

下面介绍各个配置的含义。

{% hint style="info" %}
**请注意**

所有的配置项都要写在 `[response]` 的后面，你只需要写一个 `[response]`，然后跟着配置项和参数即可。
{% endhint %}

## 响应模式

```toml
[response]
# 默认的响应模式

mode = "mixed"
```

目前支持三种响应模式：

* `mixed` - 图文混合模式

  在这个模式下，普通文本会以文字形式发送，而 Markdown、公式等富文本会以图片形式发送。
* `text` - 文本模式

  在这个模式下，消息会全部以文字的形式发送。

  需要注意的是，在 QQ 群中，由于腾讯风控比较严格，文字消息可能会发送失败。此时机器人会尝试使用图片模式来重新发送内容。
* `image` - 图片模式

  在这个模式下，机器人的消息会渲染成图片再发送。

  有关渲染成图片的有关设置请阅读：

  [文字转图片](/pei-zhi-wen-jian-jiao-cheng/wen-zi-zhuan-tu-pian)

除此之外，你也可以在聊天窗口发送命令来切换响应模式，关于这部分的操作请阅读指令章节。

## 分段发送

有些时候，AI 生成回复所花费的时间过长。 为了避免长时间的等待，我们加入了分段发送功能。 &#x20;

```toml
[response]

# 分段发送延迟
# 设置为 0 关闭分段发送功能
buffer_delay = 15
```

这个功能会每隔一段时间将 AI 生成的内容发送给用户，参数的单位为秒。

如果你要开启这个功能，建议把参数设置为 15 或以上，以免出现 BUG 和刷屏。

如果你把参数设置成 0，即表示关闭分段发送功能，消息会等待 AI 全部生成完毕以后再回复。

## 默认语言模型

你可以在配置文件中指定默认使用的语言模型。

默认情况下，程序会根据已经接入的语言模型设置，自动选择语言模型（不要钱的优先）。

```toml
[response]

default_ai = "chatgpt-web"
```

可以填的参数：

* `chatgpt-web`- 网页版 ChatGPT
* `chatgpt-api` - API 版 ChatGPT (GPT3.5-turbo)
* `bing-c` - New Bing (新必应对话风格-创造力)
* `bing-p` - New Bing (新必应对话风格-精确)
* `bing-b` - New Bing (新必应对话风格-平衡)
* `bard` - Google Bard
* `yiyan` - 百度 文心一言 网页版
* `chatglm-api` - 清华 ChatGLM-API 接口
* `xinghuo` - 讯飞星火模型
* `poe-sage` - POE Sage 模型
* `poe-beaver` - POE GPT4 模型
* `poe-claude2` - POE Claude2 模型
* `poe-claude` - POE Claude 模型
* `poe-chatgpt` - POE ChatGPT 模型
* `poe-nutria` - POE Dragonfly 模型

## 引用发送的消息

你可以设置机器人在回复时引用发送的消息，方便定位上下文。

```toml
[response]

quote = true
```

## 消息排队

因为聊天是有上下文的，机器人必须一条一条地处理发送过来的消息，才能保证上下文的连贯性。&#x20;

当消息发送过多，机器人还没来得及反应时，后来的消息会加入到一个队列中等待。

```toml
[response]

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

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

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

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

## 消息等待

如果语言模型太久没有响应，机器人可以发送一段消息安抚用户。

```toml
[response]

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

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

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

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

当超过最长等待时间时，机器人会取消这次语言模型的生成请求。

## 其他消息提示

```toml
[response]

# 匹配指令成功但没有对话内容时发送的消息
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 = "抱歉，当前服务器压力有点大，请稍后再找我吧！"

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

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

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


# 百度云回复审核

如果你担心机器人发送的消息存在敏感内容导致封号，可以配置百度云审核。

<pre class="language-toml"><code class="lang-toml">[baiducloud]
<strong>
</strong><strong># 是否启动百度云内容安全审核
</strong>check = false

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

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

# 不合规消息自定义返回
prompt_message = "[百度云]请珍惜机器人，当前返回内容不合规"
</code></pre>

你可以在这里注册百度云审核服务：

{% embed url="<http://console.bce.baidu.com/ai/#/ai/antiporn/overview/index>" %}


# 触发形式与指令

<details>

<summary>该部分完整配置如下：</summary>

```toml
[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
```

</details>

## 聊天前缀

有些时候，你并不想让机器人回复所有的消息，那么你可以通过设置聊天前缀来让机器人只回复特定开头的消息。

```toml
[trigger]

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

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

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

你可以设置三种不同的聊天前缀，分别生效于全局、私聊和群聊。

这三个配置项填写的都是数组，也就是说你可以设置多个前缀，例如：

```toml
[trigger]

# 前缀是 gpt 或者 ai 都可以
prefix = ["gpt", "ai"]
```

## 是否需要被提起

你也可以设置机器人是否需要被先 @ 才会回复消息。

```toml
require_mention = "at"
```

这个配置项可以填的值有：

* none - 不需要被提起
* at - 需要先 @&#x20;
* mention - 被先 @ 或者说出机器人的名字

在这个例子中，因为设置了**前缀**和**需要先 @**，你发送的消息需要为： `@机器人 gpt 你好`。

## 忽略消息

你可以写一些正则表达式，让机器人根据规则忽略某些消息。

```toml
[trigger]

# 满足以下正则表达式则忽略此条消息
ignore_regex = ["^/draw.+$"]
```

在这个例子中，当用户发送了任何以 `/draw`开头的消息，机器人都会无视。

## 和指定的语言模型直接对话

有些时候你不想切换 AI 就直接对话，那么可以通过设置直接对话的前缀。

```toml
[trigger]

# 直接和指定的 AI 对话（不切换AI）
prefix_ai = { "chatgpt-web" = ["gpt"], "bing-c" = ["bing"] }
```

在上面这个例子中，用户发送： `bing 你好`，机器人就会直接把 “你好” 两个字发给 New Bing AI。

需要注意的是，如果你还设置了**聊天前缀**，那么你需要把**聊天前缀**放到**直接对话前缀**的前面。

举个例子：

```toml
[trigger]

prefix = ["ask"]
prefix_ai = { "chatgpt-web" = ["gpt"], "bing-c" = ["bing"] }
```

那么用户需要发送 `ask bing 你好`，才会有效果。

## AI 画图

如果你使用的 AI 是文心一言，那么就会使用文心一言的 AI 画图功能。

如果你使用其他的 AI，那么你只有在你提供了 OpenAI 的 API 时才能使用。

```toml
[trigger]

# AI 画图的前缀
prefix_image = ["画", "看"]
```

## 切换模型

你可以在聊天的过程中切换模型（不是切换 AI）。

<pre class="language-toml"><code class="lang-toml"><strong>[trigger]
</strong><strong>
</strong><strong># 切换模型的命令
</strong>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
</code></pre>

## 其他命令

```toml
[trigger]

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

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


# 预设系统

请阅读：

{% embed url="<https://github.com/lss233/chatgpt-mirai-qq-bot/wiki/%F0%9F%90%B1-%E9%A2%84%E8%AE%BE%E7%B3%BB%E7%BB%9F>" %}


# 额度系统 & 黑白名单

请阅读：

{% embed url="<https://github.com/lss233/chatgpt-mirai-qq-bot/wiki/%F0%9F%A7%B5-%E9%A2%9D%E5%BA%A6%E9%99%90%E5%88%B6-&-%E9%BB%91%E7%99%BD%E5%90%8D%E5%8D%95>" %}


# ChatGPT 启动过程中的常见问题

下面是你在启动 ChatGPT 中可能会遇到的常见问题和解决方法方案：

#### 1. 使用邮箱密码登录 OpenAI 时，出现：登录失败! 连接 OpenAI 服务器失败,请更换代理节点重试

<figure><img src="https://646740833-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FTwJMuwvLuKuFzQUsJRfj%2Fuploads%2F1mCwyZZmiAiy0knHAMIe%2Fimage.png?alt=media&amp;token=3eaf288f-547f-462f-98c5-34853d38f2fe" alt=""><figcaption></figcaption></figure>

原因及解决方法：

{% embed url="<https://github.com/lss233/chatgpt-mirai-qq-bot/issues/462>" %}

#### 2. 启动时出现：配置文件有误，请重新修改！

<figure><img src="https://646740833-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FTwJMuwvLuKuFzQUsJRfj%2Fuploads%2FpD5Hv0yebCz727Vpyh6S%2Fimage.png?alt=media&amp;token=ec73f972-5a67-4ee1-b629-07bbbe94c081" alt=""><figcaption></figcaption></figure>

这是因为你的 `config.cfg` 写的有问题。你可以用下面这个工具帮你检查：

{% embed url="<https://www.toml-lint.com/>" %}

#### 3. 未能使用所配置的账号激活 sessionKey，请检查 mirai\_session 配置

<figure><img src="https://646740833-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FTwJMuwvLuKuFzQUsJRfj%2Fuploads%2FPwywkNQEmdZYqKjWHIrM%2Fimage.png?alt=media&amp;token=ba22e725-ea4d-4762-9762-d467389f5d80" alt=""><figcaption></figcaption></figure>

出现这个问题的原因可能是因为你启动 Mirai 的时候没有登录 QQ。

解决方法就是在 Mirai 那边登录机器人 QQ，然后重新开一下我们这个程序。

#### 3. 使用过程中出现：ClientConnectorError(ConnectionKey(host='localhost.....

<figure><img src="https://646740833-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FTwJMuwvLuKuFzQUsJRfj%2Fuploads%2FN3FzGU9agm2irDXIyrbM%2Fimage.png?alt=media&amp;token=a6a38ac1-7c0c-4c2e-998d-b4c44d62dedc" alt=""><figcaption></figcaption></figure>

这是因为我们的程序没有连接上 Mirai。请检查一下 Mirai 是不是启动了，并且登录了QQ。 &#x20;

如果 Mirai 确实没问题，请按照 [/pages/jP80EAAJ6oFNHXkz9yEr#zheng-xiang-websocket-+-http-fang-shi-lian-jie](https://chatgpt-qq.lss233.com/chang-jian-wen-ti-jie-da/pages/jP80EAAJ6oFNHXkz9yEr#zheng-xiang-websocket-+-http-fang-shi-lian-jie "mention") 检查你的配置。


# Mirai 启动过程中的常见问题

#### 1. 使用过程中出现：\[reverse-ws] Connection to localhost:8554/ interrupted.

<figure><img src="https://646740833-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FTwJMuwvLuKuFzQUsJRfj%2Fuploads%2Fokj8th8BArPgSNmsoPnP%2Fimage.png?alt=media&amp;token=ac3d2856-1628-42b6-be6b-f91356a6ef0a" alt=""><figcaption></figcaption></figure>

这是因为你的 Mirai 没有连上我们程序。请检查一下我们程序是不是启动了。 &#x20;

如果程序确实有在运行，请按照 [对接 Mirai](/pei-zhi-wen-jian-jiao-cheng/dui-jie-liao-tian-ping-tai/dui-jie-mirai#fan-xiang-websocket-lian-jie-shi-de-she-zhi) 检查你的配置。


# go-cqhttp 启动过程中的常见问题

#### 1. 连接到反向 WebSocket Universal 服务器 ws\://localhost:8566/ws 时出现错误： dial tcp...

<figure><img src="https://646740833-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FTwJMuwvLuKuFzQUsJRfj%2Fuploads%2F7g8Qr9youOHPXqzeH9hA%2Fimage.png?alt=media&amp;token=95ca3af9-a4a8-4a7f-9a2e-6ecf0200c325" alt=""><figcaption></figcaption></figure>

这是因为 go-cqhttp 没法成功连接上我们的程序。请检查一下我们的程序是不是启动了。

如果程序确实有在运行，那就按照 [对接 OneBot (go-cqhttp)](/pei-zhi-wen-jian-jiao-cheng/dui-jie-liao-tian-ping-tai/dui-jie-onebot-gocqhttp#gocqhttp-de-she-zhi-jiao-cheng) 检查一下你的配置。


# 机器人在使用过程中的常见问题

#### 1. 出现下面这样的请求太多的错误：

<figure><img src="https://646740833-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FTwJMuwvLuKuFzQUsJRfj%2Fuploads%2FNTIvgkDPkfMn7vjIKDZ4%2Fimage.png?alt=media&amp;token=693b2841-551b-4586-b0e1-88469e6971ca" alt=""><figcaption></figcaption></figure>

这是消息发太多导致的。如果频繁出现，可以考虑换一个 `browserless_endpoint`。


# WebUI 常见问题解答

## 1. 忘记登录密码

打开配置文件 `config.cfg` ，找到 `[http]`  中的 `password` 并删除。

<figure><img src="https://646740833-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FTwJMuwvLuKuFzQUsJRfj%2Fuploads%2FxBPBCmZGmgMPqb736qnH%2Fimage.png?alt=media&amp;token=fb29ec6f-6724-4c08-947f-ea061c88e7d2" alt=""><figcaption></figcaption></figure>

然后重新启动程序，注意看日志，会输出一个随机生成的默认密码。

<figure><img src="https://646740833-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FTwJMuwvLuKuFzQUsJRfj%2Fuploads%2FFpg3OOQT5Eo6lMeJnRvZ%2Fimage.png?alt=media&amp;token=e2f10224-53f3-4300-99a5-a99b9a30f77e" alt=""><figcaption></figcaption></figure>


