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

Dify Agent自定义工具SDK开发实操指南

AI热点日报
AI热点日报时间:2026-06-08
热点解读

在Dify平台为Agent挂载调用外部API的工具,必须使用官方PythonSDK,工具描述需符合OpenAPI3 0规范并完成签名注册。步骤包括:搭建虚拟环境安装dify-tools、编写蛇形命名且返回纯字典的函数、通过@tool装饰器或手动构造OpenAPISchema(parameters类型为object且required字段完整),最后打包上传。细

在Dify平台上为Agent挂载能够调用外部API的工具,核心路径需要严格遵循官方Python SDK,将工具描述按照OpenAPI 3.0规范编写,并完成签名与注册,才能成功接入工作流。任何简化操作,例如直接上传未校验的JSON或跳过token签名,都会导致工具在编排界面显示为“不可用”,最终白费功夫。

接下来我们来详细拆解每一个实施步骤,其中每一步都包含关键细节需要留意。

搭建开发环境与安装必要依赖

首先要搭建好开发环境。创建一个独立的虚拟环境,然后安装Dify官方工具SDK:

python -m venv dify-tool-env
source dify-tool-env/bin/activate (Windows下用 dify-tool-env\Scripts\activate
pip install dify-tools

这一步至关重要,不可跳过。需要特别指出的是,dify-tools是唯一能够自动注入认证头(auth header)并完成schema校验的SDK。如果贪图方便,手动构造请求头或直接使用requests库,将无法通过Dify后端的工具签名验证环节。

编写工具的核心逻辑函数

新建一个weather_tool.py文件,定义一个接收location: str参数、返回天气数据字典的函数。举个例子:

def get_current_weather(location: str) -> dict:
import requests
resp = requests.get(f"https://api.example.com/weather?q={location}")
return {"temperature": resp.json()["temp"], "condition": resp.json()["weather"]}

这里有两个关键细节需要特别关注。第一,函数名称必须采用蛇形命名法(snake_case),不能包含空格或特殊字符。第二,返回值必须是纯粹的Python字典类型,不能包含datetime对象或requests.Response实例,否则SDK在序列化时会直接抛出TypeError错误。

配置工具元信息与OpenAPI Schema

这一步有两种实现方式。

方法一:用@tool装饰器(推荐)

在函数顶部添加装饰器,传入中文名称和描述,代码极其简洁:

from dify_tools import tool
@tool(name="查询实时天气", description="根据城市名获取当前温度和天气状况")
def get_current_weather(location: str) -> dict:
...

方法二:手动构造OpenAPI 3.0 JSON Schema

创建一个weather_schema.json文件,严格遵循Dify的要求填写name(必须使用英文小写)、description,以及parameters中每个字段的typedescription。这里有一个常见的陷阱:parameters的type必须设置为object,并且required字段数组不能缺失,否则在Dify控制台中无法选中并配置该工具。

打包工具并注册到Dify平台

现在来到最后一步,将成果部署到Dify平台。

第一步:将工具文件及schema(若未使用装饰器方法)置于同一目录,确保目录中不包含.pyc或__pycache__等无关文件。

第二步:执行打包命令dify-tools pack --entry weather_tool:get_current_weather

第三步:命令执行成功后,将生成一个weather_tool.zip文件。

第四步:登录Dify控制台,依次进入「Agent」→「工具」→「上传自定义工具」,选中该ZIP文件上传。

上传后等待约10秒,状态将从“处理中”变为“已启用”,此时方可将其拖入工作流节点。若一直卡在“处理中”,说明ZIP内部结构存在问题——最常见的原因是入口函数路径填写错误,例如写成weather_tool.py:get_current_weather(多写了.py)或函数名拼写有误。

整个流程并不复杂,关键在于精准把控这些细节。正所谓“工欲善其事,必先利其器”,工具链的搭建值得多花几分钟时间把每一步都验证到位。

热点追踪提示词
你是一名 AI 行业编辑,请围绕下面这条热点输出一份资讯解读:
热点:Dify Agent自定义工具SDK开发实操指南要求:
1. 先用一句话解释这条热点在讲什么
2. 再总结它为什么重要
3. 说明会影响哪些 AI 产品或内容方向
4. 最后给出 3 个适合资讯站使用的标题
来源:https://www.php.cn/faq/2597870.html?uid=1589237
Dify_Agent_自定义工具_SDK_开发实操

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

相关热点
AI热点2026-07-12 19:21
Remaker AI免费去除任意图像水印和文字,几秒内完成

先来看看Remaker AI这款工具。它的定位非常清晰——专注于解决图像处理中的常见难题:水印、文字、多余元素,以及低分辨率图像的修复与放大。无论是设计师、社交媒体运营人员,还是普通用户,只要遇到需要“清理”图片的场景,它都能轻松应对。下面直接了解它的适用人群和实际能力。 需求人群 Remaker

AI热点2026-07-12 19:20
文心大模型:高效智能多功能AI文本生成工具

文心大模型覆盖文化传媒、艺术创作、教育科研、金融保险、医疗健康等需文字与创意的场景,集成文本生成、文生图、智能对话、信息抽取、文本纠错、古诗创作、文案续写等十余种文字处理能力。

AI热点2026-07-12 19:20
Ask AI浏览器 高效人工智能搜索与即时聊天工具

今天我们来聊一款非常实用的浏览器工具——Ask AI Browser。如果你经常在Google上搜索问题,又希望随时与AI对话,或者在浏览各类网站时想直接向AI提问,那么这款工具可能会为你的日常浏览体验带来显著提升。 目标用户群体 简单来说,它主要面向以下几类用户:在Google上搜索问题时,希望无

AI热点2026-07-12 19:19
中国联通个人云盘云存储服务正式上线

说起来,联通云盘这事儿,其实就是中国联通在云存储这条赛道上的一次重要布局。目标很明确:为个人和家庭用户解决海量数据存储的刚需。具体能干啥呢?个人云、家庭云、微信 通讯录 相册备份、多端文件共享……说白了,就是从存储到共享的一条龙服务。 联通云盘官网网页版登录入口网址:https: pan wo c

延伸阅读