# 简介 本项目是基于ChatGPT模型实现的微信聊天机器人,通过[revChatGPT](https://github.com/acheong08/ChatGPT) 访问 ChatGPT接口,使用 [itchat](https://github.com/littlecodersh/ItChat) 实现微信消息的接收和发送。已实现的功能如下: - [x] **基础功能:** 接收私聊及群组中的微信消息,使用ChatGPT生成回复内容,完成自动回复 - [x] **规则定制化:** 支持私聊中按指定规则触发自动回复,支持对群组设置自动回复白名单 - [x] **会话上下文:** 支持用户维度的上下文保存和过期清理 - [x] **Session刷新:** 支持ChatGPT session的定时刷新保鲜 - [x] **多账号:** 支持多微信账号同时运行 # 快速开始 ## 准备 ### 1.网页版微信 本方案中实现微信消息的收发依赖了网页版微信的登录,可以尝试登录 ,如果能够成功登录就可以开始后面的步骤了。 ### 2.运行环境 操作系统支持 Linux、MacOS、Windows,并需安装 `Python3.6` 及以上版本。推荐使用Linux服务器,可以托管在后台长期运行。 ### 3.项目安装 克隆本项目代码: ```bash https://github.com/zhayujie/chatgpt-on-wechat ``` 安装所需依赖: ```bash pip3 install revChatGPT pip3 install itchat ``` ## 配置 配置文件在根目录的 `config.json` 中,示例文件及各配置项解析如下: (TODO) ```json { } ``` 其中 token的设置需要在openAI网页端获取: - 打开 并登录,可使用测试账号 (lgfo353p@linshiyouxiang.net, 密码yy123123),账号来源为该[文章](https://www.bilibili.com/read/cv20257021) - F12 进入开发者控制台 - 选择Application -> Cookies,将 session-token 中的值填入配置中 ![](docs/images/chatgpt-token.png) ## 运行 1.如果是开发机本地调试,直接执行: ``` python3 app.py ``` 终端输出二维码后,使用微信进行扫码,当输出 "Start auto replying" 时表示自动回复程序已经成功运行了。 2.如果是服务器部署,则使用nohup在后台运行: ``` nohup python3 app.py & ``` ## 使用