模型:默认值、选择、别名、切换
“默认模型”是什么?
“默认模型”是什么?
OpenClaw 的默认模型就是你设置在:的那个值。模型使用
provider/model 的形式引用(例如:openai/gpt-5.5 或 openai-codex/gpt-5.5)。如果你省略 provider,OpenClaw 会先尝试别名,然后尝试对该精确模型 id 的唯一已配置 provider 匹配,只有在这之后才会回退到已配置默认 provider 这一已弃用的兼容路径。如果该 provider 不再暴露已配置的默认模型,OpenClaw 会回退到第一个已配置的 provider/model,而不是暴露一个陈旧的、已移除 provider 的默认值。你仍然应该显式设置 provider/model。你推荐使用什么模型?
你推荐使用什么模型?
推荐默认值: 使用你的 provider 栈中可用的最新一代最强模型。
对于启用工具或处理不受信任输入的智能体: 优先考虑模型能力,而不是成本。
对于日常/低风险聊天: 使用更便宜的后备模型,并按智能体角色进行路由。MiniMax 有自己的文档:MiniMax 和
本地模型。经验法则:对于高风险工作,使用你负担得起的最佳模型;对于日常聊天或摘要,使用更便宜的
模型。你可以按智能体路由模型,并使用子智能体来并行处理长任务(每个子智能体都会消耗 token)。参见 Models 和
Sub-agents。强烈警告:较弱或过度量化的模型更容易受到提示词注入
和不安全行为的影响。参见 Security。更多背景信息:Models。
如何在不清空配置的情况下切换模型?
如何在不清空配置的情况下切换模型?
使用模型命令或只编辑模型字段。避免整份配置替换。安全选项:
- 在聊天中使用
/model(快速、按会话) openclaw models set ...(只更新模型配置)openclaw configure --section model(交互式)- 编辑
~/.openclaw/openclaw.json中的agents.defaults.model
config.apply。
对于 RPC 编辑,先用 config.schema.lookup 检查,并优先使用 config.patch
来进行部分更新。lookup 载荷会给出规范化路径、浅层 schema 文档/约束,以及直接子项摘要。
如果你确实覆盖了配置,请从备份恢复,或重新运行 openclaw doctor 进行修复。文档:Models、Configure、Config、Doctor。我可以使用自托管模型吗(llama.cpp、vLLM、Ollama)?
我可以使用自托管模型吗(llama.cpp、vLLM、Ollama)?
可以。Ollama 是使用本地模型最简单的路径。最快的设置方式:
- 从
https://ollama.com/download安装 Ollama - 拉取一个本地模型,例如
ollama pull gemma4 - 如果你也想使用云模型,运行
ollama signin - 运行
openclaw onboard并选择Ollama - 选择
Local或Cloud + Local
Cloud + Local会同时提供云模型和你的本地 Ollama 模型- 像
kimi-k2.5:cloud这样的云模型不需要本地拉取 - 如需手动切换,使用
openclaw models list和openclaw models set ollama/<model>
OpenClaw、Flawd 和 Krill 在模型上使用什么?
OpenClaw、Flawd 和 Krill 在模型上使用什么?
- 这些部署可能彼此不同,并且可能随时间变化;没有固定的 provider 推荐。
- 使用
openclaw models status检查每个网关上的当前运行时设置。 - 对于安全敏感/启用工具的智能体,使用可用的最新一代最强模型。
如何在运行时切换模型(无需重启)?
如何在运行时切换模型(无需重启)?
将 这些是内置别名。自定义别名可以通过 你也可以为 provider 强制指定一个认证配置档案(按会话):提示:如果你想返回默认值,请从
/model 命令作为一条独立消息发送:agents.defaults.models 添加。你可以通过 /model、/model list 或 /model status 列出可用模型。/model(以及 /model list)会显示一个紧凑的编号选择器。按编号选择:/model status 会显示当前处于活动状态的智能体、正在使用的 auth-profiles.json 文件,以及下一个将尝试的认证配置档案。
它还会在可用时显示已配置的 provider 端点(baseUrl)和 API 模式(api)。如何取消固定我用 @profile 设置的配置档案?重新运行 /model,不要带 @profile 后缀:/model 中选择它(或发送 /model <默认 provider/model>)。
使用 /model status 确认当前活动的认证配置档案。我可以日常任务用 GPT 5.5,编码时用 Codex 5.5 吗?
我可以日常任务用 GPT 5.5,编码时用 Codex 5.5 吗?
可以。设置其中一个为默认值,并在需要时切换:
- 快速切换(按会话): 对当前直接 OpenAI API key 任务使用
/model openai/gpt-5.5,或对 GPT-5.5 Codex OAuth 任务使用/model openai-codex/gpt-5.5。 - 默认值: 将
agents.defaults.model.primary设为openai/gpt-5.5用于 API key 用法,或设为openai-codex/gpt-5.5用于 GPT-5.5 Codex OAuth 用法。 - 子智能体: 将编码任务路由到使用不同默认模型的子智能体。
如何为 GPT 5.5 配置快速模式?
如何为 GPT 5.5 配置快速模式?
使用会话切换或配置默认值中的任意一种:对于 OpenAI,快速模式会在受支持的原生 Responses 请求上映射为
- 按会话: 当会话正在使用
openai/gpt-5.5或openai-codex/gpt-5.5时,发送/fast on。 - 按模型默认值: 将
agents.defaults.models["openai/gpt-5.5"].params.fastMode或agents.defaults.models["openai-codex/gpt-5.5"].params.fastMode设置为true。
service_tier = "priority"。会话级 /fast 覆盖优先于配置默认值。参见 Thinking and fast mode 和 OpenAI fast mode。为什么我会看到 “Model ... is not allowed”,然后没有回复?
为什么我会看到 “Model ... is not allowed”,然后没有回复?
如果设置了 这个错误会替代正常回复返回。修复方法:将该模型添加到
agents.defaults.models,它就会变成 /model 和任何
会话覆盖的 allowlist。选择一个不在该列表中的模型会返回:agents.defaults.models,移除 allowlist,或从 /model list 中选择一个模型。为什么我会看到 “Unknown model: minimax/MiniMax-M2.7”?
为什么我会看到 “Unknown model: minimax/MiniMax-M2.7”?
这意味着provider 未配置(未找到 MiniMax provider 配置或认证
配置档案),因此该模型无法解析。修复检查清单:
-
升级到当前的 OpenClaw 版本(或从源码
main运行),然后重启 Gateway 网关。 -
确保已配置 MiniMax(通过向导或 JSON),或环境变量/认证配置档案中存在
MiniMax 认证,以便注入匹配的 provider
(
minimax使用MINIMAX_API_KEY,minimax-portal使用MINIMAX_OAUTH_TOKEN或已存储的 MiniMax OAuth)。 -
针对你的认证路径使用精确模型 id(区分大小写):
API key 设置使用
minimax/MiniMax-M2.7或minimax/MiniMax-M2.7-highspeed, OAuth 设置使用minimax-portal/MiniMax-M2.7/minimax-portal/MiniMax-M2.7-highspeed。 -
运行:
并从列表中选择(或在聊天中使用
/model list)。
我可以把 MiniMax 设为默认值,把 OpenAI 用于复杂任务吗?
我可以把 MiniMax 设为默认值,把 OpenAI 用于复杂任务吗?
可以。将 MiniMax 设为默认值,并在需要时按会话切换模型。
后备仅用于错误,而不是“高难度任务”,因此请使用 然后:选项 B:分离智能体
/model 或单独的智能体。选项 A:按会话切换- 智能体 A 默认值:MiniMax
- 智能体 B 默认值:OpenAI
- 按智能体进行路由,或使用
/agent切换
opus / sonnet / gpt 是内置快捷方式吗?
opus / sonnet / gpt 是内置快捷方式吗?
是的。OpenClaw 附带了一些默认简写(仅当模型存在于
agents.defaults.models 中时才生效):opus→anthropic/claude-opus-4-6sonnet→anthropic/claude-sonnet-4-6gpt→ API key 设置中为openai/gpt-5.5,配置为 Codex OAuth 时为openai-codex/gpt-5.5gpt-mini→openai/gpt-5.4-minigpt-nano→openai/gpt-5.4-nanogemini→google/gemini-3.1-pro-previewgemini-flash→google/gemini-3-flash-previewgemini-flash-lite→google/gemini-3.1-flash-lite-preview
如何定义/覆盖模型快捷方式(别名)?
如何定义/覆盖模型快捷方式(别名)?
别名来自 然后
agents.defaults.models.<modelId>.alias。示例:/model sonnet(或在支持时使用 /<alias>)会解析到该模型 ID。如何添加来自其他 provider 的模型,例如 OpenRouter 或 Z.AI?
如何添加来自其他 provider 的模型,例如 OpenRouter 或 Z.AI?
OpenRouter(按 token 付费;模型很多):Z.AI(GLM 模型):如果你引用了某个 provider/model,但缺少所需的 provider key,你会得到运行时认证错误(例如 修复选项:
No API key found for provider "zai")。添加新智能体后出现 No API key found for provider这通常意味着新智能体有一个空的认证存储。认证是按智能体隔离的,
存储在:- 运行
openclaw agents add <id>并在向导中配置认证。 - 或者将主智能体
agentDir中的auth-profiles.json复制到新智能体的agentDir中。
agentDir;这会导致认证/会话冲突。模型故障转移和 “All models failed”
故障转移是如何工作的?
故障转移是如何工作的?
故障转移分为两个阶段:
- 同一 provider 内的认证配置档案轮换。
- 回退到
agents.defaults.model.fallbacks中的下一个模型,即模型后备。
429 响应。OpenClaw
也会将诸如 Too many concurrent requests、
ThrottlingException、concurrency limit reached、
workers_ai ... quota limit exceeded、resource exhausted,以及周期性
用量窗口限制(weekly/monthly limit reached)这样的消息视为值得故障转移的
速率限制。某些看起来像计费问题的响应并不是 402,而某些 HTTP 402
响应也仍会停留在那个瞬时错误桶中。如果 provider 在 401 或 403 上返回
明确的计费文本,OpenClaw 仍然可以将其保留在
计费通道中,但 provider 特定的文本匹配器仍然限定在拥有它们的
provider 范围内(例如 OpenRouter 的 Key limit exceeded)。如果某条 402
消息看起来更像可重试的用量窗口限制,或者
组织/工作区支出限制(daily limit reached, resets tomorrow、
organization spending limit exceeded),OpenClaw 会将其视为
rate_limit,而不是长期计费禁用。上下文溢出错误则不同:像
request_too_large、input exceeds the maximum number of tokens、
input token count exceeds the maximum number of input tokens、
input is too long for the model 或 ollama error: context length exceeded 这样的特征,会停留在压缩/重试路径上,而不是推进模型
后备。通用服务器错误文本的判断范围刻意比“任何带有
unknown/error 的内容”更窄。OpenClaw 确实会将 provider 范围内的瞬时错误形态视为
值得故障转移的超时/过载信号,例如 Anthropic 裸 An unknown error occurred、OpenRouter 裸
Provider returned error、停止原因错误如 Unhandled stop reason: error、带有瞬时服务器文本的 JSON api_error 载荷
(internal server error、unknown error, 520、upstream error、backend error),以及 provider 忙碌错误如 ModelNotReadyException,前提是匹配到对应的 provider 上下文。
通用内部后备文本如 LLM request failed with an unknown error. 会保持保守,不会仅凭自身触发模型后备。“No credentials found for profile anthropic:default” 是什么意思?
“No credentials found for profile anthropic:default” 是什么意思?
这表示系统尝试使用认证配置档案 ID
anthropic:default,但无法在预期的认证存储中找到与之对应的凭证。修复检查清单:- 确认认证配置档案存放位置(新路径与旧路径)
- 当前:
~/.openclaw/agents/<agentId>/agent/auth-profiles.json - 旧版:
~/.openclaw/agent/*(由openclaw doctor迁移)
- 当前:
- 确认你的环境变量已被 Gateway 网关加载
- 如果你在 shell 中设置了
ANTHROPIC_API_KEY,但通过 systemd/launchd 运行 Gateway 网关,它可能不会继承该变量。请将它放入~/.openclaw/.env,或启用env.shellEnv。
- 如果你在 shell 中设置了
- 确保你编辑的是正确的智能体
- 多智能体设置意味着可能存在多个
auth-profiles.json文件。
- 多智能体设置意味着可能存在多个
- 进行模型/认证状态完整性检查
- 使用
openclaw models status查看已配置模型,以及 provider 是否已认证。
- 使用
-
使用 Claude CLI
- 在网关主机上运行
openclaw models auth login --provider anthropic --method cli --set-default。
- 在网关主机上运行
-
如果你想改用 API key
-
在网关主机上的
~/.openclaw/.env中放入ANTHROPIC_API_KEY。 -
清除任何强制缺失配置档案的固定顺序:
-
在网关主机上的
-
确认你是在网关主机上运行命令
- 在远程模式下,认证配置档案存储在 Gateway 网关所在机器上,而不是你的笔记本电脑上。
为什么它还会尝试 Google Gemini 并失败?
为什么它还会尝试 Google Gemini 并失败?
如果你的模型配置将 Google Gemini 作为后备项(或你切换到了 Gemini 简写),OpenClaw 会在模型后备期间尝试它。如果你没有配置 Google 凭证,就会看到
No API key found for provider "google"。修复方法:要么提供 Google 认证,要么从 agents.defaults.model.fallbacks / 别名中移除或避免使用 Google 模型,这样后备就不会路由到那里。LLM request rejected: thinking signature required(Google Antigravity)原因:会话历史包含没有签名的 thinking 块(通常来自
中止/部分流式传输)。Google Antigravity 要求 thinking 块必须带签名。修复方法:OpenClaw 现在会为 Google Antigravity Claude 去除未签名的 thinking 块。如果问题仍然出现,请开启一个新会话,或为该智能体设置 /thinking off。认证配置档案:它们是什么以及如何管理
相关内容:/concepts/oauth(OAuth 流程、令牌存储、多账户模式)什么是认证配置档案?
什么是认证配置档案?
认证配置档案是一个绑定到 provider 的具名凭证记录(OAuth 或 API key)。配置档案存储在:
典型的配置档案 ID 是什么样的?
典型的配置档案 ID 是什么样的?
OpenClaw 使用带 provider 前缀的 ID,例如:
anthropic:default(没有邮箱身份时较常见)anthropic:<email>用于 OAuth 身份- 你自定义的 ID(例如
anthropic:work)
我可以控制优先尝试哪个认证配置档案吗?
我可以控制优先尝试哪个认证配置档案吗?
可以。配置支持配置档案的可选元数据,以及按 provider 划分的顺序(要指定某个特定智能体:要验证实际会尝试什么,请使用:如果某个已存储配置档案未包含在显式顺序中,probe 会对该配置档案报告
auth.order.<provider>)。这不会存储密钥;它只是将 ID 映射到 provider/模式,并设置轮换顺序。如果某个配置档案处于短期冷却(速率限制/超时/认证失败)或更长期的禁用状态(计费/额度不足),OpenClaw 可能会临时跳过它。要检查这一点,请运行 openclaw models status --json 并查看 auth.unusableProfiles。调优项:auth.cooldowns.billingBackoffHours*。速率限制冷却可以按模型划分作用域。某个配置档案
对一个模型处于冷却状态时,对于同一 provider 下的兄弟模型仍可能可用,
而计费/禁用窗口仍会阻止整个配置档案。你也可以通过 CLI 设置一个按智能体的顺序覆盖(存储在该智能体的 auth-state.json 中):excluded_by_auth_order,而不是悄悄尝试它。OAuth 和 API key 有什么区别?
OAuth 和 API key 有什么区别?
OpenClaw 两者都支持:
- OAuth 通常会利用订阅访问权限(在适用情况下)。
- API key 使用按 token 计费。