--- title: Codex description: OpenAI Codex OAuth Provider 配置 navigation: icon: i-heroicons-code-bracket --- # Codex Provider 通过 OAuth 认证使用 OpenAI Codex 服务。 ## 概述 Codex Provider 允许你使用 OpenAI Codex 的 OAuth 凭证访问 GPT 模型。 同时,为了兼容 Codex CLI 的「API Key 登录」用户(`~/.codex/auth.json` 只有 `api_key`),ProxyCast 也支持读取 `api_key` 并作为 Bearer Token 使用(无需刷新)。 ## 支持的模型 - GPT-4 系列 - GPT-3.5 系列 - 其他 Codex 支持的模型 ## 配置 ### 凭证池配置 ```yaml credential_pool: codex: - id: "codex-main" token_file: "codex/oauth.json" disabled: false proxy_url: "http://proxy:8080" # 可选 ``` ### 配置项说明 | 配置项 | 类型 | 必填 | 说明 | |--------|------|------|------| | id | string | ✅ | 凭证唯一标识 | | token_file | string | ✅ | Token 文件路径(相对于 auth_dir) | | disabled | boolean | ❌ | 是否禁用此凭证 | | proxy_url | string | ❌ | 单独的代理 URL | ## OAuth 登录 ### 通过 UI 登录 1. 打开 ProxyCast 2. 进入 Provider 管理页面 3. 找到 Codex 部分 4. 点击"OAuth 登录"按钮 5. 在弹出的浏览器中完成认证 6. 认证成功后自动保存凭证 ### Token 文件格式 #### OAuth 模式(推荐用于 Codex OAuth) ```json { "access_token": "eyJ...", "refresh_token": "eyJ...", "expires_at": "2025-01-01T00:00:00Z", "token_type": "Bearer" } ``` #### API Key 模式(兼容 Codex CLI) ```json { "api_key": "sk-xxx", "api_base_url": "https://api.openai.com" } ``` 说明: - `api_key` / `apiKey`:必填 - `api_base_url` / `apiBaseUrl`:可选;可填写 `https://api.openai.com` 或带 `/v1` 的地址(例如网关、反代、Azure 兼容地址) ## Token 刷新 ProxyCast 会自动在 Token 过期前刷新: - 检测到 Token 即将过期时自动刷新 - 刷新失败时标记凭证为无效 - 无效凭证会在 UI 中显示警告 ## 使用示例 ### API 请求 ```bash curl http://127.0.0.1:8999/v1/chat/completions \ -H "Authorization: Bearer your-api-key" \ -H "Content-Type: application/json" \ -d '{ "model": "gpt-4", "messages": [{"role": "user", "content": "Hello!"}] }' ``` ### 路由配置 将 GPT 模型路由到 Codex: ```yaml routing: rules: - pattern: "gpt-*" provider: "codex" priority: 1 ``` ## 多账号配置 ```yaml credential_pool: codex: - id: "codex-1" token_file: "codex/account1.json" - id: "codex-2" token_file: "codex/account2.json" ``` ProxyCast 会自动在多个凭证之间负载均衡。 ## 故障排除 ### Token 刷新失败 1. 检查网络连接 2. 确认 OAuth 授权未被撤销 3. 尝试重新登录 ### 凭证无效 1. 删除旧的 Token 文件 2. 重新进行 OAuth 登录 3. 检查账号状态