当前ChatGPT是一个爆火的项目,近来浏览 Github 的时候,发现一个好玩的项目:微信接入ChatGPT,利用ChatGPT的对话能力,实现微信的自动聊天回复。

这个项目实现了许多有趣的功能,包括

  • 通过 wechaty,将 ChatGPT 接入微信
  • 创建 OpenAI 的账户池
  • 支持通过代理登陆 OpenAI
  • 加入了持续对话的功能(每一个微信用户都保持自己的对话上下文)
  • 加入 Dockerfile
  • 发布到 Docker.hub
  • 通过 Railway 进行部署
  • 实现 OpenAI 账户池的热加载

在这个github上有官方的教程,自己在电脑尝试了一遍,本文记录搭建使用的全过程及遇到的各种问题。

整体的安装流程是:

  1. OpenAI 账号信息获取
  2. 环境安装:npm、poetry安装
  3. docker安装、Windows的WSL安装
  4. 启动、使用

1、OpenAI账号信息获取

配置方法 A:使用账号密码

可以在配置文件中输入你的账号密码,格式如下

chatGPTAccountPool:
  - email: <your email>
    password: <your password>
# 如果你希望只有一些关键字可以在私人聊天中触发chatgpt,你可以这样设置:
chatPrivateTiggerKeyword: ""

⚠️ 触发关键字必须出现在接收到的消息的第一个位置⚠️

请确保您的终端网络可以登陆 OpenAI。如果登陆失败,请尝试使用代理或使用 SessionToken 方法配置

设置代理:

export http_proxy=<Your Proxy>

B: 使用 Session Token

如果您无法使用账号密码登陆您的 OpenAI 账户,或者您的终端网络不支持连接到 OpenAI,那么您可以尝试使用 Session Token,请根据如下指示获取:

  1. 前往 https://chat.openai.com/chat 并登陆。
  2. 按下 F12 打开开发者工具.
  3. 点击 Application 选项卡 > Cookies.
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fKweWFiY-1670799157360)(docs/images/session-token.png)]
  4. 复制 __Secure-next-auth.session-token 的值,并且以如下方式配置到您的项目中:
chatGPTAccountPool:
  - session_token: <your session_token>

2、环境安装

Windows环境安装npm和poetry,其中npm直接根据教程安装即可。poetry的安装遇到一些问题,教程对不上。

根据blog下载相应的文件,步骤如下:
离线安装poetry:

1、https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py

 保存网页中的内容于【 get-poetry.py 】中,并存在文件夹【 \poetry 】中

2、https://github.com/python-poetry/poetry/releases

 下载网站对应poetry版本,如我下载的是【 poetry-1.2.0.tar.gz 】

3、将下载的压缩包【 poetry-1.2.0.tar.gz 】存到文件夹【 \poetry 】中,不要解压
4、使用pycharm的Terminal执行如下命令

python get-poetry.py --file poetry-1.2.0.tar.gz
pip install poetry

5、在Windows下设置path环境变量
6、获取执行程序

git clone https://github.com/fuergaosi233/wechat-chatgpt.git
如果执行失败,直接下载zip文件也可以

7、cd 到上述项目根目录下,执行

npm install && poetry install

其实到这里,就可以直接运行了,在根目录执行上述install后,执行

npm run dev

即可完成项目的运行。希望尝试docker的运行方式,下面的步骤才是可选的,只想在终端中运行该项目,到此即可。

3、docker安装和WSL安装

在github项目首页给出了docker的运行方式,在windows上安装docker执行,需要首先安装docker桌面版,从官网直接下载即可。安装容易,但Windows的启动是容易失败,如果失败,可以尝试一下方法

1、 切换启动方式

docker的默认启动是linux内核,可以从设置上切换为windows内核

2、安装wsl

根据教程,在Windows上安装完成后,docker就可以正常启动

4、启动、应用

在Windows上通过Docker使用

# 在当前目录创建并修改config.yaml
cp config.yaml.example config.yaml
# 在WindowsPowerShell中运行如下命令
docker run -d --name wechat-chatgpt -v $(pwd)/config.yaml:/app/config.yaml holegots/wechat-chatgpt:latest
# 在Windows command line (cmd)中, 您需要像这样修改上述代码的挂载目录:
docker run -d --name wechat-chatgpt -v %cd%/config.yaml:/app/config.yaml holegots/wechat-chatgpt:latest
# 通过二维码登录
docker logs -f wechat-chatgpt

更新Docker镜像版本

docker pull holegots/wechat-chatgpt:latest
docker stop wechat-chatgpt
docker rm wechat-chatgpt
# 在Linux或WindowsPowerShell上运行如下命令
docker run -d --name wechat-chatgpt -v $(pwd)/config.yaml:/app/config.yaml holegots/wechat-chatgpt:latest
# 在Windows command line (cmd)中, 您需要像这样修改上述代码的挂载目录:
docker run -d --name wechat-chatgpt -v %cd%/config.yaml:/app/config.yaml holegots/wechat-chatgpt:latest
# 通过二维码登录
docker logs -f wechat-chatgpt

以上就可以正常在微信正常使用了

12-12 22:41