如您觉得以下步驟太過繁瑣,想直接體驗ChatGPT,請加微信聯繫:lifetravelling

第一個方法(第一個測試下來服務器網頁關閉就不能回覆,而且沒有回覆圖片功能,所以推薦第二個方法)

一、登陆OpenAI官网登录你的账号,获取API key

官网:www.openai.com

國內不開放,需有國外手機號支持。

二、Wechat-Chatgpt项目

https://github.com/fuergaosi233/wechat-chatgpt

三、开始配置服务器

服務器這裡選擇阿里雲輕量應用服務器,新加坡Ubuntu20.04, 24元/月。

安装Node环境

sudo apt update && sudo apt upgrade
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt-get install nodejs
apt install git

git clone https://github.com/fuergaosi233/wechat-chatgpt

安装依赖并创建配置文件

# 切换到new-wechatgpt分支
git checkout new-wechatgpt

# 安装依赖
npm install

# 创建配置文件
cp config.yaml.example config.yaml
cp .env.example .env
vi .env

修改配置文件

.env内容如下:

CHAT_GPT_EMAIL=
CHAT_GPT_PASSWORD=
CHAT_GPT_RETRY_TIMES=
CHAT_PRIVATE_TRIGGER_KEYWORD=
OPENAI_PROXY=
NOPECHA_KEY=
CAPTCHA_TOKEN=
OPENAI_API_KEY=填写你的API_KEY

修改模型

打开文件:

cd wechat-chatgpt
vi node_modules/chatgpt/build/index.js          

(73行)

修改模型为:

text-davinci-003

启动服务并扫码登录

npm run dev

第二個方法:

已实现特性

      • 文本对话: 接收私聊及群组中的微信消息,使用ChatGPT生成回复内容,完成自动回复
      • 规则定制化: 支持私聊中按指定规则触发自动回复,支持对群组设置自动回复白名单
      • 多账号: 支持多微信账号同时运行
      • 图片生成: 支持根据描述生成图片,并自动发送至个人聊天或群聊
      • 上下文记忆: 支持多轮对话记忆,且为每个好友维护独立的上下会话
      • 语音识别: 支持接收和处理语音消息,通过文字或语音回复
      • 插件化: 支持个性化插件,提供角色扮演、文字冒险、与操作系统交互、访问网络数据等能力

    Github地址: https://github.com/zhayujie/chatgpt-on-wechat

    1. OpenAI账号注册

    前往 OpenAI注册页面 创建账号,参考这篇 教程 可以通过虚拟手机号来接收验证码。创建完账号则前往 API管理页面 创建一个 API Key 并保存下来,后面需要在项目中配置这个key。

    项目中使用的对话模型是 davinci,计费方式是每1k字 (包含请求和回复) 消耗 $0.02,图片生成是每张消耗 $0.016,账号创建有免费的 $18 额度,使用完可以更换邮箱重新注册。

    2.运行环境

    支持 Linux、MacOS、Windows 系统(可在Linux服务器上长期运行),同时要求安装有 Python(版本需在 3.7.1~3.9.X 之间,Linux环境建议使用3.7.X)。

    (1) 克隆项目代码:

    git clone https://github.com/zhayujie/chatgpt-on-wechat
    cd chatgpt-on-wechat/

    (2) 安装核心依赖 (必选):

    能够使用itchat创建机器人,并具有文字交流功能所需的最小依赖集合。

    pip3 install -r requirements.txt

    (3) 拓展依赖 (可选,建议安装):

    pip3 install -r requirements-optional.txt

    如果某项依赖安装失败请注释掉对应的行再继续。

    配置

    配置文件的模板在根目录的config-template.json中,需复制该模板创建最终生效的 config.json 文件:

    cp config-template.json config.json

    然后在config.json中填入自定义配置,各配置项含义如下:

    # config.json文件内容示例
    { 
      "open_ai_api_key": "YOUR API KEY"                           # 填入上面创建的 OpenAI API KEY
      "single_chat_prefix": ["bot", "@bot"],                      # 私聊时文本需要包含该前缀才能触发机器人回复
      "single_chat_reply_prefix": "[bot] ",                       # 私聊时自动回复的前缀,用于区分真人
      "group_chat_prefix": ["@bot"],                              # 群聊时包含该前缀则会触发机器人回复
      "group_name_white_list": ["ChatGPT测试群", "ChatGPT测试群2"], # 开启自动回复的群名称列表
      "image_create_prefix": ["画", "看", "找"]                    # 开启图片回复的前缀
    }

    配置说明:

        • 个人聊天中,需要以 “bot” 或 “@bot” 为开头的内容触发机器人,对应配置中的 single_chat_prefix;机器人回复的内容会以 “[bot]” 作为前缀, 以区分真人,对应的配置为 single_chat_reply_prefix
        • 群组聊天中,群名称需配置在 group_name_white_list 中才能开启群聊自动回复,默认只要被@就会触发机器人自动回复,另外群聊天中只要检测到以 “@bot” 开头的内容,同样会自动回复,这对应配置 group_chat_prefix
        • 对于图像生成,在满足个人或群组触发条件外,还需要额外的关键词,对应配置 image_create_prefix
        • 关于OpenAI对话及图片接口的参数配置(内容自由度、回复字数限制、图片大小等),可以参考 对话接口图像接口 文档直接在 代码 bot\openai\open_ai_bot.py 中进行调整。

      运行

      1.如果是开发机本地调试,直接在项目根目录下执行:

      python3 app.py

      终端输出二维码后,使用微信进行扫码,当输出 “Start auto replying” 时表示自动回复程序已经成功运行了(注意:用于登录的微信需要在支付处已完成实名认证)。扫码登录后,就可以在微信手机端通过配置的关键词触发自动回复了。

      2.如果是服务器部署,则使用nohup命令在后台运行:

      touch nohup.out                                   # 首次运行需要新建日志文件                     
      nohup python3 app.py & tail -f nohup.out          # 后台运行程序并输出日志

      扫码登录后程序即可运行于服务器后台,此时可通过 ctrl+c 关闭日志,不会影响后台程序的运行。使用 ps -ef | grep app.py | grep -v grep 命令可查看运行于后台的进程,如果想要重新启动程序可以先 kill 掉对应的进程。日志关闭后如果想要再次查看只需输入 tail -f nohup.out

      注:如果 扫码后手机提示登录验证需要等待5s,而终端的二维码再次刷新并提示 Log in time out, reloading QR code,此时需参考此 issue 修改一行代码即可解决。

      最後:如果忽然沒消息了怎麼辦?

      重裝方法二