在 openclaw.json 里加一个自定义 provider,把 OpenClaw 的模型切到 apimodels —— Claude / GPT / Gemini 一把 key 全有,按量计费,不用逐家开通订阅。大约 3 分钟。
| 字段 | 值 |
|---|---|
| baseUrl | https://api.apimodels.app/v1 |
| api | openai-completions |
| apiKey | 你的 apimodels API Key(建议经环境变量引用) |
| 模型 allowlist | 要用的每个模型都必须列进 models 数组 |
export APIMODELS_API_KEY="sk_…your_apimodels_key…"配置文件里用 ${APIMODELS_API_KEY} 引用它,key 本身不落进 openclaw.json —— 这个文件经常被整个贴出来求助,别让 key 跟着泄漏。
// ~/.openclaw/openclaw.json
{
"agents": {
"defaults": {
"model": { "primary": "apimodels/claude-opus-4-8" }
}
},
"models": {
"mode": "merge",
"providers": {
"apimodels": {
"baseUrl": "https://api.apimodels.app/v1",
"apiKey": "${APIMODELS_API_KEY}",
"api": "openai-completions",
"timeoutSeconds": 300,
"models": [
{
"id": "claude-opus-4-8",
"name": "Claude Opus 4.8",
"reasoning": false,
"input": ["text", "image"],
"cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 },
"contextWindow": 200000,
"maxTokens": 8192
},
{
"id": "gpt-5-5",
"name": "GPT-5.5",
"reasoning": false,
"input": ["text", "image"],
"cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 },
"contextWindow": 200000,
"maxTokens": 8192
},
{
"id": "gemini-3-pro-preview",
"name": "Gemini 3 Pro",
"reasoning": false,
"input": ["text", "image"],
"cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 },
"contextWindow": 200000,
"maxTokens": 8192
}
]
}
}
}
}curl -s https://api.apimodels.app/v1/chat/completions \
-H "Authorization: Bearer $APIMODELS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "claude-opus-4-8",
"max_tokens": 16,
"messages": [{ "role": "user", "content": "Reply with exactly: ok" }]
}'返回里有 "ok" 即通 —— 这条打的就是配置里同一个 baseUrl + 同一种 OpenAI 兼容协议。然后重启 OpenClaw 让配置生效。
| model not allowed | 模型没进 allowlist。把它加进 provider 的 models 数组,注意 id 与我们的模型名逐字一致。 |
| 401 / Invalid API key | 环境变量没被 OpenClaw 进程读到(改完 shell 配置要重启它),或 key 填错。用上面的 curl 单独验证 key。 |
| 工具调用卡住 / 不改文件 | 选了不带工具能力的模型。用上面示例里的三个模型 —— 函数调用都已实测可用。 |
| 想走 Anthropic 原生协议 | OpenClaw 也支持 api: "anthropic-messages"(我们的 /v1/messages 同样在线)。除非有特别理由,建议统一用 openai-completions —— 一个 provider 就能同时列 Claude / GPT / Gemini。 |