Skip to content

Dify插件开发

官网文档:https://docs.dify.ai/zh-hans/plugins/quick-start/develop-plugins/README

必备环境:

安装插件开发工具

下载地址:https://github.com/langgenius/dify-plugin-daemon/releases

下载完成后需要配置系统环境变量:

image-20250617161755403

路径记得替换为自己的路径

验证:

image-20250617161916786

安装dify-plugin

bash
pip install dify-plugin

脚手架创建插件

bash:

bash
dify plugin init

image-20250617162046735

填写完信息后回车会出现选择开发语言

image-20250617162232652

这是选中插件的类型

image-20250617162310628

配置插件权限

image-20250617162432298

1. 工具 (Tools)

  • 启用 (Enabled): [✘] 按 Tab 键将其切换为 [✔],以允许在 Dify 中调用工具。

2. 模型 (Models)

  • 启用 (Enabled): [✘]

    切换为 [✔] 后可以启用模型调用功能。

    • LLM: [✘] 启用大语言模型调用。
    • 文本嵌入 (Text Embedding): [✘] 启用文本嵌入模型调用。
    • 排序模型 (Rerank): [✘] 启用排序模型调用。
    • 文字转语音 (TTS): [✘] 启用 TTS 模型调用。
    • 语音转文字 (Speech2Text): [✘] 启用语音识别模型调用。
    • 内容审核 (Moderation): [✘] 启用内容审核模型调用。

3. 应用程序 (Apps)

  • 启用 (Enabled): [✘] 切换为 [✔] 后可以在插件中调用应用程序,如 BasicChat、ChatFlow、Agent 或 Workflow 等。

4. 资源 (Resources)

存储 (Storage)
  • 启用 (Enabled): [✘] 切换为 [✔] 以启用插件的持久化存储功能。
  • 大小 (Size): N/A 设置插件的最大存储容量(如果启用后可配置)。
端点 (Endpoints)
  • 启用 (Enabled): [✘] 切换为 [✔] 以注册端点(API 接口等)。

选择完成后成功创建工程项目:

image-20250617162708434

配置

开启远程调试

需要新建env文件,这里可以看官网文档,有时候启用 python m main 会出现json解析失败的错误 ,把env文件的内容剪切在粘贴就好了(很神)

插件的入参

在tools->xxx.yaml中配置parameters

例如:

yml
parameters:
  - name: botId
    type: string
    required: true
    label:
      en_US: Feishu Robot ID
      zh_Hans: 飞书机器人ID
      pt_BR: ID do Robô Feishu
    human_description:
      en_US: "The unique ID of the Feishu robot."
      zh_Hans: "飞书机器人的唯一标识。"
      pt_BR: "O ID único do robô Feishu."
    llm_description: "The unique ID of the Feishu robot."
    form: llm

  - name: signature
    type: string
    required: false
    label:
      en_US: Feishu Robot Signature
      zh_Hans: 飞书机器人签名
      pt_BR: Assinatura do Robô Feishu
    human_description:
      en_US: "Optional signature for verifying the request source."
      zh_Hans: "可选的请求来源验证签名。"
      pt_BR: "Assinatura opcional para verificar a origem da requisição."
    llm_description: "Optional signature for securing the webhook."
    form: llm

注意事项

debug调试一定不要开翻墙,

插件的名称不能重复

最近更新