必须通过自定义工具声明端点并注入安全凭证,否则AI工作流无法调用内网私有API;需提供OpenAPI Schema或手动配置JSON Schema、认证方式及环境变量,再测试连通性与参数绑定。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

要在Dify中让AI工作流调用企业内网的私有API(如审批系统、CRM接口、敏感词检测服务),必须通过自定义工具完成端点声明与安全注入,否则模型节点无法识别外部HTTP能力。
准备私有API的OpenAPI Schema或手动定义接口契约
这一步决定后续配置是否能自动生成参数映射。如果私有API已提供标准 OpenAPI 3.0 YAML/JSON 文件,直接使用;若无,则需人工补全请求方法、路径、headers、body结构及响应示例。
不提供准确Schema会导致Dify无法校验输入字段,工作流编排时出现“参数缺失”报错,且调试阶段看不到字段提示。
打开你的私有API文档,确认它支持 POST 方法、Content-Type 为 application/json,并记录完整请求路径(例如 【https://192.168.10.55:8443/api/v1/audit/submit】)。
在Dify控制台创建自定义工具
登录Dify企业版 → 左侧导航栏点击「工具(Tools)」→「自定义(Custom)」→ 点击「创建自定义工具」。
选择「从 OpenAPI 文件导入」或「手动配置」:前者粘贴YAML内容后Dify自动解析出全部端点;后者需逐项填写名称、描述、URL、请求方法、Headers和Body Schema。
手动配置时,Body Schema必须用 JSON Schema 格式书写。例如提交审批的body需写成:{"type":"object","properties":{"order_id":{"type":"string"},"reason":{"type":"string"}},"required":["order_id"]}。漏掉 required 字段将导致该参数在工作流中不可设为必填。
配置认证方式并注入凭证
方法一:使用 API Key(推荐用于内网静态Token)
在「鉴权(Authentication)」下拉菜单中选择「API Key」→ 输入Key名称(如 X-API-Key)→ 在值字段填写 【{{env.internal_api_key}}】 → 保存后前往「设置 → 环境变量」新增同名变量并填入真实密钥。
方法二:Bearer Token(适用于OAuth2或短期JWT)
选择「Bearer Token」→ Token字段填写 【{{env.jwt_token}}】 → 同样需在环境变量中声明并赋值。
注意:环境变量名必须与工具配置中引用的完全一致,大小写敏感,且不能含空格或特殊符号。
测试工具连通性与参数绑定
第一步:点击工具卡片右上角「测试」按钮 → 在弹窗中展开「请求详情」→ 检查 URL、Method、Headers 是否与私有API要求一致,特别是协议是否为 https(内网若用 http,需确保Dify服务器允许非加密回环调用)。
第二步:在「输入参数」区域填入合法样例值 → 点击「发送请求」→ 查看响应状态码与body内容。返回 200 且含预期字段(如 {"status":"success","id":"req_abc123"})即表示通路正常。
第三步:回到工作流编辑页,拖入该自定义工具节点 → 点击节点,在「参数映射」面板中,将上游节点输出的变量(如 user_input)拖拽绑定到当前工具的 body.order_id 字段。绑定错误会导致请求体为空对象 {},后端拒绝处理。
这一步操作起来很简单,直接把变量拖进去就行,但必须确认右侧字段路径与你之前定义的 Schema 完全匹配,比如定义的是 body.data.id,就绝不能绑到 body.id。


















