本文档提供了开发Extension类型插件的完整教程,详细介绍了环境准备、创建项目、定义插件请求入口、编写功能代码、调试、打包发布等全过程。示例项目是一个彩虹猫插件,展示了如何通过Extension插件处理HTTP请求并提供网页服务。
dify
并拷贝到了 /usr/local/bin
路径下,可以运行以下命令创建新的插件项目:
插件名称长度必须为 1-128 个字符,并且只能包含字母、数字、破折号和下划线。
Extension
类型插件模板作为示例。对于已熟悉插件的开发者而言,无需借助模板,可参考接口文档指引完成不同类型的插件开发。
在终端内使用方向键选择权限,使用 “Tab” 按钮授予权限。勾选所有权限项后,轻点回车完成插件的创建。系统将自动生成插件项目代码。
GUIDE.md
一个简短的引导教程,带领你完成插件的编写流程。README.md
关于当前插件的简介信息,你需要把有关该插件的介绍和使用方法填写至该文件内。_assets
存储所有与当前插件相关的多媒体文件。endpoints
按照 cli 中的引导创建的一个 Extension
类型插件模板,该目录存放所有 Endpoint 的功能实现代码。group
指定密钥类型、多语言设置以及 API 定义的文件路径。main.py
整个项目的入口文件。manifest.yaml
整个插件的基础配置文件,包含该插件需要什么权限、是什么类型的扩展等配置信息。requirements.txt
存放 Python 环境的依赖项。endpoints/test_plugin.yaml
,参考以下代码进行修改:
/neko
,请求方法为 GET 类型。插件的功能实现代码为 endpoints/test_plugin.py
文件。
endpoints/test_plugin.py
文件,参考以下示例代码:
.env.example
文件并重命名为 .env
,将获取的远程服务器地址和调试 Key 等信息填入其中。
.env
文件
python -m main
命令启动插件。在插件页即可看到该插件已被安装至 Workspace 内。其他团队成员也可以访问该插件。
api_key
等信息。访问自动生成的 URL,即可看到由插件提供的网页服务。
neko.difypkg
文件,该文件为最终的插件包。