Dify 接入 DeepSeek、Kimi、GLM、Qwen:OpenAI 兼容插件一个 Key 全接上(附报错排查)
结论先说:Dify 接 DeepSeek、Kimi、GLM、Qwen 不需要为每家供应商单独注册,也不用改 Dify 代码。 装官方市场里的 OpenAI-API-compatible 插件,添加模型时把 API Base URL 填成 https://router.bumo.cc/v1,模型名称填 Router 的完整模型 ID(例如 deepseek/deepseek-flash),一个 Router API Key 就能把这些模型加进同一个 Dify 工作区。每加一个模型重复一次「添加模型」,Key 和地址填同一组即可。
这篇按「装插件 → 加第一个模型 → 加其余模型 → 在应用里选用 → 按报错排查」的顺序写,字段值都按 Dify 官方插件的配置项和 2026-10-21 的 Router 模型列表核对过。不同 Dify 版本的界面文案可能略有差异,以你看到的表单为准。
为什么用「OpenAI 兼容」插件,而不是一家家装原生供应商
Dify 里能直接选 DeepSeek、智谱、通义等原生供应商,但那通常意味着每家用一个 Key、分别充值、分别看余额。OpenAI-API-compatible 插件把「地址 + Key + 模型名」抽成一套通用配置:只要上游说 OpenAI 的 Chat Completions 协议,就能接进来。
Dify 插件市场里这个插件的装机量已经超过 130 万(2026-10-21 页面显示 1.3M),它本来就是给 LM Studio、llama.cpp 这类自建服务用的,拿它接第三方聚合网关同样合适。
不墨 Router 的国内站(router.bumo.cc)把 DeepSeek、智谱、月之暗面、通义等模型放在同一个 Key 下,按量计费、人民币结算、微信充值,价格与官方一致。对 Dify 用户的实际好处是:换模型只改「模型名称」一个字段,不用再开第二家账号。
如果你只用一家模型,装原生供应商当然也可以;这篇解决的是「一个工作区里想同时试几家、又不想管多套 Key」的场景。
先准备三样东西
- Router 账号和 API Key:登录 router.bumo.cc,在 API Key 页面创建一个 Key。
- 余额:在 钱包按页面提示充值。没有余额时,模型能添加成功,但第一次调用会失败。
- 完整模型 ID:打开 Router 模型列表,复制你要用的
id。注意它带厂商前缀,是deepseek/deepseek-flash,不是deepseek-flash。
第一步:安装 OpenAI-API-compatible 插件
在 Dify 里打开「插件」或「集成 → 模型供应商」,搜索 OpenAI-API-compatible,点安装。也可以在 Dify Marketplace 里安装。
这个插件属于「自定义模型」类型:装完之后不会自动出现一堆模型,需要你自己点「添加模型」,把每个模型登记进去。
第二步:添加第一个模型
在插件卡片上点「添加模型」,按下面这张表填。第一次建议用最便宜的 deepseek/deepseek-flash 跑通,再换别的。
| 表单字段 | 填什么 | 说明 |
|---|---|---|
| 模型类型 | 大语言模型(LLM) | 不要选 embedding / rerank / TTS |
| 模型名称 | deepseek/deepseek-flash | 必须与 Router 模型列表里的 id 完全一致 |
| 模型显示名称 | DeepSeek Flash | 只影响界面显示,可留空 |
| API Key | 你的 Router Key | 同一把 Key 后面几个模型继续用 |
| API Base URL | https://router.bumo.cc/v1 | 老版本插件里可能叫「API endpoint URL」 |
| API endpoint 中的模型名称 | 留空 | 上游模型名与「模型名称」一致时不需要另填 |
| 对话类型 | 对话(Chat) | 不要选「补全」 |
| 模型上下文长度 | 1000000 | 按模型实际值填,见下表 |
| 最大 token 上限 | 先填 4096 | 指单次输出的上限,不够再调大 |
| 函数调用类型 | 工具调用(Tool Call) | 要在 Agent / 工作流里调工具就选它 |
| 流式函数调用 | 支持 | 与工具调用配套 |
| 视觉支持 | 不支持 | 只有模型本身支持图片输入时才选支持 |
| 兼容模式 | 严格(OpenAI 兼容) | 默认值,不需要额外参数就保持严格 |
| 流式中包含用量 | 启用 | 默认值;Router 会返回 token 用量,账单才对得上 |
几个容易填错的地方:
- API Base URL 必须带
/v1。只写https://router.bumo.cc会拼出错误的请求路径。 - 模型名称不是显示名。显示名可以随便写,请求真正发出去用的是「模型名称」这一栏。
- 上下文长度不要照默认的 4096 不动。Dify 会按这个值估算和截断上下文;填小了,长文档或长工作流会被提前裁掉,看起来像模型「记不住」。
- 最大 token 上限是输出上限,不是上下文总长。写太小会出现回答说到一半被截断。
填完保存后,先用一句短请求验收。保存成功只说明字段格式没问题,不代表 Key 有余额、也不代表模型一定可用——这两件事都要靠实际调用确认。
第三步:把其余模型也加进来
重复「添加模型」,每次只改「模型名称」「模型显示名称」「上下文长度」「视觉支持」,API Key 和 API Base URL 填同一组。这篇用到的五个模型:
| 模型 ID | 上下文 | 输入 / 输出(元 / 百万 tokens) | 工具调用 | 图片输入 |
|---|---|---|---|---|
deepseek/deepseek-flash | 1M | 2 / 8 | 支持 | 不支持 |
deepseek/deepseek-v4-pro | 1M | 9 / 27 | 支持 | 不支持 |
glm/glm-5.3 | 1M | 8 / 28 | 支持 | 不支持 |
kimi/kimi-k3 | 1M | 20 / 100 | 支持 | 支持 |
qwen/qwen3.8-max | 1M | 12 / 36 | 支持 | 不支持 |
价格是 2026-10-21 从 Router 模型接口读到的元 / 百万 tokens,官方同价、按量计费,实际以模型页和账单为准。DeepSeek 两个模型还有峰谷价:北京时间工作日 9:00–12:00、14:00–18:00 是高峰,其余时段按五折计费。
想再省一点,可以把 glm/glm-5.3-flash(0.8 / 2.8)和 qwen/qwen3.8-flash(0.8 / 2.7)也加进来做日常草稿、分类、改写这类轻任务。它们同样是 1M 上下文,价格低一个数量级。
第四步:在应用里选用
- 新建应用时:在模型下拉框里选刚添加的模型;没看到就回「模型供应商」确认模型已经保存成功。
- 改默认模型:在「设置 → 模型供应商」右上角点「默认模型」,把「系统推理模型」设成你常用的那个。之后新建的应用和没指定模型的节点会用它。
- Agent / 工作流里调工具:模型必须支持工具调用,并且添加模型时「函数调用类型」选了「工具调用」。这两项缺一个,Agent 就会只聊天、不执行工具。
- 工作流里的 LLM 节点:每个节点可以单独选模型,适合「便宜模型做分类、贵模型做最终回答」这种组合。
第五步:用一个小请求验收
不要一上来就跑完整工作流。按这个顺序验:
- 发一句「用一句话解释什么是 REST API」,确认能正常返回。
- 换成你实际要用的模型,再发一次,确认切换生效。
- 如果要用 Agent,单独测一次工具调用:让它查一个简单信息,看它有没有真的发起工具请求。
- 到 Router 钱包看这次请求的用量记录。Dify 界面上的 token 数只是参考,扣费以 Router 账单为准。
一个 Agent 任务可能包含多轮模型请求,不要把「点一次发送」当成「只扣一次费」。
报错排查:先看错误码,再改字段
| 现象 | 最常见原因 | 怎么处理 |
|---|---|---|
401 / Invalid API key | Key 复制不全、带了空格,或 Key 已删除 | 回 API Key 页面重新复制;确认没有多余换行 |
404 / model not found | Base URL 少了 /v1,或模型名少了厂商前缀 | 地址改成 https://router.bumo.cc/v1,模型名从模型列表整段复制 |
400 / 不支持的参数 | 端点不接受某个可选字段 | 先把「流式中包含用量」设为禁用;仍报错再把「用户标识支持」设为不支持 |
| 保存模型时就失败 | 模型类型选错,或上下文长度不是数字 | 确认选的是 LLM,上下文只填数字 |
| Agent 只聊天、不调工具 | 函数调用类型没选「工具调用」,或模型不支持 | 改成「工具调用」,并换支持 tools 的模型 |
| 回答被截断 | 「最大 token 上限」太小 | 调大输出上限;上下文长度也按模型实际值填 |
| 长文档答得残缺 | 上下文长度填得比模型实际值小 | 按上表改成 1M,再重新发一次 |
402 / 余额不足 | 钱包没有余额或已用完 | 在钱包页充值后重试 |
| 一直转圈或超时 | Base URL 指到了别的域名,或本机网络不通 | 先用 curl https://router.bumo.cc/v1/models 确认能返回 |
还有一个和聊天模型无关的坑:Dify 的知识库需要「嵌入模型」(embedding)。Router CN 当前公开的模型列表只有对话模型,没有 embedding 接口,所以知识库的嵌入模型要另外配(本地 Ollama 或其他供应商),不要把这几个聊天模型填到嵌入模型那一栏——它不会正常工作。聊天、Agent 和工作流里的 LLM 节点不受影响。
常见问题
一个 Key 真的能给四个模型用吗?
可以。Key 是账号级的,模型由请求里的 model 字段决定。Dify 里每添加一个模型要重复填一次 Key,但填的是同一把,不需要为每家供应商单独申请。
为什么模型列表里没有某个模型? 以 router.bumo.cc/v1/models 的实时返回为准。模型上下架会变,文章里的 ID 是 2026-10-21 核对的结果。列表里没有的,填进去也调不通。
Dify 插件市场里的装机量能说明什么? 说明这条接入路径不是偏门用法:130 万+ 的安装量意味着插件本身稳定,遇到问题时也更容易搜到别人的排查记录。它不代表任何一家网关的稳定性。
要不要开「扩展」兼容模式?
先用默认的「严格」。只有当你要传 thinking、enable_thinking 这类非标准参数时才需要扩展模式;普通对话和工作流用不到。
现在就试
先用 deepseek/deepseek-flash 加一个模型,发一句短请求跑通,再去加 Kimi、GLM 和 Qwen。跑通之后再按任务难度换模型:日常分类和改写用 flash 档,长文档和复杂推理用 deepseek/deepseek-v4-pro、glm/glm-5.3 或 qwen/qwen3.8-max,需要图片输入时再选 kimi/kimi-k3。
- 创建 API Key:router.bumo.cc/user/api-keys
- 查看实时模型与价格:router.bumo.cc/v1/models
- 钱包与充值:router.bumo.cc/user/wallet
- 已经在用命令行工具的话,可以对照Codex CLI 接国产模型的配置方式,思路同样是「一个 Key + 一个 Base URL」。
一个 Key、一组地址,Dify 里就能同时用上四家国产模型。