一、了解Dify on WeChat工作原理
基于Gewechat项目实现的微信个人号通道,使用ipad协议登录,相比itchat协议更稳定。
- gewechat要求必须搭建服务到同省服务器或者电脑里方可正常使用
- 此项目仅用于个人娱乐场景,请勿用于任何商业场景
⚠️注意目前channel_type: “wx” 对应的 itchat无法使用,请更换为gewechat
dify-on-wechat、dify、gewechat服务的调用关系
二、快速启动gewechat机器人
# 从阿里云镜像仓库拉取(国内)
docker pull registry.cn-chengdu.aliyuncs.com/tu1h/wechotd:alpine
docker tag registry.cn-chengdu.aliyuncs.com/tu1h/wechotd:alpine gewe
# 创建数据目录并启动服务
mkdir -p gewechat/data
docker run -itd -v ./gewechat/data:/root/temp -p 2531:2531 -p 2532:2532 --restart=always --name=gewe gewe
gewechat相关配置如下,注意channel_type设置为gewechat
{
"channel_type": "gewechat", # 通道类型设置为gewechat
"gewechat_token": "", # 首次登录可留空,自动获取
"gewechat_app_id": "", # 首次登录可留空,自动获取
"gewechat_base_url": "http://本机ip:2531/v2/api", # gewechat服务API地址
"gewechat_callback_url": "http://本机ip:9919/v2/api/callback/collect", # 回调地址
"gewechat_download_url": "http://本机ip:2532/download" # 文件下载地址
}
本机ip是指局域网ip或公网ip,可通过
ipconfig
或ifconfig
命令查看对与gewechat_callback_url,ip不能填
127.0.0.1
或localhost
,否则会报错
9919
端口是dify-on-wechat服务监听的端口,如果是用docker启动的dify-on-wechat服务,请把9919
端口映射到宿主机
三、dify-on-wechat前期准备
1、创建聊天助手
(1)Dify简介
Dify是一个优秀的LLMOps(大型语言模型运维)平台,Dify的详细介绍请移步官方文档欢迎使用 Dify | 中文 | Dify。
(2)登录Dify官方应用平台
首先,登录Dify官方应用平台,你可以选择使用Github登录或者使用Google登录。此外,你也可以参考Dify官方教程Docker Compose 部署 | 中文 | Dify 私有部署,Dify是开源项目,支持私有部署。
(3)创建Dify基础编排聊天助手应用
登录成功后,进入Dify页面,我们按照下方步骤创建一个基础编排聊天助手应用
- 点击页面上方的工作室
- 创建空白应用
- 应用类型选择聊天助手
- 聊天助手编排方式选择基础编排
- 选择应用图标并为应用填写一个名称,比如基础编排聊天助手
- 点击创建
创建成功后我们会跳转到上图所示页面,我们继续配置应用
- 选择模型,如gpt-3.5-turbo-0125
- 设置模型参数
- 填写应用提示词
在配置完成后,我们可以在右侧对话框进行测试,在测试完成后,进行如下操作
- 发布
- 更新
- 访问API
(4)生成基础编排聊天助手API密钥
在点击"访问API"后,我们会跳转到上图的API管理页面,在这个页面我们按照如下步骤获取API密钥:
- 点击右上角API密钥
- 点击创建密钥
- 复制保存密钥
在保存密钥后,还需要查看右上角的API服务器,如果是Dify官网的应用,API服务器地址为 “https://api.dify.ai/v1”, 如果是私有部署的,请确认你自己的API服务器地址。
至此,创建聊天助手的准备工作结束,在此小节中我们只需要保存好两个东西:API密钥与API服务器地址
2、 下载Dify on WeChat项目
(1)Dify on WeChat项目简介
Dify on WeChat是 ChatGPT on WeChat的下游分支,额外实现了对接Dify API,支持Dify聊天助手、支持Agent调用工具和知识库,支持Dify工作流,详情请查看GitHub仓库Dify on WeChat。
#下载地址为:https://github.com/hanfangyuan4396/dify-on-wechat
#因为服务器上可能访问不到github.com,可以通过下载zip压缩包方式实现
#放在对应目录下,进行解压
cd /home/code
unzip dify-on-wechat-master.zip && mv dify-on-wechat-master dify-on-wechat
四、配置dify-on-wechat
#进入到docker目录
cd /home/code/dify-on-wechat/docker
cp docker-compose.yml docker-compose.yml_2025_03_29
#主要修改下面配置
#vim docker-compose.yml
DIFY_API_BASE: 'http://***********/v1' #API服务器地址
DIFY_API_KEY: 'app-*********' #API密钥
DIFY_APP_TYPE: 'chatbot' #这个一般不需要改,就是用的聊天助手
#进入到dify-on-wechat目录
cd /home/code/dify-on-wechat
mv config-template.json config.json
#gewechat相关配置如下,注意channel_type设置为gewechat,前三项可不配,配置会优先读取docker-compose.yml中的环境变量
{
"dify_api_base": "http://***********/v1", # API服务器地址
"dify_api_key": "app-*********", # API密钥
"dify_app_type": "chatbot", # 这个一般不需要改,就是用的聊天助手
"channel_type": "gewechat",
"gewechat_app_id": "", # 首次登录可留空,自动获取
"gewechat_token": "", # 首次登录可留空,自动获取
"gewechat_base_url": "http://本机ip:2531/v2/api", # gewechat服务API地址
"gewechat_callback_url": "http://本机ip:9919/v2/api/callback/collect", # 回调地址
"gewechat_download_url": "http://本机ip:2532/download", # 文件下载地址
}
#本机ip是指局域网ip或公网ip,可通过ipconfig或ifconfig命令查看
#对与gewechat_callback_url,ip不能填127.0.0.1或localhost,否则会报错
#9919端口是dify-on-wechat服务监听的端口,如果是用docker启动的dify-on-wechat服务,请把9919端口映射到宿主机
五、启动dify-on-wechat
#进入docker目录
cd /home/code/dify-on-wechat/docker
#启动
docker compose up -d
六、扫码测试
参考文档:
https://docs.dify.ai/zh-hans/learn-more/use-cases/dify-on-wechat
https://github.com/hanfangyuan4396/dify-on-wechat?tab=readme-ov-file
https://zhuanlan.zhihu.com/p/716006360