Appearance
本页介绍 OpenClaw 的 OAuth 实现:Token sink 机制防止多客户端登出冲突,per-agent Auth Profile 存储,OpenAI Codex PKCE 授权流程,以及 Anthropic 2026-04-04 Extra Usage 计费政策。覆盖多账号 Profile 路由两种方案。
OAuth
OpenClaw 对部分 provider 支持"订阅式 Auth"(OAuth)。当前重点:
- OpenAI Codex(ChatGPT OAuth):明确支持在 OpenClaw 等外部工具中使用
- Anthropic:Anthropic 于 2026年4月4日 PT 12:00(北京时间 4月5日 03:00) 通知 OpenClaw 用户,OpenClaw 属于第三方工具,通过 Claude 账号登录需要额外的 Extra Usage 计费(与订阅独立计费)
Anthropic 生产环境推荐使用 API Key,更简单、无 Extra Usage 争议。
Token Sink(为什么需要它)
OAuth provider 通常在登录/刷新时签发新的 refresh token,部分 provider 会在新 token 签发时使旧 token 失效。
典型症状:你同时在 OpenClaw 和 Claude Code / Codex CLI 登录同一账号 → 其中一个随机"被登出"。
OpenClaw 通过将 auth-profiles.json 作为 token sink 解决这个问题:
- 运行时只从一个地方读取凭据
- 可以管理多个 profile 并确定性路由
- 复用外部 CLI(如 Codex CLI)的凭据时,OpenClaw 只镜像,不消耗 refresh token
Token 存储位置
密钥按 per-agent 存储:
- 主存储:
~/.openclaw/agents/<agentId>/agent/auth-profiles.json - 旧兼容文件:
~/.openclaw/agents/<agentId>/agent/auth.json - 遗留 import 文件:
~/.openclaw/credentials/oauth.json(首次使用时导入到 auth-profiles.json)
Anthropic Extra Usage 说明
警告:Anthropic 明确告知 OpenClaw 用户(2026-04-04),OpenClaw 属于第三方工具,通过 Claude 订阅登录的流量需要 Extra Usage(按量计费,独立于订阅)。
若需订阅式选项,可参考:OpenAI Codex、Qwen Cloud、MiniMax、Z.AI / GLM。
OpenClaw 保留了 Anthropic setup-token 作为遗留/手动路径,但该路径同样受上述计费政策约束。
OpenAI Codex OAuth(PKCE)
OpenAI 明确支持 Codex OAuth 用于外部工具。登录流程:
- 生成 PKCE verifier/challenge + 随机
state - 打开
https://auth.openai.com/oauth/authorize?... - 尝试在
http://127.0.0.1:1455/auth/callback捕获回调 - 无法绑定(远程/无头模式)时,粘贴 redirect URL/code
- 在
https://auth.openai.com/oauth/token交换 token - 从 access token 提取
accountId并存储
Wizard 路径:openclaw onboard → 选择 openai-codex
Token 刷新
Profile 存储 expires 时间戳。运行时:
expires在未来 → 直接使用已存储的 access token- 已过期 → 在文件锁下刷新并覆写存储的凭据
- 复用外部 CLI 凭据时 → OpenClaw 重新读取 CLI auth 存储,不消耗 refresh token
刷新是自动的,通常不需要手动管理 token。
多账号(Profiles)路由
方案一(推荐):独立 Agent
个人和工作账号完全不交叉,使用隔离 Agent(独立会话 + 凭据 + workspace):
bash
openclaw agents add work
openclaw agents add personal然后通过 wizard 为每个 agent 配置 Auth,并路由聊天到对应 agent。
方案二(高级):单 Agent 多 Profile
auth-profiles.json 支持同一 provider 的多个 profile ID。
选择使用哪个 profile:
- 全局:通过
auth.order配置顺序 - 会话级:
/model ...@<profileId>(示例:/model Opus@anthropic:work)
查看已有 profile ID:openclaw channels list --json
相关
常见问题
Q: 用 Claude 账号登录 OpenClaw 会被额外收费吗?
A: Anthropic 已确认(2026-04-04)OpenClaw 流量需要 Extra Usage。建议改用 Anthropic API Key。
Q: 使用 Codex CLI 登录后,在 OpenClaw 里重新登录会让 CLI 退出吗?
A: 可能会,因为 OAuth provider 通常签发新 refresh token 时使旧的失效。Token sink 机制减少了这个问题,但如果两个客户端都在活跃刷新,仍可能冲突。建议只用 OpenClaw 登录,不要同时用 CLI。
Q: 忘记了用哪个 profile ID,怎么查?
A: 运行 openclaw channels list --json 查看 auth 字段,或直接查看 ~/.openclaw/agents/<id>/agent/auth-profiles.json。