为什么选择 Anthropic 原生模式
OpenClaw 支持两种方式调用 Claude 模型。如果你需要使用**工具调用(tool_use)**等高级功能,强烈建议使用anthropic-messages 原生模式:
| 场景 | OpenAI 兼容模式 | Anthropic 原生模式 |
|---|---|---|
| 纯聊天 | ✅ 正常 | ✅ 正常 |
| 工具调用(tool loop) | ❌ 可能 400 报错 | ✅ 稳定 |
| Prompt Caching | ❌ 不支持 | ✅ 支持 |
| 多模型切换 | ✅ 200+ 模型 | ⚠️ 仅 Claude 系列 |
走
openai-completions 时,纯聊天能通,但一旦进入工具多轮调用(tool_calls → tool_result → tool loop),可能被后端拒绝返回 400。改走 anthropic-messages 后,tool_use + tool_result 格式可正常工作。推荐配置
编辑~/.openclaw/openclaw.json,添加以下 provider 配置:
关键配置说明
关于 reasoning: false
模型白名单配置
将模型加入agents.defaults.models,否则 OpenClaw 可能提示模型”未登记”,然后静默回退到其他模型:
与 OpenAI 兼容模式的对比
| 特性 | OpenAI 兼容模式 | Anthropic 原生模式 |
|---|---|---|
| API 类型 | openai-completions | anthropic-messages |
| baseUrl | https://api.apiyi.com/v1 | https://api.apiyi.com |
| 支持模型 | 所有 200+ 模型 | 仅 Claude 系列 |
| 工具调用 | 不稳定(多轮可能 400) | 稳定 |
| Prompt Caching | 不支持 | 支持 |
| 超长上下文 | 取决于模型 | 最高 200K tokens |
| 适用场景 | 多模型切换、纯聊天 | Claude 深度使用、Agent 工具调用 |
Claude 模型 ID 列表
| 模型 ID | 名称 | 说明 |
|---|---|---|
claude-sonnet-4-6 | Claude Sonnet 4 | 均衡性能,推荐日常使用 |
claude-opus-4-6 | Claude Opus 4 | 最强推理能力 |
claude-haiku-4-5-20251001 | Claude Haiku 4.5 | 快速响应,性价比高 |
混合配置(推荐)
同时配置 OpenAI 兼容和 Anthropic 原生两个提供商,按需切换:/model apiyi/gpt-5.4 或 /model apiyi-claude/claude-sonnet-4-6 切换模型。
验证配置
配置完成后,验证是否生效:meta.agentMeta.provider 和 meta.agentMeta.model 是否与配置一致。
常见问题
报错 400 ValidationException: Operation not allowed
报错 400 ValidationException: Operation not allowed
这通常是请求中出现了 thinking 相关字段导致的。确保:
- 模型条目设置了
"reasoning": false - headers 中
"anthropic-beta": ""已正确配置
配置改了但没生效
配置改了但没生效
已有的聊天 session 可能缓存了旧的模型配置。两种解决方式:修改 session 的模型:或重置 session:
模型静默回退到其他模型
模型静默回退到其他模型
检查是否已将模型加入
agents.defaults.models 白名单。未登记的模型会被 OpenClaw 自动回退。baseUrl 报错路径重复
baseUrl 报错路径重复
Anthropic 原生模式的
baseUrl 不要带 /v1。如果写成 https://api.apiyi.com/v1,实际请求会变成 .../v1/v1/messages,导致 404 错误。