feat: add workflow app and wework channel doc of dify on wechat (#69)

pull/73/head
Han Fangyuan 2024-05-02 14:10:07 +08:00 committed by GitHub
parent cc5078d597
commit 28bf466c73
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
6 changed files with 129 additions and 18 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 66 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 108 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 181 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 158 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 60 KiB

View File

@ -100,8 +100,7 @@ pip3 install -r requirements-optional.txt # 国内可以在该命令末尾添加
##### 3填写配置文件
我们在项目根目录创建名为config.json的文件文件内容如下我们在**2.1.1小节4**
最后保存了**API密钥**与**API服务器地址**,请把**dify_api_base**配置为**API服务器地址****dify_api_key**配置为**API密钥。**其他配置保持不变
我们在项目根目录创建名为config.json的文件文件内容如下我们在**2.1.1小节4**最后保存了**API密钥**与**API服务器地址**,请把**dify_api_base**配置为**API服务器地址****dify_api_key**配置为**API密钥**其他配置保持不变
```bash
{
@ -224,11 +223,11 @@ docker logs -f dify-on-wechat # 查看二维码并登录
#### 2.3.3. 生成工作流编排聊天助手API密钥
在跳转到API管理页面后我们参照**2.1.1小节4**获取"知识库+聊天机器人"应用的**API密钥**与**API服务器地址**
在跳转到API管理页面后我们参照**2.1.1小节(4)**获取"知识库+聊天机器人"应用的**API密钥**与**API服务器地址**
#### 2.3.4. 接入微信
与**2.1.2小节3**类似我们在项目根目录创建名为config.json的文件文件内容如下同样把**dify_api_base**配置为**"知识库+聊天机器人"应用**的API服务器地址**dify_api_key**配置为**"知识库+聊天机器人"应用**的API密钥**。**其他配置保持不变
与**2.1.2小节3**类似我们在项目根目录创建名为config.json的文件文件内容如下同样把**dify_api_base**配置为**知识库+聊天机器人**应用的API服务器地址, **dify_api_key**配置为**知识库+聊天机器人**应用的API密钥其他配置保持不变
```bash
{
@ -275,11 +274,11 @@ docker logs -f dify-on-wechat # 查看二维码并登录
#### 2.4.2. 生成Agent API密钥
我们继续参照**2.1.1小节4**获取"**智能助手**"应用的**API密钥**与**API服务器地址**
我们继续参照**2.1.1小节4**获取**智能助手**应用的**API密钥**与**API服务器地址**
#### 2.4.3. 接入微信
我们在项目根目录创建名为config.json的文件文件内容如下同样把**dify_api_base**配置为**"智能助手"**应用的API服务器地址**dify_api_key**配置为**"智能助手"**应用的API密钥****注意该应用为**智能助手**类型应用,还需要把**dify_app_type**设置为**agent**,其他配置保持不变
我们在项目根目录创建名为config.json的文件文件内容如下同样把**dify_api_base**配置为**智能助手**应用的API服务器地址**dify_api_key**配置为**智能助手**应用的API密钥注意该应用为**智能助手**类型应用,还需要把**dify_app_type**设置为**agent**,其他配置保持不变
```bash
{
@ -305,27 +304,139 @@ docker logs -f dify-on-wechat # 查看二维码并登录
#### 2.5.1. 创建工作流应用
待更新~
<figure><img src="../../.gitbook/assets/dify-on-wechat/create-workflow.jpg" alt=""><figcaption></figcaption></figure>
#### 2.5.2. 接入微信
首先你需要提前下载好我预先创建的DSL文件[点击此处下载](https://github.com/hanfangyuan4396/dify-on-wechat/blob/master/dsl/chat-workflow.yml)。下载完成后进入工作室页面点击导入DSL文件上传提前下载好的文件最后点击创建。
<figure><img src="../../.gitbook/assets/dify-on-wechat/test-workflow.jpg" alt=""><figcaption></figcaption></figure>
创建完成后,按照上图步骤进行测试。点击运行,输入你好,确保该工作流能正常输出结果。
你可以在此工作流的基础上进行修改,但是对于**工作流类型**的应用,它的输入变量名称十分灵活,,为了更方便地接入微信机器人,[Dify on WeChat](https://github.com/hanfangyuan4396/dify-on-wechat)项目约定**工作流类型**的应用**输入变量命名为`query`****输出变量命名为`text`**。
<figure><img src="../../.gitbook/assets/dify-on-wechat/publish-workflow.jpg" alt=""><figcaption></figcaption></figure>
测试没有问题后按照上图步骤发布应用依次点击发布、更新、访问API。
#### 2.5.2. 生成工作流API密钥
我们同样参照**2.1.1小节4**获取**工作流**应用的**API密钥**与**API服务器地址**。
#### 2.5.3. 接入微信
我们在项目根目录创建名为config.json的文件文件内容如下同样把**dify_api_base**配置为**工作流**应用的API服务器地址**dify_api_key**配置为**工作流**应用的API密钥注意该应用为**工作流**类型应用,还需要把**dify_app_type**设置为**workflow**,其他配置保持不变
```bash
{
"dify_api_base": "https://api.dify.ai/v1",
"dify_api_key": "app-xxx",
"dify_app_type": "workflow",
"channel_type": "wx",
"model": "dify",
"single_chat_prefix": [""],
"single_chat_reply_prefix": "",
"group_chat_prefix": ["@bot"],
"group_name_white_list": ["ALL_GROUP"]
}
```
同样参照**2.2.1小节**启动程序并扫码登录,然后给微信机器人发送消息,进行测试。
<figure><img src="../../.gitbook/assets/dify-on-wechat/workflow-on-wechat.jpg" alt=""><figcaption></figcaption></figure>
可以看到机器人成功接通了工作流api并进行了回复至此我们已经完全掌握了如何创建Dify所有类型的应用基础聊天助手、工作流聊天助手、智能助手、工作流我们也学会了如何把上述应用发布为API并接入微信。
接下来我将会介绍如何把应用接入到微信的其他通道,如公众号、企业微信应用、企业微信客服等。
## 3. Dify接入企业微信个人号仅限windows环境
> 1. 有**封号风险**,请使用企业微信**小号**测试
> 2. 在登录旧版本的企业微信时可能会出现企业微信版本过低,无法登录情况,参考[issue1525](https://github.com/zhayujie/chatgpt-on-wechat/issues/1525),请尝试更换其他企业微信号重试
### 3.1. 下载安装企业微信
确保你有一台windows系统的电脑然后在此电脑下载安装特定版本的企业微信[官方下载链接](https://dldir1.qq.com/wework/work_weixin/WeCom_4.0.8.6027.exe)[备用下载链接](https://www.alipan.com/s/UxQHrZ5WoxS)。
### 3.2. 创建Dify应用
我们已经在前面的**2.1.1**、**2.3.2**、**2.4.1**与**2.5.1**小节分别介绍了创建基础聊天助手、工作流聊天助手、智能助手、工作流这4种不同的Dify应用你可以根据上面的教程任意创建一种应用。
### 3.3. 下载安装Dify on WeChat
根据 **2.1.2(2)** 步骤下载代码并安装依赖为了后续能按照ntwork依赖**请确保你安装的python版本为3.8、3.9或3.10**。
### 3.4. 安装ntwork依赖
由于ntwork的安装源不是很稳定可以下载对应的whl文件使用whl文件离线安装ntwork
首先需要查看你的python版本在命令行中输入python查看版本信息然后在[ntwork-whl](https://github.com/hanfangyuan4396/ntwork-bin-backup/tree/main/ntwork-whl)目录下找到对应的whl文件运行`pip install xx.whl`安装ntwork依赖注意"xx.whl"更换为whl文件的**实际路径**。
例如我的python版本信息为
"Python 3.8.5 (default, Sep 3 2020, 21:29:08) [MSC v.1916 64 bit (AMD64)]"
可以看到python版本是**3.8.5**,并且是**AMD64**所以对应的whl文件为**ntwork-0.1.3-cp38-cp38-win_amd64.whl**,需要执行如下命令安装
```sh
pip install your-path/ntwork-0.1.3-cp38-cp38-win_amd64.whl
```
### 3.5. 填写配置文件
我们在Dify on WeChat项目根目录创建名为config.json的文件下面是以Dify智能助手应用作为示例的配置文件请正确填写你刚刚创建应用的dify_api_base、dify_api_key、dify_app_type信息请注意channel_type填写为 **wework**
```json
{
"dify_api_base": "https://api.dify.ai/v1",
"dify_api_key": "app-xxx",
"dify_app_type": "agent",
"channel_type": "wework",
"model": "dify",
"single_chat_prefix": [""],
"single_chat_reply_prefix": "",
"group_chat_prefix": ["@bot"],
"group_name_white_list": ["ALL_GROUP"]
}
```
### 3.6. 登录企业微信
务必提前在电脑扫码登录企业微信
### 3.7. 启动微信个人号机器人
运行如下命令启动机器人
```sh
cd dify-on-wechat
python app.py
```
我们可以看到终端输出如下信息,**等待wework程序初始化完成**,最后启动成功~
```
[INFO][2024-04-30 21:16:04][wework_channel.py:185] - 等待登录······
[INFO][2024-04-30 21:16:05][wework_channel.py:190] - 登录信息:>>>user_id:xxx>>>>>>>>name:
[INFO][2024-04-30 21:16:05][wework_channel.py:191] - 静默延迟60s等待客户端刷新数据请勿进行任何操作······
[INFO][2024-04-30 21:17:05][wework_channel.py:224] - wework程序初始化完成········
```
<figure><img src="../../.gitbook/assets/dify-on-wechat/agent-on-wework.jpg" alt=""><figcaption></figcaption></figure>
现在我们给机器人发送消息,可以看到接入成功!
## 4. Dify接入公众号
待更新~
## 3. Dify接入公众号
## 5. Dify接入企业微信应用
待更新~
## 4. Dify接入企业微信应用
## 6. Dify接入企业微信客服
待更新~
## 5. Dify接入微信其他渠道
Dify on WeChat项目后续会逐步支持Dify接入微信的其他渠道包括企业微信客服、企业微信个人号。
## 6. 后记
## 7. 后记
我是社畜打工人,精力实在有限,只能晚上下班还有周末空闲时间维护[Dify on WeChat](https://github.com/hanfangyuan4396/dify-on-wechat)项目单靠我个人开发项目进度十分缓慢希望大家能一起参与进来这个项目多多提PR让Dify的生态变得更好~