安装 Dify 插件开发脚手架工具
https://github.com/langgenius/dify-plugin-daemon/releases
选择exe可执行文件下载
在cmd中执行刚刚的文件 看看是否成功
初始化插件
dify-plugin-windows-amd64.exe plugin init
插件名称的长度必须为1-128个字符,并且只能包含小写字母、数字、破折号和下划线。
作者名称的长度必须为1-64个字符,并且只能包含小写字母、数字、破折号和下划线
详细步骤可以看官方文档
https://docs.dify.ai/plugin-dev-zh/0211-getting-started-dify-tool
下面讲下具体的插件开发和调试
your_plugin/
├── _assets/ # 图标和视觉资源
├── provider/ # 提供者定义和验证
│ ├── your_plugin.py # 凭证验证逻辑
│ └── your_plugin.yaml # 提供者配置
├── tools/ # 工具实现
│ ├── feature_one.py # 工具功能实现
│ └── feature_one.yaml # 工具参数和描述
├── utils/ # 辅助函数
│ └── helpers.py # 通用功能逻辑
├── working/ # 进度记录和工作文件
├── .env.example # 环境变量模板
├── main.py # 入口文件
├── manifest.yaml # 插件主配置
├── README.md # 文档
└── requirements.txt # 依赖列表
主要代码在tools\feature_one.py
里实现,当需要用户传入参数时,应该现在feature_one.yaml
里定义,然后再再py里获取
#video2text.yaml
identity:
name: video2text
author: sen
label:
en_US: video2text
zh_Hans: video2text
pt_BR: video2text
description:
human:
en_US: 将网络视频转文字
zh_Hans: 将网络视频转文字
pt_BR: 将网络视频转文字
llm: 将网络视频转文字
parameters:
- name: video_real_url
type: string
required: true
label:
en_US: Video real url
zh_Hans: 视频真实链接
pt_BR: Video real url
human_description:
en_US: Video real url
zh_Hans: 视频真实链接地址
pt_BR: Video real url
llm_description: 视频真实链接地址
form: llm
extra:
python:
source: tools/video2text.py
#video2text.py
# 获取参数
video_real_url = tool_parameters.get("video_real_url", "").strip()
剩下的开发就看自己了。
输出参数
#返回JSON数据
yield self.create_json_message
#返回text数据
self.create_text_message
远程测试
先去Dify平台获取API和KEY
然后去插件根目录的.env
,没有就创建,添加如下内容
INSTALL_METHOD=remote
REMOTE_INSTALL_URL=xxx.xx.41.xxx:5003
REMOTE_INSTALL_KEY=6xxxd6-0231-498c-8xx4-203xxx543f
然后运行main.py
就可以再插件里面看到应用了。
打包
# 将 ./google 替换为插件项目的实际路径
dify-plugin-windows-amd64.exe plugin package ./google