Windows上开发Dify插件完整指南
本文详细介绍了Dify插件的开发流程,主要包含三个部分:环境准备、插件开发和插件安装。首先需要配置Python3.12+环境和安装Dify CLI工具;然后通过CLI初始化项目,重点讲解插件项目结构和核心方法_invoke的实现;最后介绍了插件打包发布方法,支持上传到Dify平台或通过GitHub发布。文章提供了完整的开发指南,包括环境配置、项目创建、代码实现、调试运行和发布部署等关键步骤,为开发
一、环境准备
1.1 系统要求
-
Windows 10或更高版本
-
Python 3.12+
1.2 python环境搭建
可选择搭建 venv虚拟环境 或者 anaconda虚拟环境
1.3 安装Dify插件CLI工具
1.3.1 下载和安装
开发Dify插件的第一步是安装官方提供的CLI工具。在Windows平台推荐通过二进制文件安装:
-
访问 dify-plugin-daemon 下载页面
-
根据您的系统架构选择合适的版本:对于64位Windows系统,下载dify-plugin-windows-amd64.exe
-
将下载的文件重命名为dify-plugin.exe,可将其放置在系统PATH环境变量中的目录下便于全局使用
1.3.2 验证安装
安装完成后,打开PowerShell或命令提示符,在dify-plugin-windows-amd64.exe路径下执行以下命令验证安装是否成功:
dify-plugin-windows-amd64.exe version
如果显示版本号,则表示安装成功。
二、插件项目开发
2.1 插件项目初始化
创建新项目
使用CLI工具可以快速创建一个新的插件项目:
dify-plugin-windows-amd64.exe plugin init
(1)填充项目基本信息
-
Plugin name: 插件的唯一标识符。例如:
hello_world
-
Author: 插件作者的标识符。例如:
hw
-
Description: 对插件功能的简短描述。例如:测试dify-plugin
(2)选择开发语言
-
当提示
Select language
时,请选择python
(3)选择插件类型
-
当提示
Select plugin type
时,对于本教程,请选择tool
(4)选择附加功能
-
当提示是否需要包含 Provider 验证、持久存储等附加功能。暂时可以不需要这些,可以直接按 回车键 跳过所有选项
(5)Dify版本要求
-
默认为空即可,可以直接按回车键。
(6)确认创建成功
-
当终端输出plugin hello_world created successfully类似信息时,表示插件项目已成功
插件项目结构
一个典型的Dify插件项目包含以下文件和目录:
hello_world/
├── provider/ # 提供商配置和实现
│ ├── hello_world.py # 提供商实现代码
│ └── hello_world.yaml # 提供商配置文件
├── tools/ # 工具配置和实现
│ ├── hello_world.py # 工具实现代码
│ └── hello_world.yaml # 工具配置文件
├── main.py # 插件入口文件
├── manifest.yaml # 插件清单文件
├── requirements.txt # Python依赖包列表
└── .env.example # 环境变量示例文件
插件项目主方法_invoke讲解
在Dify插件中,_invoke方法是工具执行的核心方法。通过一个简单的示例来理解其工作原理:
from collections.abc import Generator
from typing import Any
from dify_plugin import Tool
from dify_plugin.entities.tool import ToolInvokeMessage
class HelloWorldTool(Tool):
def _invoke(self, tool_parameters: dict[str, Any]) -> Generator[ToolInvokeMessage]:
# 获取传入的参数
query = tool_parameters.get('query', '')
# 执行工具逻辑
result = {
"result": f"Hello, {query}!"
}
# 返回结果
yield self.create_json_message(result)
_invoke方法的关键点:
-
接收tool_parameters参数,包含调用工具时传入的所有参数
-
执行具体的业务逻辑
-
使用yield self.create_json_message()返回结果
-
返回类型为Generator,支持流式返回多个结果
2.2 插件项目运行与调试
配置调试环境
(1)复制.env.example文件并重命名为.env:
copy .env.example .env
(2)编辑.env文件,填入调试信息:
INSTALL_METHOD=remote
REMOTE_INSTALL_URL=debug.dify.ai:5003
REMOTE_INSTALL_KEY=your_actual_debug_key_here
获取调试密钥
-
登录Dify平台
-
进入插件管理页面
-
点击调试按钮获取调试密钥和远程服务器地址
-
将获取的信息填入.env文件
运行插件 在项目根目录下执行以下命令启动插件:
python -m main
插件启动后,会在Dify平台的插件列表中显示为"DEBUGGING PLUGIN"状态,此时可以进行测试。
三、插件安装
3.1 插件项目打包
dify-plugin-windows-amd64.exe plugin package hello_world
该命令会生成一个名为hello_world.difypkg的打包文件。 打包过程会自动包含以下内容:
-
所有源代码文件
-
manifest.yaml清单文件
-
requirements.txt依赖文件
-
相关的配置文件和资源文件
3.2 发布插件
打包完成后,可以通过以下方式发布插件:
-
上传到Dify Marketplace:
(1)登录Dify平台
(2)进入插件管理页面
(3)点击"上传插件"按钮
(4)选择生成的.difypkg文件上传
-
通过GitHub发布:
(1)将代码推送到GitHub仓库
(2)创建Release并附加.difypkg文件
(3)在Dify平台通过GitHub链接安装
更多推荐
所有评论(0)