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,可通过ipconfigifconfig命令查看

对与gewechat_callback_url,ip不能填127.0.0.1localhost,否则会报错

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

服务启动后请扫码登录,二维码在服务的日志中。