
ChatGPT on WeChat(尝试使用Other协议)
1. 安装 gewechat 服务(使用 Docker)
1.1 下载镜像
感谢 gewechat 交流群中的大佬 @1H
重构了镜像,让gewe镜像不依赖cgroup和docker --privilege,可以在更高版本的ubuntu、debian以及macos系统上运行。
# 从阿里云镜像仓库拉取(国内)(本次使用)
docker pull registry.cn-chengdu.aliyuncs.com/tu1h/wechotd:alpine
docker tag registry.cn-chengdu.aliyuncs.com/tu1h/wechotd:alpine gewe
# 或从GitHub镜像仓库拉取
docker pull ghcr.io/tu1h/wechotd/wechotd:alpine
docker tag ghcr.io/tu1h/wechotd/wechotd:alpine gewe
1.2 启动下载好的镜像
mkdir -p gewechat/data
docker run -itd -v ./gewechat/data:/root/temp -p 2531:2531 -p 2532:2532 --restart=always --name=gewe gewe
1.3 成功启动
如图所示,已成功启动!
2. 使用 ChatGPT-on-WeChat 对接 gewechat 服务
因微信方面的限制,当前itchat
协议已经被限制,需要切换其他协议,以下将更换 chatgpt-on-wechat 的分支项目 dify-on-wechat 来完成部署。
2.1 下载镜像
原代码仓库在 Github 上,国内的服务器可能访问过慢或无法访问,遂同步至 Gitee 一份,已公开,可直接使用。
# 原仓库
git clone https://github.com/hanfangyuan4396/dify-on-wechat.git
# 自行同步的国内仓库
git clone https://gitee.com/Cairo_xin/dify-on-wechat.git
2.2 修改 ChatGPT-on-WeChat 配置文件
在 Dify-on-WeChat 项目的config.json
中需要配置以下gewechat相关的参数:
{
"channel_type": "gewechat" # 通道类型,请设置为gewechat
"gewechat_token": "", # gewechat服务的token,用于接口认证
"gewechat_app_id": "", # gewechat服务的应用ID
"gewechat_base_url": "http://本机ip:2531/v2/api", # gewechat服务的API基础URL
"gewechat_callback_url": "http://本机ip:9919/v2/api/callback/collect", # 回调URL,用于接收消息
"gewechat_download_url": "http://本机ip:2532/download", # 文件下载URL
}
参数说明:
gewechat_token
: gewechat服务的认证token,首次登录时,可以留空,启动 Dify-on-WeChat 服务时,会自动获取token并自动保存到config.json中gewechat_app_id
: gewechat服务分配的设备ID,首次登录时,可以留空,启动 Dify-on-WeChat 服务时,会自动获取appid并自动保存到config.json中gewechat_base_url
: gewechat服务的API基础地址,请根据实际情况配置,如果gewechat服务与 Dify-on-WeChat 服务部署在同一台机器上,可以配置为http://本机ip:2531/v2/api
gewechat_callback_url
: 接收gewechat消息的回调地址,请根据实际情况配置,如果gewechat服务与 Dify-on-WeChat 服务部署在同一台机器上,可以配置为http://本机ip:9919/v2/api/callback/collect
,如无特殊需要,请使用9919端口号gewechat_download_url
: 文件下载地址,用于下载语音、图片等文件,请根据实际部署情况配置,如果gewechat服务与 Dify-on-WeChat 服务部署在同一台机器上,可以配置为http://本机ip:2532/download
请确保您的回调地址(callback_url),即 Dify-on-WeChat 启动的回调服务可以被gewechat服务正常访问到。如果您使用Docker部署,需要注意网络配置,确保容器之间可以正常通信。
本机ip是指局域网ip或公网ip,可通过
ipconfig
或ifconfig
命令查看对与gewechat_callback_url,ip不能填
127.0.0.1
或localhost
,否则会报错
9919
端口是 Dify-on-WeChat 服务监听的端口,请把9919
端口映射到宿主机(如果使用 Docker 部署的 Dify-on-WeChat 项目,本地直接命令启动的直接调用即可)
2.3 启动 Dify-on-WeChat 服务
2.3.1 检查安装的 Python 版本
# 检查版本
python -V 或 python3 -V
## 返回的值如下
Python 3.11.2
2.3.2 创建虚拟环境 (venv)并使用
⚠️每次启动项目前都需要先进入虚拟环境中!!
# 创建虚拟环境(这里 myenv 是你虚拟环境的名字,你可以根据需要自定义)
python3 -m venv appenv
# 激活虚拟环境
source appenv/bin/activate
# 安装依赖
pip install -r requirements.txt && pip install -r requirements-optional.txt
# 退出虚拟环境
deactivate
2.3.3 启动服务
# 在虚拟环境中启动服务,并在后台持续运行
nohup python3 app.py &
# 查看服务的日志
tail -f nohup.out
服务启动后请扫码登录,二维码在服务的日志中。