IntegrationsDev tool
OpenClaw
在 openclaw.json 里把 RouteMux 注册成 provider,四种协议模式任选。
OpenClaw 把 provider 放在 ~/.openclaw/openclaw.json 的 models.providers 下面。
每个 provider 用 api 字段声明协议,取值与 Pi 的四个同名。
配置
{
"models": {
"providers": {
"routemux": {
"baseUrl": "https://api.routemux.com/v1",
"apiKey": "sk-...",
"auth": "api-key",
"api": "openai-completions",
"models": [
{
"id": "openai/gpt-5.5",
"name": "GPT-5.5",
"reasoning": true,
"contextWindow": 1000000,
"maxTokens": 128000
}
]
}
}
},
"agents": {
"defaults": {
"model": { "primary": "routemux/openai/gpt-5.5" }
}
}
}模型引用写法是 <providerId>/<modelId>。我们的 model id 本身带一个斜杠,
所以完整引用是三段。
协议与 base URL
api | RouteMux 的 baseUrl | 最终落在 |
|---|---|---|
openai-completions | https://api.routemux.com/v1 | /v1/chat/completions |
openai-responses | https://api.routemux.com/v1 | /v1/responses |
anthropic-messages | https://api.routemux.com —— 裸 origin | /v1/messages |
google-generative-ai | https://api.routemux.com/vertex-ai | Vertex 系操作 |
Claude 模型只在 anthropic-messages 上提供,所以一个 Claude 的 provider 块需要
api: "anthropic-messages" 和裸 origin 的 base URL 两者同时正确。
只对一半是最常见的失败方式。
模型清单是显式的
OpenClaw 不会从端点发现模型 —— 你在 models 里列了什么就只有什么。
id 必须与 GET /v1/models 完全一致,contextWindow / maxTokens 供 agent 自己做预算。
排查
| 现象 | 原因 |
|---|---|
| 模型选择里没有这个 provider | 配置块层级放错了。它属于 models.providers 下面,不是顶层。 |
| 每条请求都 404 | base URL 的形状与 api 取值不匹配。见上表。 |
400 MODEL_PROTOCOL_UNSUPPORTED | 模型不在所声明的协议上 —— 最常见是把 Claude 的 id 放在 OpenAI 模式下。 |
| 模型引用解析不出来 | agents.defaults.model.primary 要写 <providerId>/<modelId>,而我们的 id 自带斜杠。 |
400 AUTH_AMBIGUOUS_API_KEY | 同时到达两个不同的 key 值。只留一个。 |
422 BILLING_INSUFFICIENT_CREDITS | 钱包余额不足。失败请求不计费。 |