wechat-chatgpt - 通过wechaty在微信上使用ChatGPT

Created at: 2022-12-06 21:15:21
Language: TypeScript

欢迎来到微信微信 👋

版本 许可证: 国际学习中心 推特:富尔高斯 加入 github 配置文件自述生成器的不和谐社区

在微信上使用 ChatGPT 通过微信
英语|中文文档

在铁路上部署

如果你没有服务器或想要体验快速部署,可以使用 Railway 执行此操作,请参阅铁路用法

更新解梳器 27, 2022

使用铁路和 docker 部署,可能存在无法解决的问题,我们正在研究它。

更新 十二月 20, 2022

感谢@transitive废话,ChatGPT API使工作自动化。
你应该使用密码和用户名登录,并配置验证码
⚠️ Docker 映像可能存在问题,因为我没有 X86 设备,Qume 无法正常工作。

🌟特征

  • [x] 通过微信在微信上使用 ChatGPT
  • [x] 支持 OpenAI 帐户池
  • [x] 支持使用代理登录
  • [x] 添加对话支持
  • [x] 添加 Docker 文件
  • [x] 发布到 Docker.hub
  • [x] 添加铁路部署
  • [x] 自动重新加载 OpenAI 帐户池
  • [X] 为 429/503 添加发送消息重试

在 Linux 中与 docker 一起使用(推荐)

cp config.yaml.example config.yaml
# Change Config.yaml
# run docker command in Linux or WindowsPowerShell
docker run -d --name wechat-chatgpt -v $(pwd)/config.yaml:/app/config.yaml holegots/wechat-chatgpt:latest
# login with qrcode
docker logs -f wechat-chatgpt

在 Windows 中与 docker 一起使用

# Create and modify config.yaml in the current directory
# run docker command in WindowsPowerShell
docker run -d --name wechat-chatgpt -v $(pwd)/config.yaml:/app/config.yaml holegots/wechat-chatgpt:latest
# In the Windows command line (cmd) environment, you may mount the current directory like this:
docker run -d --name wechat-chatgpt -v %cd%/config.yaml:/app/config.yaml holegots/wechat-chatgpt:latest
# login with qrcode
docker logs -f wechat-chatgpt

升级 docker 镜像版本

docker pull holegots/wechat-chatgpt:latest
docker stop wechat-chatgpt
docker rm wechat-chatgpt
# run docker command in Linux or WindowsPowerShell
docker run -d --name wechat-chatgpt -v $(pwd)/config.yaml:/app/config.yaml holegots/wechat-chatgpt:latest
# In the Windows command line (cmd) environment, you may mount the current directory like this:
docker run -d --name wechat-chatgpt -v %cd%/config.yaml:/app/config.yaml holegots/wechat-chatgpt:latest
# login with qrcode
docker logs -f wechat-chatgpt

安装

npm install

NodeJS 版本 >= 18.0.0

配置

复制配置

你需要复制配置文件来设置项目。

cp config.yaml.example config.yaml

获取并配置 Openai 帐户

如果你没有此OpenAI帐户并且居住在中国,则可以在此处获取。

使用帐户和密码

你需要获取OpenAI帐户和密码。你的config.yaml应该是这样的:

chatGPTAccountPool:
  - email: <your email>
    password: <your password>
# if you hope only some keywords can trigger chatgpt on private chat, you can set it like this:
chatPrivateTiggerKeyword: ""

⚠️触发器关键字必须出现在收到的消息的第一个位置。⚠️请确保你的网络可以登录到OpenAI,如果你无法登录,请尝试设置代理或使用SessionToken。

设置代理:

你可以在 中配置 :

config.yaml

openAIProxy: <Your Proxy>

验证码

该软件包的浏览器部分使用Puppeteer来尽可能自动化,包括解决所有CAPTCHA。🔥

默认情况下会处理基本的 Cloudflare 验证码,但如果你想自动化电子邮件 + 密码 Recaptchas,则需要注册以下付费提供商之一:

  • nopecha - 使用 AI 解决验证码
    • 更快、更便宜
    • 将 env var 设置为你的 nopecha API 密钥
      NOPECHA_KEY
    • nopecha 解决登录验证码的演示视频(41 秒)
  • 2验证码 - 使用真人解决验证码
    • 更知名的解决方案,存在时间更长
    • 将 env var 设置为你的 2captcha API 令牌
      CAPTCHA_TOKEN

因此,你应该在环境变量中进行配置或。

NOPECHA_KEY
CAPTCHA_TOKEN

开始项目

npm run dev

与铁路一起使用

Rail 是一个部署平台,你可以在其中配置基础架构,在本地使用该基础架构进行开发,然后部署到云中。本节介绍如何使用铁路快速部署微信-chatgpt项目。

首先,你需要注册一个铁路帐户并使用 GitHub 验证登录。

然后单击下面的一键部署按钮进行部署。

在铁路上部署

完成一些验证后,可以开始部署。你将看到以下界面:

铁路部署

需要配置一些环境变量:

  • CHAT_GPT_EMAIL:你的OpenAI帐户电子邮件。

  • CHAT_GPT_PASSWORD:你的 OpenAI 帐户密码。

  • CHAT_GPT_RETRY_TIMES:OpenAI API 返回 429 或 503 时重试的次数。

  • CHAT_PRIVATE_TRIGGER_KEYWORD :如果你希望只有一些关键词可以在私有聊天中触发chatgpt,你可以设置它。

单击“部署”按钮,你的服务将很快开始部署。以下界面似乎指示部署已开始:

铁路部署

部署展示成功后,单击查看日志,在部署日志中找到微信登录链接。

铁路部署

点击进入,使用准备好的微信扫码登录。

成功登录并开始发送和接收消息(此过程可能需要几分钟):

铁路成功

此外,在部署中,你可能会遇到以下问题:

  • 错误:池中没有聊天项目:⚠️此错误表示你未正确配置 OpenAI 帐户信息。你可以从以下几个方面解决此问题:1.检查令牌或openAI账号和密码是否正确填写。2. 重新部署当前服务。请注意,应在铁路 dashboard 的“变量”页面上修改上述内容。3. 请确保存在 CloudFlare 人工身份验证,如果存在,无头浏览器可能无法模拟登录 OpenAI。
  • 部署完成后,不会生成 QR 码。尝试刷新页面,再次查看“部署日志”面板是否生成了链接和二维码。
  • 生成的二维码无法扫描。在生成的二维码上,有一个链接可以点击扫描二维码。
  • 消息反馈非常慢。由于Railway的服务器部署在海外,消息反馈延迟有所增加,但仍在接受范围内。如果你对时间敏感,则可以使用自己的服务器部署。

如果你是第一次登录,则需要扫描二维码。

贡献

🤝贡献

欢迎贡献、问题和功能请求!
请随时查看问题页面

表示你的支持

如果这个项目对你有帮助,请给出一个⭐️