Models CLI

Models CLI

参见 /concepts/model-failover 了解认证配置文件轮换、冷却以及它如何与回退交互。 快速提供者概述 + 示例:/concepts/model-providers

模型选择如何工作

OpenClaw 按此顺序选择模型:

  1. 模型(agents.defaults.model.primaryagents.defaults.model)。
  2. agents.defaults.model.fallbacks 中的回退(按顺序)。
  3. 提供者认证故障转移在移动到下一个模型之前在提供者内发生。

相关:

  • agents.defaults.models 是 OpenClaw 可以使用的模型的允许列表/目录(加上别名)。
  • agents.defaults.imageModel 仅当主模型不能接受图像时使用。
  • 每 agent 默认值可以通过 agents.list[].model 加上绑定覆盖 agents.defaults.model(参见 /concepts/multi-agent)。

快速模型策略

  • 将主模型设置为你可用的最强最新一代模型。
  • 对成本/延迟敏感任务和低风险聊天使用回退。
  • 对于启用工具的 agent 或不受信任的输入,避免较旧/较弱的模型层。

设置向导(推荐)

如果你不想手动编辑配置,运行 onboarding 向导:

openclaw onboard

它可以为常见提供者设置模型 + 认证,包括OpenAI Code (Codex) 订阅(OAuth)和Anthropic(API 密钥或 claude setup-token)。

配置键(概述)

  • agents.defaults.model.primaryagents.defaults.model.fallbacks
  • agents.defaults.imageModel.primaryagents.defaults.imageModel.fallbacks
  • agents.defaults.models(允许列表 + 别名 + 提供者参数)
  • models.providers(写入 models.json 的自定义提供者)

模型引用规范化为小写。提供者别名如 z.ai/* 规范化为 zai/*

提供者配置示例(包括 OpenCode Zen)存在于 /gateway/configuration

"模型不允许"(以及为什么回复停止)

如果设置了 agents.defaults.models,它成为 /model 和会话覆盖的允许列表。当用户选择不在此允许列表中的模型时,OpenClaw 返回:

Model "provider/model" is not allowed. Use /model to list available models.

这在正常回复生成之前发生,因此消息可能感觉像"没有响应"。修复方法是:

  • 将模型添加到 agents.defaults.models,或
  • 清除允许列表(删除 agents.defaults.models),或
  • /model list 选择模型。

示例允许列表配置:

{
  agent: {
    model: { primary: "anthropic/claude-sonnet-4-5" },
    models: {
      "anthropic/claude-sonnet-4-5": { alias: "Sonnet" },
      "anthropic/claude-opus-4-6": { alias: "Opus" },
    },
  },
}

在聊天中切换模型(/model

你可以为当前会话切换模型而无需重启:

/model
/model list
/model 3
/model openai/gpt-5.2
/model status

注意:

  • /model(和 /model list)是紧凑的、编号的选择器(模型系列 + 可用提供者)。
  • 在 Discord 上,/model/models 打开带有提供者和模型下拉菜单以及提交步骤的交互式选择器。
  • /model <#> 从该选择器中选择。
  • /model status 是详细视图(认证候选者,配置时提供者端点 baseUrl + api 模式)。
  • 模型引用通过在第一个 / 上分割解析。输入 /model <ref> 时使用 provider/model
  • 如果模型 ID 本身包含 /(OpenRouter 风格),你必须包含提供者前缀(例如:/model openrouter/moonshotai/kimi-k2)。
  • 如果省略提供者,OpenClaw 将输入视为别名或默认提供者的模型(仅当模型 ID 中没有 / 时有效)。

完整命令行为/配置:Slash commands

CLI 命令

openclaw models list
openclaw models status
openclaw models set <provider/model>
openclaw models set-image <provider/model>

openclaw models aliases list
openclaw models aliases add <alias> <provider/model>
openclaw models aliases remove <alias>

openclaw models fallbacks list
openclaw models fallbacks add <provider/model>
openclaw models fallbacks remove <provider/model>
openclaw models fallbacks clear

openclaw models image-fallbacks list
openclaw models image-fallbacks add <provider/model>
openclaw models image-fallbacks remove <provider/model>
openclaw models image-fallbacks clear

openclaw models(无子命令)是 models status 的快捷方式。

models list

默认显示配置的模型。有用的标志:

  • --all:完整目录
  • --local:仅本地提供者
  • --provider <name>:按提供者过滤
  • --plain:每行一个模型
  • --json:机器可读输出

models status

显示解析的主模型、回退、图像模型和配置提供者的认证概述。它还显示认证存储中找到的配置文件的 OAuth 到期状态(默认 24 小时内警告)。--plain 仅打印解析的主模型。 OAuth 状态始终显示(并包含在 --json 输出中)。如果配置的提供者没有凭据,models status 打印Missing auth部分。 JSON 包括 auth.oauth(警告窗口 + 配置文件)和 auth.providers(每个提供者的有效认证)。 使用 --check 进行自动化(缺少/到期时退出 1,即将到期时退出 2)。

认证选择取决于提供者/账户。对于常开 gateway 主机,API 密钥通常是最可预测的;订阅令牌流程也支持。

示例(Anthropic setup-token):

claude setup-token
openclaw models status

扫描(OpenRouter 免费模型)

openclaw models scan 检查 OpenRouter 的免费模型目录,并可以选择探测模型的工具和图像支持。

关键标志:

  • --no-probe:跳过实时探测(仅元数据)
  • --min-params <b>:最小参数大小(十亿)
  • --max-age-days <days>:跳过较旧的模型
  • --provider <name>:提供者前缀过滤器
  • --max-candidates <n>:回退列表大小
  • --set-default:将 agents.defaults.model.primary 设置为第一个选择
  • --set-image:将 agents.defaults.imageModel.primary 设置为第一个图像选择

探测需要 OpenRouter API 密钥(来自认证配置文件或 OPENROUTER_API_KEY)。没有密钥时,使用 --no-probe 仅列出候选者。

扫描结果排名依据:

  1. 图像支持
  2. 工具延迟
  3. 上下文大小
  4. 参数计数

输入

  • OpenRouter /models 列表(过滤 :free
  • 需要来自认证配置文件或 OPENROUTER_API_KEY 的 OpenRouter API 密钥(参见 /environment
  • 可选过滤器:--max-age-days--min-params--provider--max-candidates
  • 探测控制:--timeout--concurrency

在 TTY 中运行时,你可以交互式选择回退。在非交互式模式下,传递 --yes 接受默认值。

Models registry(models.json

models.providers 中的自定义提供者写入 agent 目录下的 models.json(默认 ~/.openclaw/agents/<agentId>/models.json)。除非设置 models.modereplace,否则此文件默认合并。

匹配提供者 ID 的合并模式优先级:

  • 代理 models.json 中已存在的非空 apiKey/baseUrl 获胜。
  • 空或缺失的代理 apiKey/baseUrl 回退到配置 models.providers
  • 其他提供