名称: zhayujie/chatgpt-on-wechat
地址: https://github.com/zhayujie/chatgpt-on-wechat
fork: 2.6k star: 10.5k 开发语言: Python
简介: Wechat robot based on ChatGPT, which using OpenAI api and itchat library. 使用 ChatGPT 搭建微信聊天机器人,基于 GPT3.5 API 和 itchat 实现
?文本对话: 接收私聊及群组中的微信消息,使用 ChatGPT 生成回复内容,完成自动回复
?规则定制化: 支持私聊中按指定规则触发自动回复,支持对群组设置自动回复白名单
? 多账号: 支持多微信账号同时运行
? 图片生成: 支持根据描述生成图片,并自动发送至个人聊天或群聊
? 上下文记忆:支持多轮对话记忆,且为每个好友维护独立的上下会话
? 语音识别: 支持接收和处理语音消息,通过文字或语音回复
? 插件化: 支持个性化插件,提供角色扮演、文字冒险、与操作系统交互、访问网络数据等能力
? Tool 工具: 与操作系统和互联网交互,支持最新信息搜索、数学计算、天气和资讯查询、网页总结,基于 chatgpt-tool-hub 实现
个人聊天效果
在个人聊天中,想要触发ChatGPT 的聊天功能,需要携带特定的关键词,比如下图中的 bot,而回复的内容则以[bot]开头。
群组聊天时,想要触发 chatGpt 的对话功能,同样需要在开头添加关键词,比如下面的@ChatGpt 机器人:
还需要指定运行的端口号等。由于国内需要科学上网,代理也需要配置下,科学上网:https://github.com/KeXueShangWangkexue/KeXueShangWang_Google_Facebook_Twitter_VPN_VPS_Proxy
1.本地运行
如果是开发机 本地运行,直接在项目根目录下执行:
python3 app.py
终端输出二维码后,使用微信进行扫码,当输出 “Start auto replying” 时表示自动回复程序已经成功运行了(注意:用于登录的微信需要在支付处已完成实名认证)。扫码登录后你的账号就成为机器人了,可以在微信手机端通过配置的关键词触发自动回复 (任意好友发送消息给你,或是自己发消息给好友)。
nohup python3 app.py & tail -f nohup.out # 在后台运行程序并通过日志输出二维码扫码登录后程序即可运行于服务器后台,此时可通过 ctrl+c
命令可查看运行于后台的进程,如果想要重新启动程序可以先 kill 掉对应的进程。日志关闭后如果想要再次打开只需输入
多账号支持: 将项目复制多份,分别启动程序,用不同账号扫码登录即可实现同时运行。
特殊指令: 用户向机器人发送 #reset 即可清空该用户的上下文记
Railway 每月提供 5 刀和最多 500 小时的免费额度。
进入 Railway。 点击 Deploy Now 按钮。 设置环境变量来重载程序运行的参数,例如 open_ai_api_key/character_desc。