Learn
Dify/09-tools-plugins

工具与插件

纯靠模型「凭记忆回答」有限。给它工具(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 决定调用准确率
  • 敏感工具加审批与鉴权;下一步进入工作流 →