工具与插件
纯靠模型「凭记忆回答」有限。给它工具(Tools),它就能查天气、调内部接口、算数据——从「嘴炮」变成「能办事」。本章讲 Dify 的工具体系。
1. 工具是什么
工具是模型在回答时可调用的能力单元。Dify 在检测到需要时会自动(或在 Agent 模式下主动)调用工具,把结果拿回来继续推理。
工具的常见类型:
- 内置工具:网页搜索、计算器、维基、当前时间等开箱即用
- 自定义 API 工具:你自己的 HTTP 接口
- 插件(Plugins):社区/官方发布的扩展包,一键安装
ℹ️对话型 vs Agent 的工具调用
对话型应用:工具按你编排的「显式节点」触发。Agent 应用:模型根据情况自主决定是否调用、调哪个(第 12 章详述)。
2. 启用内置工具
在编排页「工具」区添加,例如「Web 搜索」:
配置:
工具:Web 搜索(如 Bing / SerpAPI)
API Key:在对应服务商获取后填入添加后,当用户问「今天天气怎么样」,模型会自动调用搜索并返回实时结果。
3. 自定义 API 工具
把你自己的后端能力暴露成工具。Dify 支持通过 OpenAPI/Swagger 规范 导入,或手动配置。
# 自定义工具示例:查询订单状态
name: query_order
description: 根据订单号查询物流状态
method: GET
endpoint: https://api.internal.example.com/orders/{order_id}
headers:
Authorization: Bearer {{api_token}}
parameters:
- name: order_id
in: path
required: true
type: string配置后,Dify 会把它当作一个可调用的工具,模型/工作流即可引用 query_order。
⚠️给工具写清楚 description
模型的工具选择依赖你写的 description。描述含糊,模型就可能调错或漏调。写明「什么时候用、输入什么、返回什么」最关键。
4. 插件市场
Dify 的插件(Plugins) 生态提供现成能力:
- 各类模型服务商接入
- 第三方服务(如飞书、Slack 通知)
- 专用工具包(文档解析、图像生成等)
在「插件」页搜索安装,安装后即可在应用中启用,无需自己写封装。
5. 工具权限与安全
- 工具可配置是否需审批(高权限操作先人工确认)
- 内部 API 工具建议走白名单 IP / 鉴权,不要暴露公网
- 敏感工具(发邮件、改数据)优先放在 Agent 的受控流程里
💡从小工具开始
先接一个只读的查询类工具(如查订单)跑通调用链路,再考虑写操作类工具。写操作务必加审批与鉴权。
🎯动手做
给你的应用添加一个内置「Web 搜索」工具,问一个需要实时信息的问题(如「今天最新的 AI 新闻」),观察模型是否自动调用工具并引用结果。
小结
- 工具让模型从「只会说」变成「能办事」
- 内置工具开箱即用;自定义 API 工具用 OpenAPI 导入
- 插件市场扩展生态;工具的 description 决定调用准确率
- 敏感工具加审批与鉴权;下一步进入工作流 →