跳转到主要内容
本文档由 AI 自动翻译。如有任何不准确之处,请参考 英文原版
开发者可通过自定义端点扩展模块能力,当前支持以下模块扩展:
  • moderation 敏感内容审计
  • external_data_tool 外部数据工具
在扩展模块能力之前,你需要准备一个 API 和用于鉴权的 API Key。 除了需要开发对应的模块能力,还需要遵照以下规范,以便 Dify 正确调用 API。

API 规范

Dify 将会以以下规范调用你的接口:

Request Body

API 返回

校验

在 Dify 配置自定义端点时,Dify 将会发送一个请求至 API Endpoint,以检验 API 的可用性。 当 API Endpoint 接收到 point=ping 时,接口应返回 result=pong,具体如下:

Header

Request Body

API 期望返回

范例

此处以外部数据工具为例,场景为根据地区获取外部天气信息作为上下文。

API 范例

Header
Request Body
API 返回

代码范例

代码基于 Python FastAPI 框架。
  1. 安装依赖
  2. 按照接口规范编写代码
  3. 启动 API 服务,默认端口为 8000,API 完整地址为:http://127.0.0.1:8000/api/dify/receive,配置的 API Key 为 123456
  4. 在 Dify 配置该 API。
  5. 在 App 中选择该自定义端点。
App 调试时,Dify 将请求配置的 API,并发送以下内容(范例):
API 返回为:

本地调试

由于 Dify 无法访问内网 API 服务,为了方便本地调试 API 服务,可以使用 Ngrok 将 API 服务的端点暴露到公网,实现云端调试本地代码。操作步骤:
  1. 进入 https://ngrok.com 官网,注册并下载 Ngrok 文件。
    下载
  2. 下载完成后,进入下载目录,根据下方说明解压压缩包,并执行说明中的初始化脚本。
  3. 查看本地 API 服务的端口:
    查看端口
    并运行以下命令启动:
    启动成功的样例如下:
    Ngrok 启动
  4. 我们找到 Forwarding 中,如上图:https://177e-159-223-41-52.ngrok-free.app(此为示例域名,请替换为自己的)即为公网域名。
按照上述的范例,我们把本地已经启动的服务端点暴露出去,将代码范例接口:http://127.0.0.1:8000/api/dify/receive 替换为 https://177e-159-223-41-52.ngrok-free.app/api/dify/receive 此 API 端点即可公网访问。至此,我们即可在 Dify 配置该 API 端点进行本地调试代码,配置步骤请参考 外部数据工具

使用 Cloudflare Workers 部署自定义端点

我们推荐你使用 Cloudflare Workers 来部署你的自定义端点,因为 Cloudflare Workers 可以方便的提供一个公网地址,而且可以免费使用。 详细说明请参考 使用 Cloudflare Workers 部署自定义端点
最后修改于 2026年7月2日