1. 环境准备
- dify插件开发脚手架工具
下载地址 Dify Plugin,根据最新版本号和对应操作系统下载。
如linux操作系统,下载文件名为dify-plugin-linux-amd64,赋予其执行权限
chmod +x dify-plugin-linux-amd64
运行以下命令检查安装是否成功
./dify-plugin-linux-amd64 version
成功运行命令后,可以返回版本信息,如v0.0.6 。
- python环境
需要python版本号≥3.12
pip install dify_plugin
2. 插件开发
2.1. 生成模板
脚手架工具中提供了对应的模板。运行以下命令:
./dify-plugin-linux-amd64 plugin init
输入插件名字(如输入 test),作者和描述,回车,出现以下界面
选择python,回车
使用方向键可以选择插件类型,这里选择tool,回车
这里进行插件的配置,使用方向键选择,使用tab键授予权限,选择工具插件需要的权限,最后回车
完成之后在目录下会创建一个test的文件夹,目录结构如图:
2.2. 模板文件说明
(1)工具供应商文件和供应商代码(provider 目录下)
工具供应商文件为yaml格式,是工具插件的基础配置入口,用于向工具提供必要的授权信息。
供应商代码用于实现凭据验证逻辑。如果凭据验证失败,将会抛出ToolProviderCredentialValidationError异常。
(2)工具配置信息和工具代码(tools 目录下)
一个工具插件下可以有多个工具功能,每个工具功能需要一个 yaml 文件进行描述,包含工具功能的基本信息、参数、输出等。
工具代码用于实现工具的主要功能。
2.3. 举个例子
- 做个能打开本地文本文件的插件
(1)修改工具代码如下(./tools/test.py)
(2)修改工具配置文件(./tools/test.yaml)
这里主要修改parameter参数,这是插件需要传入的参数
(3)修改工具供应商文件(./provider/test.py)
这里不需要提供相应的供应商凭证,因此直接pass
到这里,代码都修改完成,然后进行调试 。
(4)调试方法
可以在dify测试环境中验证插件功能。在dify插件管理页面可以获取远程服务器地址和调试key。
在插件项目目录下(不是dify目录下),有一个.env.example文件,复制.env.example文件为.env,并修改远程服务器地址和调试key 。
在插件项目目录下执行python -m main启动插件。
在dify插件页面会显示调试用的插件,可以在dify中进行插件的调试。
(5)插件打包和发布
确认插件能够正常运行后,可以通过以下命令行工具打包并命名插件。
dify plugin package ./test
运行以后你可以在当前文件夹发现 test.difypkg 文件,该文件为最终的插件包。
如果想将插件发布至dify marketplace,可以参考发布至 Dify Marketplace - Dify Docs 。
如果安装插件时出现异常信息:plugin verification has been enabled, and the plugin you want to install has a bad signature 。
这是因为插件未经过dify审核,存在安全隐患,解决方法可以是在 dify目录下的.env 配置文件的末尾添加FORCE_VERIFYING_SIGNATURE=false 字段,重启 Dify 服务。
以上便是dify工具插件开发的基本流程 。