🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度
1. model_not_found 到底是 ID 错还是路径错
Cline 里跑 Agent 报 model_not_found,最常见的两个原因是模型 ID 写错和供应商 Base URL 少了 /api。这篇以统一 API 通道做对照基线,从 TaoToken 拿一把 Key,再回到 Cline 的自定义供应商里逐字段核对,把「GLM 5.3 Flash 调不通」这件事拆成两条互相独立的验证线:一条验路径,一条验模型 ID。整篇不引用任何公榜分数,也不做模型强弱排行,只解决一个具体问题——当你已经把 Base URL 保存成 https://taotoken.net/api 之后,为什么第一条消息还是被拒。
排障最怕的不是错误本身,而是把两个错误混成一个。Cline 的对话框只会把供应商返回的原始错误摊在你面前,它不会告诉你这个错误来自哪一层。同样显示 model_not_found,可能发生在网关的路由匹配阶段,也可能发生在模型注册表的查表阶段,两者的修复动作完全不同。你在第 3 节改配置之前,得先用第 1 节的方法把锅分清楚,不然很容易出现「把模型 ID 改了三遍,其实问题在 Base URL 少了一段路径」。
1.1 两类根因在 Cline 里的不同表现
第一类是模型 ID 拼写错误。GLM 5.3 Flash 这类条目在模型广场里通常有一个展示名和一个调用 ID,展示名给人看,调用 ID 给请求用。Cline 的 Model ID 字段需要的是调用 ID,逐字符匹配。你把展示名原样粘进去,或者把版本号里的点改成连字符、把大小写随手中和,网关查表查不到,就会返回 model_not_found。这种错误的特点是:Base URL 完全正确,换成另一个确定存在的模型 ID 立刻能通。
第二类是供应商路径漏了 /api,或者多填了 /v1。Cline 的 OpenAI Compatible 供应商会把你在 Base URL 里填的地址当作前缀,再往后面拼版本段和资源路径。你填 https://taotoken.net,请求可能打到落地页路由上;你填 https://taotoken.net/api/v1,某些客户端版本会再拼一次版本段,变成 /api/v1/v1/chat/completions。这两种情况下,请求压根没进入模型路由,但返回体经过 Cline 的解析之后,也可能被统一显示成 model_not_found。这种错误的特点是:换任何模型 ID 都不通,错误稳定复现。
区分方法很朴素:把你在 Cline 里用的那个模型 ID,原封不动拿到命令行里打一次。命令行通、Cline 不通,去查 Cline 的配置字段;命令行也不通,先别动 Cline,把 Base URL 和 Key 单独验一遍。顺序反过来先改 Cline,你会在一个错误的坐标上反复微调。
1.2 先看原始响应体,不要看 Cline 的转述
Cline 展示错误时做了一层格式化,把 HTTP 状态码、响应体、供应商名称揉成一段可读文本。这段文本对定位有用,但会丢掉两个关键信息:真实的 HTTP 状态码,以及响应体的 Content-Type。少 /api 时最常见的情况是拿回一段 HTML,客户端尝试按 JSON 解析失败,最后抛出一个看起来像模型不存在的错误;而真正的模型 ID 错误,通常返回结构化的 JSON 错误对象,里面会带错误类型字段。
所以排障的第二步是绕过 Cline,直接看原始返回。第 4 节给了两条 curl 命令,一条 GET 模型列表、一条 POST 对话请求,都带 -D - 把响应头打出来。你只需要看两件事:状态码是不是 200,Content-Type 是不是 application/json。这两个都对,说明路径和鉴权没问题,问题收敛到模型 ID;这两个有一个不对,先修 Base URL 或 Key,暂时不用碰模型字段。
我在本地复现这套流程时踩过的坑,是把 Cline 的会话缓存当成了配置生效。Cline 的供应商配置改完之后,已经打开的 Agent 会话不一定立刻读取新配置,尤其是长会话里模型 ID 是跟着会话上下文走的。改完字段先新建一个会话再试,这一步花了三十秒,却能省掉一轮「明明改对了还是报错」的自我怀疑。
2. GLM 5.3 Flash 的模型 ID 怎么和模型广场对齐
模型 ID 这件事没有捷径,唯一可靠的做法是把广场页面上那一串字符完整复制下来,不做任何手工加工。这一节给你一张映射表,把「你在 Cline 里看到的名字」和「请求里该填的字符串」对齐,再给一条从模型列表接口反查拼写的路径,让你在改配置之前就有确定答案。这一节不写死任何具体 ID 字符串,因为它会随广场调整,写死了反而会误导。
2.1 展示名不等于调用 ID
展示名是给选模型的人看的,通常会包含厂商名、系列名、档位词,比如带 Flash、Pro、Air 这一类后缀。调用 ID 是给程序用的,它要满足路由系统的命名约束,因此可能出现小写化、连字符替换、组织前缀、版本后缀这些处理。你拿展示名去请求,等于拿商品名去查数据库主键,中间大概率对不上。
模型广场的详情页会把这两者分开展示。你在 Cline 里要填的是标注为「模型 ID」或「调用 ID」的那一个字段,不是页面大标题,也不是下拉框里第一眼看到的那个名字。复制的时候注意三件事:别带尾部空格,别带换行,别自己在末尾补 -latest。Cline 的输入框不会帮你 trim,一个不可见的尾部空格足以让查表失败。如果你从网页复制,粘进 Cline 之后先把光标移到末尾按一次删除键,这个习惯能挡掉相当一部分幽灵错误。
2.2 模型 ID 映射表
下面的表按「你想调用什么」和「字段里填什么」组织,具体字符串以你打开广场页面那一刻的展示为准。这张表的作用不是替你记 ID,而是替你记住每一类条目的填写规则和常见错法。
| 你在 Cline 里想调用的条目 | Model ID 字段填什么 | 从哪抄 | 常见错法 |
|---|---|---|---|
| GLM 5.3 Flash | 该条目详情页的调用 ID,逐字符复制 | 模型广场详情页的模型 ID 字段 | 把展示名「GLM 5.3 Flash」直接填进去 |
| 同系列其他 Flash 条目 | 各自条目的调用 ID | 同上 | 用 GLM 5.3 Flash 的 ID 去调别的档位 |
| 带组织前缀的条目 | 包含前缀的完整字符串 | 同上 | 只抄后半段,省略前缀 |
| 带版本后缀的条目 | 包含后缀的完整字符串 | 同上 | 自己补 -latest 或改写版本号写法 |
| 版本号里含小数点的条目 | 按广场写法保留小数点或连字符 | 同上 | 把 5.3 改成 5-3 或 53 |
| 大小写混合的条目 | 按广场写法保留大小写 | 同上 | 全部转小写或全部转大写 |
这张表里唯一需要你手动确认的是第一行的实际字符串。你可以打开 TaoToken 的模型广场,进 GLM 5.3 Flash 的详情页,把模型 ID 字段复制到一个纯文本编辑器里,确认没有隐藏字符,再粘进 Cline。这一步多花二十秒,比在 Cline 里来回改十次快得多。
2.3 用模型列表接口反查拼写
还有一个更机械的核对办法:直接拉模型列表,把返回结果里所有包含 glm 的条目打出来,逐个比对。这个方法的好处是它用的是同一把 Key、同一个 Base URL,返回的是网关当前真实注册的 ID 集合,比任何二手记忆都准。命令在第 4 节给了,这里先说怎么用返回结果。
拿到列表之后,你不需要读懂整个 JSON 结构,只要能定位到每个条目的 id 字段。把包含 glm 的 id 全部抄到编辑器里,再把你打算填进 Cline 的那个字符串抄到下一行,逐字符对齐。常见的差异点就那么几个:小数点、连字符、下划线、大小写、有没有前缀。找出差异之后,改 Cline,不要改广场给你的字符串。任何「我猜网关应该也接受这种写法」的想法,都会在下一次报错时被验证为错的。
这里补一句纪律:这篇排障记录不含排行分数,也不引用任何公榜名次。模型能力相关的数据请回模型广场和对应公榜页面查看,不要把排障过程里的接口返回当成能力评测结论。
3. Cline 自定义供应商参数逐字段填法
这一节把 Cline 设置面板里的字段按从上到下的顺序拆成文本表格,相当于把一张配置截图变成可以逐行对照的清单。你先在 TaoToken 的官网创建一把 Key,占位符记作 YOUR_API_KEY,再回到 Cline 里选自定义供应商。Key 只在创建时完整显示一次,先粘进临时文本文件再往 Cline 里填,避免中途复制失败又得重新建。
3.1 Base URL 只填到 https://taotoken.net/api
这个字段是整篇排障的核心。正确值是 https://taotoken.net/api,末尾不带斜杠、不带 /v1。Cline 的 OpenAI Compatible 模式会在这个前缀后面拼版本段和资源路径,最终请求地址形如 https://taotoken.net/api/v1/chat/completions。你在 Base URL 里提前写了 /v1,拼接结果就会多一段,路由匹配不到;你只写到域名,请求就落到了别的路由上。两种情况都会让你怀疑模型 ID 有问题。
填完之后做一次肉眼检查:协议头是不是 https,域名是不是 taotoken.net,路径结尾是不是正好停在 api。别用浏览器地址栏复制,地址栏里可能带着查询参数;也别从别人截图里抄,截图里的空格和连字符看不出来。这个字段只填一次,填对之后整篇的验证才有意义。注意这个字段本身不加任何跟踪参数,就是干干净净的 https://taotoken.net/api。
如果你在多个客户端之间切换,Base URL 的写法要保持一致。Claude Code 用的是 ANTHROPIC_BASE_URL,Codex 走的是 ~/.codex/config.toml,CC Switch 走自定义供应商表单,它们的字段名不同,但都指向同一个 https://taotoken.net/api,不要把这几种配置的字段互相套用。把 Anthropic 风格的环境变量套到 Codex 上,是另一类常见的「配置看起来对但请求发不出去」。
3.2 供应商参数逐字段对照表
下面这张表按 Cline 设置面板的常见字段顺序排,你打开设置页面之后从上往下对着看。不同 Cline 版本的字段名会有小幅差异,以你界面上实际显示的标签为准。
| 设置项 | 填什么 | 检查点 |
|---|---|---|
| API Provider | 选自定义 / OpenAI Compatible 一类 | 不要选成某个具体厂商的预设 |
| Base URL | https://taotoken.net/api | 末尾无斜杠、无 /v1 |
| API Key | YOUR_API_KEY | 从官网创建,占位符替换成真实值 |
| Model ID | 广场详情页复制的那一串 | 无尾空格、无换行、不改大小写 |
| 上下文长度 | 按广场该条目标注填 | 不要盲目填一个很大的值 |
| 最大输出 | 按广场该条目标注填 | 与上下文长度保持合理关系 |
| 是否支持图片 | 按广场标注勾选 | 标注不支持就不要开 |
| 是否支持工具调用 | 按广场标注勾选 | 全开容易掩盖配置错误 |
表格里最后两行容易被忽略。Cline 跑 Agent 会用到工具调用能力,你为了让 Agent 顺利干活,可能把所有能力开关都打开。如果当前模型条目的能力标注与实际不符,请求会在服务端被拒,返回的错误可能又被显示成 model_not_found。正确做法是先按最低配置跑通一条纯文本请求,确认链路通了,再逐项开启能力并观察每一步是否正常。
3.3 改完配置为什么必须新建会话
Cline 的供应商配置保存在设置层,但已经打开的会话会持有创建时的模型和参数快照。你改了 Model ID,旧会话继续用旧值发请求,看起来就像「改了没用」。处理方式是改完字段之后保存设置,关掉当前会话,重新发起一个,再发第一条消息。如果你在 Agent 模式下跑的是长任务,中途改配置更应该新建会话,不要指望它热加载。
还有一个容易混的点:Cline 支持在同一工作区里配置多个供应商,会话顶部可能有模型切换入口。你改的是 A 供应商的 Model ID,实际会话切到了 B 供应商,错误依旧。核对的时候把当前会话顶部显示的供应商名称和模型名一起看一眼,确认它就是你刚改的那一组。这个动作比读日志快,也比反复重装插件有效。
4. 两条 curl 命令:路径和模型 ID 分开验证
命令行验证的价值在于它把 Cline 这一层拿掉了。你在终端里能看到真实状态码和完整响应体,能确定问题出在服务端还是客户端。下面两条命令都使用同一把 Key 和同一个 Base URL,第一条只验路径和鉴权,第二条再验模型 ID。两条命令里的 URL 都不加任何跟踪参数,保持接口地址干净。
4.1 GET 模型列表验证路径和 Key
第一条命令只做一件事:确认 https://taotoken.net/api 这条路径存在、这把 Key 有效、返回的是 JSON。它不涉及模型 ID,所以结果干净。
curl -sS -D - \
-H "Authorization: Bearer YOUR_API_KEY" \
https://taotoken.net/api/v1/models
关注三件事。第一,响应头第一行是不是 200。第二,Content-Type 是不是 application/json。第三,响应体里能不能找到 id 字段的数组。如果状态码是 401,问题在 Key,回官网控制台确认这把 Key 是否启用、是否复制完整。如果状态码是 404,或者 Content-Type 是 text/html,说明路径不对,回到 Cline 的 Base URL 字段检查,先别看模型 ID。
这一步通过之后,你至少能确认:网络可达、路径匹配、鉴权成功。剩下所有 model_not_found 都被压缩到模型 ID 这一个变量上。排障的价值就在这个压缩动作,把四个可能的原因砍成一个。
4.2 POST 对话请求验证模型 ID
第二条命令带上你从广场复制的模型 ID,发一条最小请求。把 YOUR_MODEL_ID 替换成 GLM 5.3 Flash 的调用 ID,不要留引号之外的任何字符。
curl -sS -D - \
https://taotoken.net/api/v1/chat/completions \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "YOUR_MODEL_ID",
"messages": [{"role": "user", "content": "只回复两个字:通了"}],
"max_tokens": 16
}'
如果这条命令返回 200 并且拿到了回复内容,说明模型 ID 正确,Cline 里的问题只可能在配置字段的复制粘贴上。把命令里 YOUR_MODEL_ID 的实际值逐字符对比 Cline 输入框里的值,重点找尾部空格和大小写差异。如果这条命令也返回 model_not_found,说明你抄的 ID 和网关注册的 ID 对不上,回到第 2 节用模型列表反查。
4.3 返回 JSON 怎么读
拿到错误响应时,先看响应体顶层有没有错误对象,错误对象里通常有类型字段和消息字段。类型字段指向错误分类,消息字段有时会回显你传过来的模型 ID,这个回显是定位拼写问题最直接的证据:把你传的值和回显的值对齐,差异一眼可见。如果消息字段是空的,或者整个响应体是一段 HTML,那说明请求没进模型路由,去看第 4.1 步的结论。
还有一类情况是请求进了路由,但模型条目当前不可用或额度不足,这类错误一般不会用 model_not_found 表达,会给你更具体的提示。遇到这类提示不要改模型 ID,回控制台看用量和配额。把每一类错误对应到唯一的修复动作,排障才不会变成碰运气。
5. 用同一把 Key 复现这张对照表
走到这里,你手上应该有三样确定的东西:一条能返回 200 的模型列表命令、一条能返回 200 的对话命令、一个在 Cline 里能正常发消息的供应商配置。把这三样东西固定下来,就是你这台机器上的对照基线。下次换机器或者换同事复现,只需要把 Base URL、Key、模型 ID 三个值搬运过去,命令行先验一遍,再填 Cline。
想确认刚才那条 GLM 5.3 Flash 的调用有没有正常入账,可以打开 模型对话 用同一把 Key 再发一条,然后看控制台的用量计数是否同步增长。要换一台机器复现整套流程,先在 控制台 创建新的 Key,再按第 3 节的字段表重填一遍。长期跑 Cline Agent 会话、希望把调用量集中管理,可以看 Coding Plan。如果你同时用 Claude Code 或 CC Switch,把 Base URL、Key、模型 ID 这三件套对照 接入文档 检查一遍,字段名不同但取值一致。
最后留一个可复用的判断顺序,下次再遇到 model_not_found,按这个顺序走:先确认 Base URL 是不是正好停在 https://taotoken.net/api,再用模型列表命令确认路径和 Key,然后在返回结果里找到目标条目的准确 ID,粘进对话命令验证,最后才回到 Cline 填字段并新建会话。顺序不要颠倒,每一步只改一个变量,错误自然收敛。
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度




被折叠的 条评论
为什么被折叠?



