需在dify中接入cloudflare workers作为边缘数据中转层,通过部署dify-tools-worker模板、配置自定义工具及工作流调用实现低延迟请求处理。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

要在Dify中接入Cloudflare Workers作为边缘侧轻量数据中转层,需绕过传统反向代理或API网关的中间跳转,直接让Dify工作流调用部署在Cloudflare边缘节点上的无服务器端点。该方案适用于需低延迟、高并发、地理就近处理的场景,例如用户位置感知的请求预处理、敏感字段脱敏、或跨域协议适配。
准备Cloudflare Workers端点
登录Cloudflare控制台 → Workers & Pages → 创建服务 → 选择“Deploy a new Worker” → 使用dify-tools-worker模板初始化项目。
执行wrangler init --template=https://github.com/langgenius/dify-tools-worker命令拉取官方适配模板,该模板已预置JSON解析、HTTP头透传、错误响应标准化等Dify兼容逻辑。
修改src/index.ts中的handleRequest函数,确保其接收POST /api/forward路径请求,并将原始body与headers原样转发至目标后端(如私有数据库API或ERP系统),【必须保留Content-Type为application/json且不修改原始payload结构】。
运行wrangler deploy完成部署,记录返回的Worker URL(形如https://your-worker.your-namespace.workers.dev)——此URL将作为Dify中自定义工具的目标地址。
在Dify中注册为自定义工具端点
进入Dify平台 → 左侧菜单栏点击「设置」→「自定义工具」→「添加工具」。
填写基础信息:工具名称(如“CF-Edge-Proxy”)、描述(“通过Cloudflare边缘节点中转请求,降低首字节延迟”)、目标URL(粘贴上一步获取的Worker URL)。
配置认证方式:选择“API Key”,在“认证配置”区域填入:
Key字段填X-Dify-Secret,Value字段填你自行设定的密钥字符串(如cf-edge-202607),In字段选header。
输入参数映射规则:点击「添加参数」,设置input_data → 映射到请求体{{input.input_data}};若需透传用户ID,再加一项user_id → {{context.user_id}}。这一步决定Dify变量如何注入Worker。
在工作流中调用该工具
新建或编辑一个工作流 → 拖入「自定义工具」节点 → 在下拉列表中选择刚注册的“CF-Edge-Proxy”工具。
方法一:直接绑定输入
在节点配置面板中,“输入变量”栏填写:{"input_data": "{{http_response.body}}", "user_id": "{{context.user_id}}"} ——适用于上游节点已输出结构化JSON的场景。
方法二:使用代码节点预处理后再调用
插入「代码」节点,语言选Python,输入以下逻辑:
def main(raw: str) -> dict:<br> import json<br> data = json.loads(raw)<br> return {"input_data": {"payload": data, "timestamp": 1722228300}}<br>
然后将该节点的
result输出连接至自定义工具节点的输入端口。
【注意:若Worker返回非2xx状态码,Dify默认中断流程并报错;需在Worker内统一返回200+业务态code字段,再在Dify后续节点用条件分支判断code值】
验证与调试
第一步:在Dify工作流中启用「调试模式」,触发一次测试运行,观察自定义工具节点日志中的请求URL、Headers和Body是否与预期一致。
第二步:登录Cloudflare Workers仪表盘 → 点击对应Worker → 查看「Metrics」页的Success Rate与Avg. Response Time,确认边缘节点未出现5xx或超时(>500ms)。
第三步:在Worker代码中临时加入console.log("Received:", JSON.stringify(event.request.json())),再通过wrangler tail实时捕获日志,验证Dify传入的input_data结构是否完整嵌套、无字段丢失。
第四步:在Dify「监控」→「事件日志」中筛选该工作流ID,检查从工具调用开始到响应解析结束的完整链路耗时,确认边缘中转带来的延迟收益(通常比直连后端降低120~300ms)。










