QClaw 自定义模型配置教程
一开始是按照论坛里大佬分享的方法去改,改完以后当下看似生效,但重启之后还是不行。
后来继续排查,发现问题不只是一个配置文件,而是 用户配置 + 安装目录模板 + 运行态模型文件 三层都会影响结果。
最后让 OpenClaw 继续研究后,确认真正要同时改哪些文件、哪些文件可以设只读、哪些不能设只读,才最终搞定。
1. 修改用户配置文件
C:\Users\你的用户名\.qclaw\openclaw.json
把下面这段:
"agents": {
"defaults": {
"model": {
"primary": "qclaw/modelroute"
},
"workspace": "C:\\Users\\你的用户名\\.qclaw\\workspace",
"maxConcurrent": 3,
"timeoutSeconds": 72000
}
},
"models": {
"mode": "merge",
"providers": {
"qclaw": {
"baseUrl": "${QCLAW_LLM_BASE_URL}",
"apiKey": "${QCLAW_LLM_API_KEY}",
"api": "openai-completions",
"models": [
{
"id": "modelroute",
"name": "modelroute"
}
]
}
}
}
替换成:
"agents": {
"defaults": {
"model": {
"primary": "sub2api/gpt-5.4"
},
"workspace": "C:\\Users\\你的用户名\\.qclaw\\workspace",
"maxConcurrent": 3,
"timeoutSeconds": 72000
}
},
"models": {
"mode": "merge",
"providers": {
"qclaw": {
"baseUrl": "${QCLAW_LLM_BASE_URL}",
"apiKey": "${QCLAW_LLM_API_KEY}",
"api": "openai-completions",
"headers": {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36"
},
"models": [
{
"id": "modelroute",
"name": "modelroute"
}
]
},
"sub2api": {
"baseUrl": "https://你的中转地址/v1",
"apiKey": "${YOUR_API_KEY}",
"api": "openai-responses",
"models": [
{
"id": "gpt-5.4",
"name": "GPT-5.4 (sub2api)",
"input": ["text", "image"],
"contextWindow": 1050000,
"maxTokens": 128000
}
]
}
}
}
2. 修改安装目录模板
D:\QClaw\resources\openclaw\config\openclaw.json
把下面这段:
"agents": {
"defaults": {
"model": {
"primary": "qclaw/modelroute"
},
"workspace": "~/.openclaw/workspace",
"maxConcurrent": 3,
"timeoutSeconds": 72000
}
},
"models": {
"mode": "merge",
"providers": {
"qclaw": {
"baseUrl": "${QCLAW_LLM_BASE_URL}",
"apiKey": "${QCLAW_LLM_API_KEY}",
"api": "openai-completions",
"models": [
{
"id": "modelroute",
"name": "modelroute"
}
]
}
}
}
替换成:
"agents": {
"defaults": {
"model": {
"primary": "sub2api/gpt-5.4"
},
"workspace": "~/.openclaw/workspace",
"maxConcurrent": 3,
"timeoutSeconds": 72000
}
},
"models": {
"mode": "merge",
"providers": {
"qclaw": {
"baseUrl": "${QCLAW_LLM_BASE_URL}",
"apiKey": "${QCLAW_LLM_API_KEY}",
"api": "openai-completions",
"headers": {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36"
},
"models": [
{
"id": "modelroute",
"name": "modelroute"
}
]
},
"sub2api": {
"baseUrl": "https://你的中转地址/v1",
"apiKey": "${YOUR_API_KEY}",
"api": "openai-responses",
"models": [
{
"id": "gpt-5.4",
"name": "GPT-5.4 (sub2api)",
"input": ["text", "image"],
"contextWindow": 1050000,
"maxTokens": 128000
}
]
}
}
}
3. 修改运行态模型文件
C:\Users\你的用户名\.qclaw\agents\main\agent\models.json
找到这段:
{
"id": "modelroute",
"name": "modelroute",
"reasoning": false,
"input": ["text"],
"cost": {
"input": 0,
"output": 0,
"cacheRead": 0,
"cacheWrite": 0
},
"contextWindow": 200000,
"maxTokens": 8192,
"api": "openai-completions"
}
改成:
{
"id": "modelroute",
"name": "modelroute",
"reasoning": false,
"input": ["text"],
"cost": {
"input": 0,
"output": 0,
"cacheRead": 0,
"cacheWrite": 0
},
"contextWindow": 1050000,
"maxTokens": 128000,
"api": "openai-completions"
}
同时确认 providers.qclaw 下有:
"headers": {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36"
}
4. 文件只读策略
可以设成只读
C:\Users\你的用户名\.qclaw\openclaw.json
不要设成只读
C:\Users\你的用户名\.qclaw\agents\main\agent\models.json
如果把 models.json 设成只读,QClaw 运行时可能报:
EPERM: operation not permitted, rename
...models.json.tmp -> ...models.json
5. 最后一步
- 彻底退出 QClaw
- 重新启动 QClaw
- 再次检查默认模型和运行态文件是否仍然正确
一句话总结:
这次真正解决问题的关键,不是只改一个 ~/.qclaw/openclaw.json,而是同时处理了
用户配置 + 安装目录模板 + 运行态 models.json,
并且把 openclaw.json 设只读、但不锁死 models.json。