支持私有化部署
AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


手把手教你从0开发一款dify plugin 插件

发布日期:2025-04-06 07:41:29 浏览次数: 1543 作者:老吴聊技术
推荐语

探索Dify插件开发,打造个性化AI应用。

核心内容:
1. Dify平台介绍及其插件开发的重要性
2. Dify插件开发的前期准备和环境搭建
3. 插件项目创建和代码结构详解

杨芳贤
53A创始人/腾讯云(TVP)最具价值专家

      在当今迅速发展的人工智能领域,dify 作为开源的大语言模型(LLM)应用开发平台,为开发者提供了丰富的工具和插件支持,使得构建强大的 AI 应用变得更加高效。通过为 Dify 开发工具插件,您可以扩展 LLM 的能力,例如实现联网搜索、科学计算或绘制图片等功能,从而增强 AI 应用与外部世界的交互性。

      在接下来的内容中,我们将深入探讨如何为 Dify 开发工具插件,帮助您充分利用平台的潜力,构建出色的 AI 应用。


开发 Dify 插件需要进行以下准备。

Dify 插件脚手架工具

Python 环境,版本号 ≥ 3.12

Dify 插件开发脚手架工具又称为 dify-plugin-daemon,可以被视作插件开发 SDK。

安装Dify插件开发脚手架工具



       访问 Dify Plugin CLI(https://github.com/langgenius/dify-plugin-daemon/releases) 项目地址,下载并安装最新版本号和对应操作系统的工具。

 下载脚手架

初始化 Python 环境

大家借助用conda 生成 ,具体可以网上百度

创建新项目

赋予可执行权限

初始化项目 输入插件名称、作者、描述信息

初始化项目 选择tool

    在终端内使用方向键选择权限,使用 “Tab” 按钮授予权限。 勾选所有权限项后,轻点回车完成插件的创建。  系统将自动生成插件项目代码。

用pycharm打开项目,选择python环境

开发插件

在生成的项目文件中有两个比较重要的文件夹

1.provider 插件供应商,在一个项目中可以有多个

2.tools 供应商对应的工具

安装dify_plugin 插件 python包

provider配置

provider代码

DifyPluginExampleProvider 里面实现的主要是一些验证功能,比如你的工具需要API Key就可以在这里实现

tools配置

tools代码

import jsonfrom collections.abc import Generatorfrom typing import Anyimport requestsfrom dify_plugin import Toolfrom dify_plugin.entities.tool import ToolInvokeMessageclass HtmlToMarkdownTool(Tool):    def _invoke(self, tool_parameters: dict[strAny]) -> Generator[ToolInvokeMessage]:        print(json.dumps(tool_parameters,indent=4))        query= tool_parameters["query"]        print(f"fetch {query}")        try:            j_query= f"https://r.jina.ai/{query}"            print(f"jina query url {j_query}")            response = requests.get(j_query)            response.raise_for_status()            content = response.text        except requests.RequestException as e:            content = str(e)        yield self.create_json_message({            "result": content        })


     可以看出,这个工具作用是提供一个url,返回一个markdown给其他节点使用(https://r.jina.ai是一个将网页转markdown的网页,可以在浏览器试试https://r.jina.ai/https://www.baidu.com)

调试

    插件开发完成后,接下来需要测试插件是否可以正常运行。Dify 提供便捷地远程调试方式,帮助你快速在测试环境中验证插件功能。 前往“插件管理”页获取远程服务器地址和调试 Key。

    回到插件项目,拷贝 .env.example 文件并重命名为 .env,将获取的远程服务器地址和调试 Key 等信息填入其中。 .env 文件:

允许项目的main.py 函数 启动成功

在项目的插件页面可以看到我们的插件,接下来可以进行调试了

配置工作流测试插件

在工作流中添加你自己的插件

最终的工作流

允许工作流

查看程序打印日志

  工作流运行结果

成功运行

打包插件

确认插件能够正常运行后,可以通过以下命令行工具打包并命名插件。

./dify-plugin-darwin-amd64 plugin package ./html-to-markdown

打包生成包名: html-to-markdown.difypkg

恭喜,你已完成一个工具类型插件的完整开发、调试与打包过程!

发布插件

如果想要将插件发布至 Dify Marketplace,请确保你的插件遵循了插件发布规范。审核通过后,代码将合并至主分支并自动上线至 Dify Marketplace。

总结

通过为 Dify 开发工具插件,我们不仅能够扩展 AI 应用的能力,还能提升系统的灵活性和可扩展性。无论是接入外部 API、执行复杂计算,还是增强交互体验,插件都能让 Dify 更加强大


Image
如果你觉得内容还算实用,欢迎点赞分享给你的朋友,在此谢过。

如果你想更快的看到后续内容的更新,请戳 点赞”、“分享”、“喜欢 ,这些免费的鼓励将会影响后续有关内容的更新速度。如果有任何问题欢迎加wx交流!

完整演示视频请移步视频号老吴聊技术

53AI,企业落地大模型首选服务商

产品:场景落地咨询+大模型应用平台+行业解决方案

承诺:免费场景POC验证,效果验证后签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

添加专属顾问

回到顶部

加载中...

扫码咨询