1. 白嫖百炼之后,为什么 OpenClaw 里还是只有几个模型
很多人第一次用 OpenClaw 接阿里云百炼,流程大概是这样的:在百炼控制台开通服务、拿到 API Key、把 Key 填进 OpenClaw 的配置里,然后兴冲冲打开模型列表,结果发现能选的模型就那么几个。明明百炼里挂着几十个模型,免费额度也标着可用,为什么 OpenClaw 里就是看不到?
这个问题的本质,是 OpenClaw 的模型列表并不是「自动同步」百炼后台的全部模型,而是由本地配置文件openclaw.json里显式声明的。你开通了百炼,只是拿到了访问权限;但 OpenClaw 要调用哪个模型,得你在配置里写清楚。默认模板通常只预置了几个主力模型,比如 qwen 系列的某几个版本,剩下的模型需要你手动往配置里加。
我试过把百炼后台的模型用量页面翻了个遍,确认某个模型确实有免费额度,但 OpenClaw 里就是调不出来,最后发现就是配置文件没写。所以这篇内容要解决的核心问题是:在已经接入阿里云百炼免费额度的前提下,如何通过修改openclaw.json扩展更多模型来源,并且把 endpoint 统一改到 TaoToken 的 API 通道上,这样既能用百炼的免费额度,又能用统一 Key 管理其他模型。
适合谁看:已经跑通 OpenClaw + 百炼基础接入、想让模型选择列表变长的人;以及想用一套 Key 同时管多个模型来源、不想每个平台单独配一遍的人。下面从配置文件结构讲起,给出可复制的多模型配置片段,再演示改 endpoint 到 TaoToken 的验证步骤。
2. TaoToken 前置准备:统一 Key 与 API 通道怎么拿
在动openclaw.json之前,先把 TaoToken 这边的准备工作做完。TaoToken 的作用是把多个模型来源收敛到一个 API 通道上,你只需要一个 Base URL 和一个 Key,就能在 OpenClaw 里切换不同模型,不用为每个平台单独维护一套凭证。
第一步是拿到 API Key。打开 TaoToken 控制台,进入 API Keys 页面创建一个新的 Key。创建的时候建议给 Key 起个能认出来的名字,比如openclaw-multi,方便后面在多个工具之间区分。Key 创建后只显示一次,复制下来存好。
- 控制台入口:https://taotoken.net/console
- API Keys 页面:https://taotoken.net/api-keys
第二步是确认 Base URL。TaoToken 的 API 地址是:
https://taotoken.net/api注意这个地址后面不加 UTM 参数,直接作为 OpenClaw 配置里的baseUrl使用。如果你之前用的是百炼原生的 endpoint,形如https://dashscope.aliyuncs.com/compatible-mode/v1这种,现在要把它替换成 TaoToken 的地址,Key 也换成 TaoToken 的 Key。
第三步是确认你要用的 Model ID。TaoToken 的模型列表可以在文档里查,也可以直接在模型对话页面里试。模型对话入口:
https://taotoken.net/models
在这里你可以看到当前可用的模型标识符,比如claude-sonnet-4-5、gpt-4o这类。记下你要在 OpenClaw 里用的 Model ID,后面写进配置。
如果你打算长期用 OpenClaw 做编码或 Agent 任务,可以考虑 Coding Plan,它针对高频调用场景做了额度优化:
https://taotoken.net/coding-plan
前置准备就这三样:Base URL、API Key、Model ID。拿到之后,下面进入openclaw.json的实际配置。
3. 可复制的 openclaw.json 多模型配置片段
OpenClaw 的配置文件默认在用户目录下的.openclaw/openclaw.json。Linux/macOS 是~/.openclaw/openclaw.json,Windows 是C:\Users\<用户名>\.openclaw\openclaw.json。用编辑器打开它,你会看到类似这样的结构(简化版):
{ "models": [ { "id": "modelstudio/qwen3-max-2026-01-23", "name": "Qwen3 Max", "provider": "modelstudio", "baseUrl": "https://dashscope.aliyuncs.com/compatible-mode/v1", "apiKey": "sk-你的百炼Key" } ], "agent": { "modelstudio/qwen3-max-2026-01-23": {} } }这里有两个地方要改。第一个是models数组,每个元素代表一个可选模型;第二个是agent对象,它决定了 Agent 模式下能调用哪些模型。很多人只改了models没改agent,结果模型列表里出现了但 Agent 用不了,这是最常见的坑。
3.1 扩展百炼的更多模型
假设你想在百炼里再加一个qwen3-coder-plus,做法是复制一份models数组的元素,改id和name:
{ "models": [ { "id": "modelstudio/qwen3-max-2026-01-23", "name": "Qwen3 Max", "provider": "modelstudio", "baseUrl": "https://dashscope.aliyuncs.com/compatible-mode/v1", "apiKey": "sk-你的百炼Key" }, { "id": "modelstudio/qwen3-coder-plus", "name": "Qwen3 Coder Plus", "provider": "modelstudio", "baseUrl": "https://dashscope.aliyuncs.com/compatible-mode/v1", "apiKey": "sk-你的百炼Key" } ], "agent": { "modelstudio/qwen3-max-2026-01-23": {}, "modelstudio/qwen3-coder-plus": {} } }id里的模型名要和百炼后台「模型用量」页面里显示的标识一致,直接复制过来最稳妥。name是你自己在 OpenClaw 里看到的名字,随便起,但建议和id对应,不然模型多了会乱。
3.2 把 endpoint 改到 TaoToken 统一通道
如果你想让 OpenClaw 通过 TaoToken 调用模型,而不是直连百炼,就把baseUrl和apiKey换成 TaoToken 的:
{ "models": [ { "id": "claude-sonnet-4-5", "name": "Claude Sonnet 4.5", "provider": "taotoken", "baseUrl": "https://taotoken.net/api", "apiKey": "sk-你的TaoTokenKey" }, { "id": "gpt-4o", "name": "GPT-4o", "provider": "taotoken", "baseUrl": "https://taotoken.net/api", "apiKey": "sk-你的TaoTokenKey" } ], "agent": { "claude-sonnet-4-5": {}, "gpt-4o": {} } }注意provider字段,直连百炼时写modelstudio,走 TaoToken 时写taotoken(具体字段名以你当前 OpenClaw 版本为准,有些版本用custom)。id这里直接写 TaoToken 的 Model ID,不需要加modelstudio/前缀。
3.3 混合配置:百炼免费额度 + TaoToken 其他模型
最实用的做法是两者混着用:百炼的免费模型走原生 endpoint,其他模型走 TaoToken。这样免费额度不浪费,需要更强模型时也能切:
{ "models": [ { "id": "modelstudio/qwen3-max-2026-01-23", "name": "Qwen3 Max (百炼免费)", "provider": "modelstudio", "baseUrl": "https://dashscope.aliyuncs.com/compatible-mode/v1", "apiKey": "sk-你的百炼Key" }, { "id": "claude-sonnet-4-5", "name": "Claude Sonnet 4.5 (TaoToken)", "provider": "taotoken", "baseUrl": "https://taotoken.net/api", "apiKey": "sk-你的TaoTokenKey" } ], "agent": { "modelstudio/qwen3-max-2026-01-23": {}, "claude-sonnet-4-5": {} } }改完保存,重启 OpenClaw,模型列表里应该就能看到新增的项了。如果用的是 Cline MCP 或 CC Switch 这类工具,配置逻辑类似,核心三件套是 Base URL、Key、Model ID,缺一不可。
4. 验证请求:确认模型真的能调通
配置写完不代表能用,得实际发一次请求验证。OpenClaw 里可以直接在模型选择界面切到新加的模型,然后发一句测试。但更可靠的方式是用 curl 直接打 TaoToken 的 API,排除 OpenClaw 本身的干扰。
4.1 用 curl 验证 TaoToken 通道
curl https://taotoken.net/api/v1/chat/completions \ -H "Content-Type: application/json" \ -H "Authorization: Bearer sk-你的TaoTokenKey" \ -d '{ "model": "claude-sonnet-4-5", "messages": [ {"role": "user", "content": "回复一个字:好"} ] }'如果返回里能看到choices数组,并且message.content有内容,说明 Key 和 Base URL 都没问题。如果返回 401,说明 Key 不对或没带上;如果返回model not found,说明 Model ID 写错了,回 TaoToken 模型列表核对。
4.2 在 OpenClaw 里切换模型测试
curl 通了之后,回到 OpenClaw。重启应用,打开模型选择下拉框,应该能看到你新加的模型名。选中它,发一条消息,观察返回。如果 OpenClaw 报错,先看它的日志输出,通常会提示是配置解析问题还是网络请求问题。
一个实用的验证技巧:在 OpenClaw 里同时配一个百炼原生模型和一个 TaoToken 模型,来回切换发同一句话,对比返回速度和内容。这样能确认两条通道都是通的,而不是碰巧某一个能用。
4.3 验证 agent 字段是否生效
前面提到agent对象容易漏配。验证方法是:在 OpenClaw 里触发一次 Agent 模式的任务(比如让它读一个文件并总结),如果 Agent 报「model not available」,大概率是agent里没写这个模型。回去补上对应的 key,重启即可。
5. 本篇常见错排查:401、local proxy failed、reading choices
配置过程中最容易撞上的几个报错,这里逐个对照。
401 Unauthorized:最常见。原因通常是 Key 没填对、Key 前后有空格、或者 Base URL 和 Key 不匹配(比如用了百炼的 Key 却打到 TaoToken 的地址)。检查方法:把 Key 复制到 curl 命令里单独测一次,排除 OpenClaw 配置文件的转义问题。JSON 里 Key 要用双引号包住,不能有换行。
local proxy failed:这个报错通常出现在 OpenClaw 尝试通过本地代理转发请求时。检查你的baseUrl是不是写成了http://localhost:xxxx这类本地地址,或者系统里设了全局代理导致请求被拦截。把baseUrl改成https://taotoken.net/api直连,重启 OpenClaw 再试。
reading choices 报错:形如cannot read property 'choices' of undefined,说明请求发出去了但返回体不是预期的 OpenAI 兼容格式。可能原因:Model ID 写错导致返回了错误对象;或者provider字段和实际通道不匹配。回 TaoToken 模型对话页面确认 Model ID,并检查provider是否写成了对应的值。
OAuth 相关报错:如果你用的是 Claude Code 或 Codex 这类带 OAuth 的工具,报 OAuth 错误通常是因为认证方式冲突。走 TaoToken 的 API Key 模式时,不需要 OAuth 流程,把工具里的认证方式切成 API Key,填入 TaoToken 的 Key 即可。Codex 的auth.json里对应字段要改成 API Key 模式,Base URL 指向https://taotoken.net/api。
模型列表不更新:改完openclaw.json后模型没出现,先确认文件保存了,再确认 OpenClaw 完全重启(不是刷新界面)。有些版本会缓存配置,需要杀掉进程重开。
agent 里模型名和 models 里不一致:agent的 key 必须和models里的id完全一致,包括前缀。modelstudio/qwen3-max-2026-01-23和qwen3-max-2026-01-23是两个不同的 key,写错就调不到。
6. 后续怎么扩展:统一 Key 管理多模型来源
把 endpoint 收敛到 TaoToken 之后,后续加模型就简单了:在models数组里加一个元素,agent里补一个 key,重启。不用再去每个平台单独申请 Key、单独配 endpoint。百炼的免费额度继续用原生通道,其他模型走 TaoToken,两边互不干扰。
如果你后面要接 Claude Code 做编码,或者用 Codex 跑 Agent 任务,配置思路是一样的:Base URL 填https://taotoken.net/api,Key 填 TaoToken 的 Key,Model ID 填你要用的模型。接入文档在这里:
https://taotoken.net/doc
需要新建或管理 Key 的时候回控制台:
https://taotoken.net/api-keys
模型对话页面可以用来快速试某个 Model ID 是否可用,省得每次都在 OpenClaw 里试错:
https://taotoken.net/models
长期高频用的话,Coding Plan 的额度比按量更划算:
https://taotoken.net/coding-plan
最后提醒一句:openclaw.json改之前先备份一份,模型多了之后配置容易写乱,有备份能快速回滚。每次只加一个模型、验证通过再加下一个,比一次性堆一堆然后逐个排查要省时间。