openclaw models¶
模型发现、扫描和配置(默认模型、回退、身份验证配置)。
相关:
常用命令¶
openclaw models --json
openclaw models status
openclaw models list
openclaw models refresh
openclaw models set <model-or-alias>
openclaw models set-image <model-or-alias>
openclaw models scan
status、list 和 auth 子命令接受 --agent <id> 以指定已配置的 agent。未指定时,模型检查在已配置的情况下使用 agents.defaults.systemAgent.agentId,否则使用唯一已配置的 agent。当配置了多个 agent 时,身份验证变更要求提供 --agent <id>。
对于 models status,当省略 --agent 时,OPENCLAW_AGENT_DIR 会覆盖被检查的身份验证目录。匹配的已配置 agentDir 会在凭据刷新期间保留该 agent 的所有权。显式的 --agent <id> 优先于环境变量覆盖。
fallbacks/image-fallbacks 管理全局默认值。set、set-image、scan、refresh 和 aliases 也在全局范围内操作,并拒绝 --agent。
models set 和 models set-image 要求 provider 由已安装插件声明,或配置在 models.providers 下。未知 provider 会以非零状态退出且不更改配置。如果 provider 已知但模型不在本地目录中,命令会保存选择并打印警告,因为新发布和自托管模型可能尚未编入目录。使用 openclaw config set 写入 agents.defaults.model 比 models set 更严格:它会拒绝无法解析的模型引用,而不是发出警告。该检查仅针对文本模型;config set 完全不验证 agents.defaults.imageModel,因此它不是 set-image 设置的更严格路径。openclaw doctor --json 会报告已配置的未知 provider;添加 --severity-min info 还可以查看本地目录无法确认的活跃模型。
默认模型、别名和回退更改会使用当前插件配置解析 provider 拥有的模型别名。当已存储条目解析到所选模型时,它们的设置会移动到其规范键;现有规范设置优先。添加别名会替换该模型之前的别名。如果配置在该准备期间发生变化,命令会拒绝写入;请针对更新后的配置重新运行。
状态¶
单独的 openclaw models 等同于 openclaw models status。
openclaw models --json 返回与 openclaw models status --json 相同的对象。
openclaw models status 显示已解析的默认/回退以及身份验证概览。处于冷却期的活跃配置会显示在 不可用的身份验证配置 下,并附带存储的原因和恢复操作;JSON 输出在 auth.unusableProfiles 中公开相同数据。对于由插件拥有的 agent 运行时(例如 Codex),状态还会检查拥有该运行时的插件是否已启用并通过启动负载验证。具有有效凭据但运行时不可用的路由会报告 status: unavailable 而不是 usable;JSON 输出包含独立的 authStatus、runtimeStatus 和有界运行时诊断。当 provider 使用量快照可用时,OAuth/API 密钥状态部分会包含 provider 使用窗口和配额快照。当前支持使用窗口的 provider:Anthropic、GitHub Copilot、OpenAI、MiniMax、通过 xAI OAuth 的 SuperGrok、Xiaomi 和 z.ai。使用量身份验证在可用时来自 provider 特定的钩子;否则 OpenClaw 会回退到从身份验证配置、环境变量或配置中匹配的 OAuth/API 密钥凭据。
诊断某个 agent 的选择时,请使用显式 agent:
openclaw models list --agent <agentId>
openclaw models status --agent <agentId>
openclaw models status --agent <agentId> --json --check
列表显示模型清单。状态说明已配置的默认值、回退值以及它们路由的身份验证。它不会检查聊天会话的模型覆盖;请在该会话中使用 /model status。
对于具有 runtime.type: "acp" 的 agent,状态和身份验证探针会检查原生默认值和原生回退策略。该 agent 的 model.primary 用于选择其 ACP 框架,并且不是原生探针候选项。请使用 ACP 会话控制来检查或更改外部框架模型。
正确读取状态¶
这些部分回答不同的问题:
| 输出 | 含义 |
|---|---|
身份验证概览 / auth.providers |
在环境变量、provider 配置或身份验证存储中找到的凭据来源。 |
OAuth/token 状态 / auth.oauth |
已存储配置的健康状态和过期时间。JSON 对象还包括 API 密钥配置。 |
模型路由问题 / auth.modelRouteIssues |
不兼容的路由、缺少路由凭据,或无法确认的就绪状态。 |
运行时身份验证 / auth.runtimeAuthRoutes |
使用独立 agent 运行的路由的身份验证和运行时可用性。 |
已存储的配置或 static 健康条目并不能证明其凭据现在可用。例如,已存储的 file 或 exec SecretRef(指向密钥的引用)可能出现在概览中,而其路由仍保持 indeterminate。这意味着在此命令路径中无法确认就绪状态;这并不意味着 provider 拒绝了该凭据。在替换凭据之前,请检查路由诊断和已配置的密钥来源。
不带 --probe 的状态不是模型调用测试。它仍然可以解析目标配置密钥并检查 provider 拥有的身份验证状态。只有在你打算执行下面描述的实时请求时,才使用 --probe。
使用 --check 时,退出码为:
0:未发现已配置路由的认证或运行时问题,且没有所选凭据即将过期。这并不能证明模型请求会成功。1:路由存在缺少或过期的认证、不兼容的路由、不可用的运行时,或就绪状态不确定。2:所选凭据即将过期,且不存在要求退出码1的条件。
命令失败(例如无法解析必需的配置机密)也会以非零状态退出。在 JSON 模式下,这些情况可能返回命令错误而不是状态对象;请同时检查进程退出码和输出。
非机密占位符可能以 marker(<value>) 形式出现,例如 secretref-managed 或环境变量名。这些标签描述凭据来源;它们不是已解析的机密。
选项:
| 标志 | 效果 |
|---|---|
--json |
JSON 输出;认证配置、提供商和启动诊断信息会写入 stderr,以便 stdout 仍可管道到 jq。 |
--plain |
纯文本输出。 |
--check |
返回上述认证/运行时检查退出码,包括就绪状态不确定时的 1。 |
--probe |
对已配置的认证配置进行实时探测。会发出真实请求;可能消耗 Token 并触发速率限制。 |
--probe-provider <name> |
仅探测一个提供商。 |
--probe-profile <id> |
探测特定的认证配置 ID(可重复或逗号分隔)。 |
--probe-timeout <ms> |
每次探测的超时时间。 |
--probe-concurrency <n> |
并发探测。 |
--probe-max-tokens <n> |
探测最大 Token 数(尽力而为)。 |
--agent <id> |
已配置的 agent ID;覆盖 OPENCLAW_AGENT_DIR。 |
--probe-timeout 需要正数;--probe-concurrency 和 --probe-max-tokens 需要正整数。省略这些选项将使用默认值(分别为 8000、2 和 8);显式空值会被拒绝。
探测行可能来自认证配置、环境变量凭据或 models.json。探测状态类别:ok、auth、rate_limit、billing、timeout、format、unknown、no_model。
直接运行 models status --probe 会在所选 agent 的规范数据库中创建临时内部会话,因此该命令要求独占拥有已配置的状态目录。探测前请使用 openclaw gateway stop 停止正在运行的 Gateway。探测结果可能在缓慢的清理完成之前报告。临时认证目录、内部会话和状态锁会保持持有,直到已接受的工作和清理完成,包括中断之后。清理失败会被报告;超时并不证明资源已关闭。
当探测从未到达模型调用时,可能出现的探测详情/原因代码:
excluded_by_auth_order:存在已存储的配置,但显式auth.order.<provider>将其省略,因此探测会报告排除而不是尝试它。missing_credential、invalid_expires、expired、unresolved_ref:配置存在但不符合条件或无法解析。ineligible_profile:配置因其他原因与提供商配置不兼容。no_model:提供商认证存在,但 OpenClaw 无法为该提供商解析可探测的模型候选项。
对于 OpenAI ChatGPT/Codex OAuth 故障排查,openclaw models status、openclaw models auth list --provider openai 和 openclaw config get agents.defaults.model --json 是确认 agent 是否通过原生 Codex 运行时拥有可用于 openai/* 的 openai OAuth 配置的最快方式。参见 OpenAI 提供商设置。
列表¶
openclaw models list 返回已发布的模型清单,而不会等待提供商发现或重写 models.json。这也适用于 --all 和 --provider <id>。由 Gateway 支持的请求可以在后台更新过期的清单,如下所述。
openclaw models list --agent <agentId>
openclaw models list --agent <agentId> --provider <providerId> --json
openclaw models list --agent <agentId> --refresh
当本地 Gateway 正在运行,或通过配置或环境选择了远程 Gateway 时,该命令会读取该 Gateway 的目录。--agent 选择该 Gateway 上的一个 agent。提供商过滤、模型可见性和可用性使用 Gateway 捕获的配置和认证事实。该命令不会为该请求解析本地模型提供商机密。
当提供商的已保存清单过期时,清单请求会返回已保存的行,同时 Gateway 在后台刷新该提供商。内部聊天和会话元数据读取不会安排发现。稍后的清单请求会显示新发布的模型。刷新失败会保留已保存的行;使用 --refresh 重试。聊天模型菜单、Control UI 和 models list 会显示目录的刷新警告。CLI 将警告写入 stderr,使 JSON 和纯文本 stdout 保持机器可读。
拒绝认证的提供商会保持其登录状态,而不会触发目录刷新警告。对于已安装的 agent 应用,请在 Control UI 中打开 Models,并按照其登录指引操作。超时和其他发现失败仍会产生刷新警告,即使另一个提供商需要登录。
所选 Gateway 必须通告 published-model-catalog。如果没有,请更新或重启它,然后重试。连接、授权和能力错误会直接报告;它们不会使命令切换到另一个本地列表。
在没有运行中的本地 Gateway 或显式 Gateway 目标时,该命令会标识出它正在显示本地缓存目录。此回退可以准备已配置和静态事实,并解析其已配置的认证,但只有在提供 --refresh 时才会启动模型发现。
使用 --refresh 在列出之前获取提供商清单。刷新失败时,会发出警告,同时显示可用的已发布行。成功但为空的获取会保持为空;它不会恢复旧的已发现行。如果发布方未就绪,请在 Gateway 启动或当前刷新完成后重试。
选项:--all(完整已发布目录)、--refresh(提供商发现)、--local(本地端点)、--provider <id>、--agent <id>、--json 和 --plain。提供商筛选会读取该提供商的完整已发布清单,因此不需要 --all。
说明:
Auth列使用已准备的凭据和运行时证据。单独的 API 密钥不能证明原生 CLI 登录。未知就绪状态保持未知,目录元数据不能证明模型请求会成功。参见 正确读取状态。- 位于插件声明的原生端点之外的提供商级
models.providers.<id>.baseUrl会排除其隐式目录行,包括缓存的发现。将你的代理支持的模型添加到models.providers.<id>.models;显式编写的行、名称、默认值和别名保持不变。仅模型级 URL 覆盖不会排除提供商目录。 - 静态目录行可以在未认证时保持可见。列出它们不会授予选择受限模型或更改
modelPolicy.allow的权限。 - 在合并模式下,刷新生成的目录会保留手动根模型,包括其提供商也具有生成目录的模型。显式替换模式保持其现有替换行为。
- 对于仅在需要时加载的插件(
activation.onStartup: false),缓存目录中的合格提供商需要在目录贡献隐式行之前具备当前配置文件、环境或提供商配置中的认证。仅保留在生成目录内部的凭据不符合条件。显式模型声明保持可见。 Ctx在运行时上限与原生上下文窗口不同时显示contextTokens/contextWindow。提供时,JSON 会保留contextTokens。Input和Ctx使用所选物理路由加上显式配置的逻辑覆盖。未解析的路由元数据保持未知,而不是借用另一条路由的能力。- 已配置的模型 ID 保留大小写。例如,
Reader和reader仍然不同。提供商拥有的别名仍然适用,已配置的别名保留在表格标签和 JSON 输出中。 --provider接受提供商 ID,例如moonshot,而不是选择器标签,例如Moonshot AI。- 未知提供商 ID 会以非零退出码失败,并指明被拒绝的提供商。运行
openclaw models list --all以列出模型及其提供商 ID。 - 模型引用按第一个
/拆分。当模型 ID 包含/时,请包含提供商前缀,例如openrouter/moonshotai/kimi-k2。
通过 models list --refresh 进行的提供商发现与 models refresh 执行的托管元数据下载是分开的,后者将在下文描述。有关线路控制,参见 Gateway 目录请求。
刷新托管目录¶
openclaw models refresh [--json] 检查托管元数据目录。它不会登录提供商、测试凭据,也不会在运行中的 Gateway 中激活已下载的行。由于托管目录是全局的,它会拒绝 --agent。
重启 Gateway 以使用已下载的更新。当已检查的目录需要重启时,Gateway 会报告,包括由另一进程下载的更新。成功的刷新结果描述的是下载,而不是实时激活。如果 models.catalogRefresh.enabled 为 false,命令会报告刷新已禁用。
有关更新生命周期,参见 托管目录更新。公开变更历史位于 openclaw/catalog。
设置默认 / 图像模型¶
set 写入 agents.defaults.model.primary;set-image 写入 agents.defaults.imageModel.primary。两者都接受 provider/model 或已配置的别名。当新选择的模型需要时,set 还会修复 Codex/Copilot 运行时插件安装;set-image 不会。这两个命令都不接受 --agent;它们始终写入代理默认值。
如果在选择模型时省略提供商,OpenClaw 会先尝试已配置的别名,然后尝试针对该确切模型 ID 的唯一已配置提供商匹配,最后尝试已配置的默认提供商并发出弃用警告。如果该提供商不再公开已配置的默认值,则使用第一个已配置的 provider/model。
扫描¶
models scan 读取 OpenRouter 的公开 :free 目录,并为回退使用对候选项进行排名。目录本身是公开的,因此仅元数据扫描不需要 OpenRouter 密钥。
默认情况下,OpenClaw 会尝试通过实时模型调用探测工具支持和图像支持。如果未配置 OpenRouter 密钥,命令会回退到仅元数据输出,并说明 :free 模型对于探测和推理仍然需要 OPENROUTER_API_KEY。
选项:
--no-probe(仅元数据;不查找配置/密钥)--min-params <b>--max-age-days <days>--provider <name>--max-candidates <n>--timeout <ms>(目录请求和每次探测超时)--concurrency <n>--yes--no-input--set-default--set-image--json
数值型扫描选项会拒绝空值和仅含空白的值。省略某个标志(flag)以保留其默认行为。
--set-default 和 --set-image 需要实时探测(live probes);仅元数据扫描的结果仅供参考,不会应用到配置中。
别名¶
openclaw models aliases list [--json] [--plain]
openclaw models aliases add <alias> <model-or-alias>
openclaw models aliases remove <alias>
别名按模型条目存储为 agents.defaults.models.<key>.alias。add 会先将 <model-or-alias> 解析为规范的 provider/model 键,因此为别名再设别名会重新指向该别名,而不是形成链式引用。
添加别名不会更改 agents.defaults.modelPolicy.allow,也不会限制模型覆盖(override)。
回退(Fallbacks)¶
openclaw models fallbacks list [--json] [--plain]
openclaw models fallbacks add <model-or-alias>
openclaw models fallbacks remove <model-or-alias>
openclaw models fallbacks clear
管理 agents.defaults.model.fallbacks。openclaw models image-fallbacks list|add|remove|clear 以相同的子命令结构管理并行的 agents.defaults.imageModel.fallbacks 列表。
个人模型账户¶
在所选网关上使用 models accounts 来管理由你已登录身份所拥有的账户。CLI 与设置 → 个人资料 → 已连接账户使用相同的网关账户存储,即使服务器是共享的也是如此。
| 范围 | 命令 | 凭据所属位置 |
|---|---|---|
| 个人 | models accounts login [provider] |
你在所选网关上经过验证的个人资料,该网关可能是远程的。 |
| 系统 / 代理 | models auth login --provider <id> [--agent <id>] |
运行命令的机器上的 OpenClaw 安装。 |
要为远程服务器配置系统/代理凭据,请在该服务器上使用其 OpenClaw 状态/配置运行 models auth。在你的笔记本电脑上配置远程网关 URL 并不会让 models auth 写入服务器。
openclaw models accounts list
openclaw models accounts login
openclaw models accounts login anthropic --method api-key
openclaw models accounts login openai --method device-code
openclaw models accounts login xai --method api-key
openclaw models accounts use <account-id>
openclaw models accounts clear-default <provider>
每个账户命令在访问账户或询问 provider 凭据之前,都会显示网关、身份和范围:个人。此上下文信息输出到 stderr,因此 --json 输出仍然可以管道传输。此身份是网关上保存的经过验证的个人资料,而不是你的操作系统用户名或未保存的显示名称编辑。
网关访问和 provider 登录是分开的。账户归属遵循网关在此连接上分配的个人资料。单用户 Control UI 连接可以使用持久的所有者(Owner)个人资料,但短期的 CLI 连接不会自动分配该个人资料。因此,个人账户 CLI 需要一个带有身份标识的端点,即使本地 Control UI 已显示所有者。
对于共享服务器上的不同人员,请使用其带有身份标识的 WebSocket 端点,例如 Tailscale Serve 或 可信代理。如有要求,请单独批准设备配对:配对授予的是设备访问权限,而非某个独立人员的身份。提供共享网关令牌/密码凭据会优先于 Tailscale 身份认证。浏览器登录不会将其身份转移给 CLI。如需身份感知边缘,请遵循远程边缘认证。
如果未识别到任何身份,命令会在 provider 登录之前停止,并说明如何使用带有身份标识的端点。它不会推断所有权,也不会更改网关认证。这些命令不接受 --agent 或 owner id,也不会修改本地共享认证存储或模型配置。顶层 openclaw connect 命令用于注册节点;它不是个人账户登录。
list 需要 operator.read 权限,并返回一页最多 50 个已保存账户:id、provider、友好标签、认证类型,以及每个账户是否为新会话默认。它永远不会返回凭据。使用 --json 获取结构化输出,使用 list --cursor <nextCursor> 获取下一页。
login、use 和 clear-default 需要 operator.write 权限。login 需要交互式终端,并提供与 Control UI 中添加账户相同的 provider 和登录方法。省略 provider 可从网关的目录中选择;使用 --method <id> 直接选择方法。目录仅包含其 provider 插件为个人账户启用的方法,而非所有系统/代理设置方法。
Anthropic 使用 API 密钥进行个人设置,而不是 Claude 订阅令牌。OpenAI 提供 API 密钥、浏览器登录和设备代码方法;Grok(xai)提供 API 密钥和设备登录。请遵循所选网关显示的步骤。凭据和授权码会输入到受保护的输入中,绝不会出现在命令参数或聊天中。在浏览器登录期间,即使重定向提示处于打开状态,CLI 也会持续检查是否完成。
请保持命令运行,直到其报告最终结果。Ctrl-C 会取消该次确切的登录尝试,并等待网关确认;连接关闭时必须重新开始新的尝试。保存账户本身并不能证明模型请求会成功。
use 选择已保存的账户用于新会话,无需再次登录。clear-default 仅移除该 provider 的个人默认设置:它会保留已保存的凭据和现有的会话选择。这两个操作都不会撤销 provider 访问权限。有关协作者、分支和故障转移行为,请参阅按人员划分的模型账户。
所有 account 子命令都接受 --url <url>、--port <port>、--token-file <path>、--password-file <path>、--timeout <ms>(默认 30000)以及 --json。token/密码文件用于对 Gateway 进行身份验证,而不是对 provider 进行身份验证,也不会为当前 CLI 建立个人身份。显式指定的 --url 可以使用携带身份信息的端点,而无需提供共享 token。它不会将环境或已配置的共享凭据发送到覆盖配置;已配置的边缘凭据仍绑定到其自身端点。标志可以位于叶子命令之前或之后:
openclaw models accounts --timeout 45000 list --json
openclaw models accounts list --timeout 45000 --json
身份验证配置文件¶
这些命令管理 系统 / 代理 凭据,而不是个人 Gateway 账户。在 provider 登录之前,models auth login 会显示所选代理,并说明它正在运行 OpenClaw 的机器上操作。
在 models auth 命令修改本地身份验证存储之前,OpenClaw 会将所选 CLI 状态/配置路径与本地 Gateway 或其已安装服务进行比较。已证实的不匹配会在写入前停止。对于远程 Gateway 或无法验证的已认证路径,则会生成警告。
openclaw models auth add
openclaw models auth list [--provider <id>] [--json]
openclaw models auth login --provider <id> [--agent <agentId>]
openclaw models auth login --provider openai --profile-id openai:work
openclaw models auth login-github-copilot
openclaw models auth activate <profileId> [--agent <id>]
openclaw models auth logout <profileId> [--yes]
openclaw models auth paste-api-key --provider <id>
openclaw models auth setup-token --provider <id>
openclaw models auth paste-token --provider <id>
openclaw models auth order get --provider <id>
openclaw models auth order set --provider <id> <profileIds...>
openclaw models auth order clear --provider <id>
models auth add 是交互式身份验证助手。根据你选择的 provider,它可以启动 provider 身份验证流程(OAuth/API 密钥),或引导你手动粘贴 token。
models auth list 会列出所选代理已保存的身份验证配置文件,而不会打印 token、API 密钥或 OAuth 机密材料。处于活动冷却期和禁用状态的条目会包含其原因和恢复操作。旧版 Gemini CLI OAuth 冷却期会引导你使用受支持的 Google AI Studio API 密钥设置,而不是提供不可用的 Gemini CLI 登录流程。使用 --provider <id> 可筛选到某个 provider,例如 openai,使用 --json 可用于脚本。
models auth login 会运行 provider 插件的身份验证流程(OAuth/API 密钥)。使用 openclaw plugins list 可查看已安装哪些 provider。login 接受 --profile-id <id>,用于支持在登录期间使用命名配置文件的 provider(使用此选项可将同一 provider 的多个登录保持独立)、--method <id> 用于选择特定身份验证方法、--device-code 作为 --method device-code 的快捷方式、--set-default 用于应用 provider 推荐的默认模型,以及 --force 用于先删除该 provider 的现有配置文件(当缓存的 OAuth 配置文件卡住或你想切换账户时使用)。
凭据保存后,现有的模型限制可能会提示 显示所有 <Provider> 模型 或 保留当前限制。只有第一个选项会将该 provider 的通配符添加到当前限制中。无论选择哪种,凭据都会保持已保存状态。CLI、私密聊天登录和 Control UI 使用相同的选择。当 provider 已不受限制时,不会出现提示。如果登录期间限制发生变化,OpenClaw 会保留较新的设置,并要求你再次选择模型访问权限。
CLI 会将已保存的模型访问权限与已确认的 Gateway 应用分开报告。如果未确认应用,请运行 openclaw gateway restart,将已保存的策略应用到正在运行的 Gateway。当自动配置重载被禁用时,这是必需的。
如果不使用 --set-default,登录会保留当前默认值(包括未设置的默认值),并保留登录运行期间所做的无关配置编辑。如果凭据已保存但无法应用 provider 设置,错误会单独报告已保存的凭据。身份验证更改会请求正在运行的本地 Gateway 刷新;刷新失败不会撤销已保存的更改,并且命令会报告如何应用它。
对于较旧的 Gateway,CLI 会尝试其旧版身份验证状态刷新。这无法确认已保存的更改已生效;请遵循重启指南。此回退机制适用于身份验证更改,而不适用于 models list。
对于 shared-main 代理,--force 会清除 provider 的共享凭据和主代理本地覆盖,包括它们的顺序和健康状态。对于其他代理,它只清除该代理的本地配置文件,共享凭据保持不变。繁忙的身份验证存储会在登录开始前停止命令;请关闭使用相同状态目录的其他 OpenClaw 命令并重试。SQLite 锁诊断可能指向共享状态数据库或代理数据库,因此仅检查旧版身份验证文件中的打开句柄并不能排除争用。
models auth activate <profileId> 会测试已保存的登录,并为所选代理选择其已验证的模型和账户。请使用无人值守替换设置后打印的准确命令,或使用 models auth list --json 查找已保存的 id。此命令会在没有进一步提示的情况下确认激活;测试失败会保持当前连接不变。
models auth logout <profileId> 会从所选代理的身份验证存储中删除一个已保存的身份验证配置文件。请使用 models auth list 显示的配置文件 id。它还会从配置中的 auth.profiles 和每个 auth.order 列表中移除该配置文件,因此不会留下过期引用,并且会删除一个否则会被清空的 auth.order.<provider> 条目(手动编写的空 order 表示“不选择任何配置文件”,并且会禁用该 provider)。在 TTY 上会提示确认;对于脚本和代理,请传递 --yes。在删除凭据之前,会清除 provider 密钥引用。模型默认值和连接设置保持不变。当配置文件不在存储中时,logout 会拒绝执行。
models auth login-github-copilot 是 models auth login --provider github-copilot --method device(GitHub 设备流程)的快捷方式;它接受 --yes 以覆盖现有配置文件而不提示。
使用 openclaw models auth --agent <id> <subcommand> 或 openclaw models auth <subcommand> --agent <id> 来针对特定的已配置代理存储。add、list、login、activate、logout、paste-api-key、setup-token、paste-token、login-github-copilot 以及 order get/set/clear 均支持这两种形式。
对于 OpenAI 模型,--provider openai 默认使用 ChatGPT/Codex 账户登录。仅当你要添加 OpenAI API 密钥配置文件时,才使用 --method api-key,通常作为 Codex 订阅限制的备用。运行 openclaw doctor --fix 可将旧版遗留 OpenAI Codex 前缀认证/配置文件状态迁移到 openai。
参阅 OpenAI 认证 以比较 Codex
OAuth、设备代码、API 密钥以及 Sign in with ChatGPT(Beta)(--method siwc),
包括模型访问、托管插件,以及共享与个人设置。
示例:
openclaw models auth login --provider openai --set-default
openclaw models auth login --provider openai --method api-key
openclaw models auth paste-api-key --provider openai
openclaw models auth list --provider openai
openclaw models auth logout openai:manual --yes
说明:
paste-api-key接受在其他地方生成的 API 密钥,提示输入密钥值,并使用与 Models 页面相同的凭据写入器。它会更新已配置的配置文件或当前已保存的密钥,或在两者都不存在时创建<provider>:manual。使用--profile-id可更新命名配置文件或添加备用,而不更改当前提供商连接。已配置的提供商存储配置文件引用,而密钥材料保留在 auth 存储中。保存的更改会报告任何 Gateway 刷新失败,并附带恢复步骤。在自动化中,通过 stdin 管道传入密钥,例如printf "%s\n" "$OPENAI_API_KEY" | openclaw models auth paste-api-key --provider openai。setup-token和paste-token仍然是面向暴露令牌认证方法的提供商的通用令牌命令。setup-token需要交互式 TTY,并运行提供商的令牌认证方法(如果该提供商暴露了setup-token方法,则默认使用该方法)。paste-token需要--provider,默认提示输入令牌值,并写入默认配置文件 ID<provider>:manual,除非你传入--profile-id。在自动化中,请通过 stdin 管道传入令牌,而不是将其作为参数传递,以免提供商凭据出现在 shell 历史记录或进程列表中。paste-token --expires-in <duration>根据相对时长(例如365d或12h)存储绝对令牌过期时间。- 对于
openai,OpenAI API 密钥与 ChatGPT/OAuth 令牌材料是不同的认证形态。对sk-...OpenAI API 密钥使用paste-api-key,仅对令牌认证材料使用paste-token。 - Anthropic:
setup-token/paste-token是anthropic支持的 OpenClaw 认证路径,但当主机上可用时,OpenClaw 更倾向于复用 Claude CLI(claude -p)。 auth order get/set/clear管理 SQLite auth 存储中针对单个提供商的按代理认证配置文件顺序覆盖,独立于auth.order.<provider>配置键。set按优先级顺序接受一个或多个配置文件 ID。存储的顺序在配置文件选择和 CLI 运行时路由中优先于配置;clear回退到配置/轮询顺序。
相关¶
- CLI 参考
- 模型选择
- 模型故障转移
openclaw promos— 列出并领取促销模型优惠
本页原文 Markdown:在 AtomGit 查看·内容源自开源项目 cl/openclaw