Dify / n8n / Coze 接国内 AI API:工作流调 Claude / GPT 配置教程(2026)
用 Dify、n8n、Coze / 扣子 搭 AI 工作流,想接 Claude / GPT / Gemini 却卡在海外 API 付款和网络?这些工具几乎都兼容 OpenAI 格式,改一个 base_url 就能接国内中转。分工具讲配置,附一张按报错查的排障表。
先分清:这是配置问题,还是产品边界
开工前先花两分钟做一件事,能省掉一整晚翻文档:进目标工具的模型设置,找有没有「API Base URL / 自定义端点 / OpenAI 兼容」这类字段。有,就说明这个工具允许你把流量指向任意兼容端点,接谁由你决定;没有,那就是产品没开这个口子 —— 不是你没找到设置,再折腾也接不进去,只能用它内置的模型。Dify、n8n 属于前者;Coze / 扣子这类偏封闭的平台要具体看你用的版本有没有开放自定义模型接入。判断清楚归属,后面的活才有意义。
通用三项:base_url、key、模型名
凡是能填自定义端点的工具,接国内中转的套路都一样,只改三项:API Base URL 填中转地址、API Key 填中转的 key、模型名填中转在售的名字。因为大家都遵循 OpenAI 的接口格式,改完这三项就把原本连官方的流量切到了国内直连。好处是这三项各自对应一种报错,看报错就知道错在哪一项:base 填错通常报 404(路径拼不上),key 填错报 401,模型名填错报 model not found。别一出错就三项一起改,按报错定位一次改一项。
Dify:别忘了手动勾选模型能力
路径是「设置 → 模型供应商 → OpenAI-API-compatible」。除了 base、key、模型名,Dify 还要你自己声明这个模型的能力:上下文长度、最大输出 token、是否支持视觉、是否支持函数调用 / Tool Call。Dify 不会去探测这些,你不勾它就当模型没有 —— 最典型的表现是模型明明支持工具调用,但在 Agent 节点或工作流的工具节点里就是不触发、甚至根本选不到。另一件容易漏的事:LLM、Text Embedding、Rerank 在 Dify 里是分开添加的三条记录,做 RAG 时只加了 LLM,建知识库那步就会卡在选不到嵌入模型。
n8n:凭证保存时会先打一次模型列表
n8n 的 OpenAI 凭证里有 Base URL 字段,填中转地址即可,Key 填中转的 key。这里有个隐性依赖值得记住:保存凭证时 n8n 会拿这个 Base URL 去请求一次 /models 做连通性校验 —— 也就是说中转如果不提供 OpenAI 格式的模型列表接口,凭证根本存不进去,哪怕对话接口完全正常。遇到 credential test failed 先别怀疑 key,直接 curl 一下 <base>/models,看返回是不是 {"object":"list","data":[…]} 这个结构。实在存不进去也有兜底:用 HTTP Request 节点直接 POST 到 <base>/chat/completions,自己拼 header 和 body,绕开凭证校验这一层。
Coze / 扣子及其他工具
Coze / 扣子若在你用的版本里支持自定义模型或 OpenAI 兼容接口,填法同上;不支持的话就是上面说的产品边界,只能用其内置模型,别再往下折腾。通用规律是:凡是能填「自定义 OpenAI 兼容端点」的工具都能用这一招 —— LobeChat、Cherry Studio、OneAPI、FastGPT,以及各语言的官方 SDK(把 base_url 参数指过去就行)。配通一个,其余照抄,差别只在设置项藏在哪一级菜单里。
工作流特有的两个坑:节点超时和并发 429
这两个坑在单次对话里几乎遇不到,一上工作流就来。① 超时:每个节点有自己的 HTTP 超时,而推理型模型的思考时间明显长于普通对话,结果是节点先超时报错,但上游那次调用已经发生、照常计费 —— 表现就是「流程失败了,账单还在涨」。解法是把节点超时调到够长,或对长任务避开推理型模型。② 并发:批处理 / 迭代节点(n8n 的 Split In Batches、Dify 的迭代节点)默认会把循环里的请求并发打出去,几十条一起打很容易撞限流返回 429。解法是把批大小压到个位数,或在循环里插一个等待节点。
模型名去哪儿查(别照抄任何文章,包括本文)
文章里写死的模型代号迟早过期,查接口才是唯一不会过期的做法。cocodot 有两个公开接口可以直接查:curl https://cocodot.co/api/ai/v1/models 返回 OpenAI 标准格式的在售型号列表(实测公开、无需鉴权,当前 46 个);https://cocodot.co/api/ai/models 返回带官方名称的完整列表,方便你把「Claude Opus 5」这样的名字对到代号上。两种写法都能路由,填官方模型名或代号都认。注意 n8n 的模型下拉框是从前一个接口拉的,所以你看到的是代号;想用官方名的话手动填进去也认。
cocodot 接入与上线前的检查清单
接入三步:① 注册 cocodot.co、验证邮箱领体验额度、支付宝小额充值;② 控制台建 API Key;③ 在工具里填 Base URL=https://cocodot.co/api/ai/v1、Key=你的 key、模型名按上一节查到的填。国内直连,不用额外折腾网络。上线前过一遍清单:先用便宜模型把链路跑通再换主力模型;按工作流拆 key(一个工具一个 key,将来泄漏或要换的时候不牵连别的流程);确认流式开关与下游解析对得上;超时和批大小按上一节调好;最后手动触发一次全链路,确认失败分支也走得通。
工作流接 AI API:症状 → 根因 → 解法
| 你看到的症状 | 真正的根因 | 怎么解 |
|---|---|---|
| 404 / not found | base_url 路径拼不上,九成是 /v1 后缀有无不对 | 把 /v1 加上或去掉再试一次,这是最快的二选一 |
| 401 / unauthorized | key 没填对,或手动拼请求时没带 Bearer | 核对 key;用 HTTP 节点手拼时确认 Authorization: Bearer <key> |
| model not found | 模型名不在中转的在售列表里(或代号已随代际更新) | curl 一下中转的 /v1/models,按返回的当前代号填 |
| n8n 提示 credential test failed | 保存凭证时会先请求 /models 校验,该接口不通或不是 OpenAI 格式 | curl <base>/models 看是不是 {"object":"list","data":[…]};实在存不进就改用 HTTP Request 节点绕开 |
| Dify 里模型选得到,工具却不触发 | 添加模型时没勾「函数调用 / Tool Call」,Dify 不会自己探测 | 回模型供应商编辑这条记录,把能力项勾上再保存 |
| Dify 建知识库时选不到嵌入模型 | Embedding 要按 Text Embedding 类型单独添加,不随 LLM 一起 | 在同一个供应商下再加一条 Text Embedding 记录 |
| 节点报超时,账单却在涨 | 节点 HTTP 超时短于模型思考时间;上游调用已经完成并计费 | 把节点超时调长;长任务避开推理型模型 |
| 批量循环跑到一半报 429 | 迭代 / 批处理节点默认并发发请求 | 把批大小压到个位数,或在循环里插一个等待节点 |
| 开了流式却没输出 | 节点开了 stream 但下游没有按 SSE 逐块解析 | 先关掉流式跑通链路,再回头处理 SSE 解析 |