面包屑图标 当前位置: 首页
AI资讯
热点详情

大模型工具Dify进阶开发自定义Tools教程

AI热点日报
AI热点日报时间:2026-07-04
热点解读

掌握Dify插件开发,让AI应用构建更高效!本文提供从零到一的实操指南。先梳理核心要点:Dify作为开源大语言模型(LLM)应用开发平台,在AI应用构建中扮演关键角色,如何为其编写插件,所需准备事项,以及开发、调试、打包、发布的完整流程。文章将通过实际案例逐步拆解,确保你能跟随操作并成功实践。 人工

掌握Dify插件开发,让AI应用构建更高效!本文提供从零到一的实操指南。先梳理核心要点:Dify作为开源大语言模型(LLM)应用开发平台,在AI应用构建中扮演关键角色,如何为其编写插件,所需准备事项,以及开发、调试、打包、发布的完整流程。文章将通过实际案例逐步拆解,确保你能跟随操作并成功实践。

人工智能技术日新月异,Dify开源平台提供的工具与插件支持,让构建强大AI应用变得更为便捷。为Dify开发工具插件的核心在于扩展LLM的能力边界,例如实现联网搜索、科学计算或图像生成,这些功能显著增强AI应用与外部世界的交互能力。

接下来,我们深入探讨如何为Dify开发一个工具插件,帮助你充分挖掘平台潜力。直接进入正题。

大模型工具Dify进阶-开发tools

准备工作

开发Dify插件前,需要完成以下准备。

  • Dify插件脚手架工具
  • Python环境,版本需≥3.12

Dify插件开发脚手架工具(又称dify-plugin-daemon)本质上是插件开发所需的SDK。

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

前往GitHub上的dify-plugin-daemon仓库,下载最新版本,选择对应操作系统和架构的二进制文件。本文以搭载M系列芯片的macOS为例,下载dify-plugin-darwin-arm64文件后,务必赋予执行权限。

chmod +x dify-plugin-darwin-arm64

执行以下命令验证安装是否成功。

./dify-plugin-darwin-arm64 version

若系统提示“Apple无法验证”,请前往“设置→隐私与安全性→安全性”,点击“仍要打开”即可。

初始化Python环境

Python环境的安装方法在此不再赘述,网上教程丰富,也可直接咨询LLM。需注意版本必须为3.12或更高。

创建新项目

运行脚手架命令行工具,创建新的Dify插件项目。

./dify-plugin-darwin-arm64 plugin init

为方便后续操作,可将二进制文件重命名为dify并拷贝到/usr/local/bin目录下,然后直接使用以下命令:

dify plugin init

若遇到问题,将dify命令替换为命令行工具的实际路径即可。

选择插件类型和模板

脚手架工具中的所有模板均提供完整代码项目。本文示例选择Tool插件类型。

配置插件权限

插件需要获取Dify平台的部分权限。为示例插件授予以下权限:

  • Tools
  • Apps
  • 启用持久化存储Storage(分配默认大小)
  • 允许注册Endpoint

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

创建完成后,将生成如下工程文件。

开发插件

生成的项目文件中包含两个重要文件夹:

  • provider:插件供应商,一个项目中可以有多个。
  • tools:供应商对应的工具。

这两个文件夹将在Dify工具界面中直接体现。

provider配置

dify-plugin-example.yaml

identity:
  author: xxxx
  name: dify-plugin-example
  label:
    en_US: dify-plugin-example
    zh_Hans: dify-plugin-example
    pt_BR: dify-plugin-example
  description:
    en_US: "Use this plugin to fetch the URL content(provider)."
    zh_Hans: "使用此插件获取URL内容(provider)"
    pt_BR: "Use este plugin para buscar o conteúdo do URL(provider)"
  icon: icon.png
tools:
  - tools/dify-plugin-example.yaml
extra:
  python:
    source: provider/dify-plugin-example.py

provider代码

dify-plugin-example.py

from typing import Any
from dify_plugin import ToolProvider
from dify_plugin.errors.tool import ToolProviderCredentialValidationError

class DifyPluginExampleProvider(ToolProvider):
    def _validate_credentials(self, credentials: dict[str, Any]) -> None:
        try:
            """
            IMPLEMENT YOUR VALIDATION HERE
            """
        except Exception as e:
            raise ToolProviderCredentialValidationError(str(e))

DifyPluginExampleProvider主要负责实现验证功能,例如你的工具需要API Key,可在此处处理。

tools配置

dify-plugin-example.yaml

identity:
  name: dify-plugin-example
  author: fakzhao
  label:
    en_US: dify-plugin-example
    zh_Hans: dify-plugin-example
    pt_BR: dify-plugin-example
description:
  human:
    en_US: The URL to fetch content from.
    zh_Hans: 要获取内容的URL
    pt_BR: O URL para buscar conteúdo.
  llm: Convert a web page into well structured Markdown.
parameters:
  - name: url
    type: string
    required: true
    label:
      en_US: URL
      zh_Hans: URL
      pt_BR: URL
    human_description:
      en_US: "The URL to fetch content from."
      zh_Hans: "要获取内容的URL"
      pt_BR: "O URL para buscar conteúdo."
    llm_description: llm
    form: llm
extra:
  python:
    source: tools/dify-plugin-example.py

tools代码

dify-plugin-example.py

import json
import requests
from collections.abc import Generator
from typing import Any
from dify_plugin import Tool
from dify_plugin.entities.tool import ToolInvokeMessage

class DifyPluginExampleTool(Tool):
    def _invoke(self, tool_parameters: dict[str, Any]) -> Generator[ToolInvokeMessage]:
        print(json.dumps(tool_parameters, indent=4))
        url = tool_parameters["url"]
        print(f"fetching {url}")
        try:
            j_url = f"https://r.jina.ai/{url}"
            print(f"jina url {j_url}")
            response = requests.get(j_url)
            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://example.com

调试

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

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

.env文件

INSTALL_METHOD=remote
REMOTE_INSTALL_HOST=remote
REMOTE_INSTALL_PORT=5003
REMOTE_INSTALL_KEY=****-****-****-****-****

执行python -m main命令启动插件。在Dify的插件页面,你将看到该插件已被安装到Workspace中,团队其他成员也能访问到它。

至此,插件已成功运行,可以进入debug环节。

测试

在工作流编辑页面添加你的插件,构建最终的工作流。

查看运行结果:若已成功运行,即可进入下一步。

打包插件

调试通过后,使用以下命令行工具打包并命名插件。运行后,你将在当前文件夹看到dify-plugin-example.difypkg文件,这就是最终的插件包。

dify plugin package ./dify-plugin-example

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

发布插件

若想将插件发布到Dify Marketplace,请确保插件遵循发布规范。审核通过后,代码将合并到主分支并自动上线。

总结

从环境准备到打包发布,完整经历这一流程后,你会发现为Dify开发工具插件,不仅扩展了AI应用的能力,还提升了系统的灵活性与可扩展性。无论是接入外部API、执行复杂计算,还是增强交互体验,插件都能让Dify更加强大。

热点追踪提示词
你是一名 AI 行业编辑,请围绕下面这条热点输出一份资讯解读:
热点:大模型工具Dify进阶开发自定义Tools教程要求:
1. 先用一句话解释这条热点在讲什么
2. 再总结它为什么重要
3. 说明会影响哪些 AI 产品或内容方向
4. 最后给出 3 个适合资讯站使用的标题
来源:https://www.53ai.com/news/OpenSourceLLM/2025032110942.html
ai 人工智能

游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。

相关热点
AI热点2026-07-04 17:53
Airgram AI会议助手 会议记录转录总结

你是否曾在会议中一边听一边拼命记笔记,却依然遗漏重要内容?Airgram正是为此而生的AI会议助手——它能自动录制、实时转录并智能总结会议内容。该工具深度集成Zoom、Google Meet、Teams和Webex等主流平台,不仅自动生成会议纪要,还能分配后续行动项、构建可搜索的知识库,让团队协作流

AI热点2026-07-04 17:53
GhostWryter AI写作与内容创意生成助手

GhostWryter AI写作助手适合哪些人?一篇文章讲透适用场景 你是否经常在撰写营销文案、博客文章或SEO内容时感到时间紧张、创意枯竭?其实,这并非个例。如今,越来越多的团队与个人开始借助AI工具提升内容产出效率,而GhostWryter正是其中一款值得深入了解的产品。下面我们将详细解析它的目

AI热点2026-07-04 17:53
Bluedot AI会议记录与笔记工具

会议结束后,大量关键信息仍然停留在脑海里,难以快速整理——这是许多职场人士在会议中的真实困扰。如今,一款专为Google Meet设计的AI助手恰好解决了这一痛点。 什么是 Google Meet AI Notes AI Chrome 扩展程序 插件? 简而言之,这是一款基于人工智能的工具,能够帮助

AI热点2026-07-04 17:53
SpeechText.AI 网页录制音频视频自动高准确转文字

您是否想象过,从任意网页录制音频,再将音频或视频文件自动转化为文字,且准确率接近真人水平?这听起来非常实用。这正是我们今天要介绍的这款Chrome扩展所实现的功能。 什么是 Record voice and capture audio from any web page ai chrome 扩展程序

延伸阅读