微信扫码
添加专属顾问
我要投稿
探索Dify插件开发,打造个性化AI应用。 核心内容: 1. Dify平台介绍及其插件开发的重要性 2. Dify插件开发的前期准备和环境搭建 3. 插件项目创建和代码结构详解
在当今迅速发展的人工智能领域,dify 作为开源的大语言模型(LLM)应用开发平台,为开发者提供了丰富的工具和插件支持,使得构建强大的 AI 应用变得更加高效。通过为 Dify 开发工具插件,您可以扩展 LLM 的能力,例如实现联网搜索、科学计算或绘制图片等功能,从而增强 AI 应用与外部世界的交互性。
在接下来的内容中,我们将深入探讨如何为 Dify 开发工具插件,帮助您充分利用平台的潜力,构建出色的 AI 应用。
开发 Dify 插件需要进行以下准备。
Dify 插件脚手架工具
Python 环境,版本号 ≥ 3.12
Dify 插件开发脚手架工具又称为 dify-plugin-daemon,可以被视作插件开发 SDK。
访问 Dify Plugin CLI(https://github.com/langgenius/dify-plugin-daemon/releases) 项目地址,下载并安装最新版本号和对应操作系统的工具。
下载脚手架
大家借助用conda 生成 ,具体可以网上百度
赋予可执行权限
初始化项目 输入插件名称、作者、描述信息
初始化项目 选择tool
在终端内使用方向键选择权限,使用 “Tab” 按钮授予权限。 勾选所有权限项后,轻点回车完成插件的创建。 系统将自动生成插件项目代码。
用pycharm打开项目,选择python环境
在生成的项目文件中有两个比较重要的文件夹
1.provider 插件供应商,在一个项目中可以有多个
2.tools 供应商对应的工具
安装dify_plugin 插件 python包
DifyPluginExampleProvider 里面实现的主要是一些验证功能,比如你的工具需要API Key就可以在这里实现
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[str, Any]) -> 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 更加强大
53AI,企业落地大模型首选服务商
产品:场景落地咨询+大模型应用平台+行业解决方案
承诺:免费场景POC验证,效果验证后签署服务协议。零风险落地应用大模型,已交付160+中大型企业
2025-04-30
真·开源MCP平台来了!ACI.dev能一站直连600+工具,让你的智能体秒变全能王!
2025-04-30
n8n:免费+开源的自动化神器,比dify更简单,比Make更强大!
2025-04-30
宝藏发现:Sim Studio,一款让AI工作流搭建变简单的开源利器
2025-04-29
我们有必要使用 Qwen3 吗?
2025-04-29
Qwen3开源发布:Think Deeper, Act Faster!社区推理、部署、微调、MCP调用实战教程来啦!
2025-04-29
阿里 Qwen3 技术详解: 4B 参数媲美 72B,MoE 架构的开源突破
2025-04-29
PAI-Model Gallery 支持云上一键部署 Qwen3 全尺寸模型
2025-04-29
Qwen3中性能最强MOE模型部署抛砖引玉 + 实测
2024-07-25
2025-01-01
2025-01-21
2024-05-06
2024-09-20
2024-07-20
2024-07-11
2024-06-12
2024-08-13
2024-12-26
2025-04-29
2025-04-28
2025-04-28
2025-04-28
2025-04-21
2025-04-19
2025-04-17
2025-04-15