背景
AutoRouter 当前已经具备多上游路由、API Key 权限、请求日志、计费和模型规则能力,但上游仍以普通 HTTP API Key 为主。CLIProxyAPI 已经提供 Codex / Claude Code / Gemini CLI 等 OAuth 账号接入能力,包括 OAuth 登录、token 持久化、自动刷新、多账号调度、配额冷却、模型别名和管理 API。
本事项用于在下个大版本中集成 CLIProxyAPI,让 AutoRouter 可以把 CLI OAuth 能力作为上游使用。该事项优先级高于多用户 / 多账户自助门户能力;多用户能力后移到下下个大版本。
目标
- AutoRouter 能将 CLIProxyAPI 作为受管 sidecar 或外部服务接入。
- AutoRouter 能创建 Codex OAuth、Claude OAuth、Gemini OAuth 类型的上游。
- OAuth 账号集合可以作为一个 AutoRouter 上游,由 CLIProxyAPI 在内部调度账号。
- 单个 OAuth 账号也可以作为一个 AutoRouter 上游,通过 CLIProxyAPI 的账号 prefix 和 AutoRouter 模型规则实现固定账号路由。
- AutoRouter 管理端提供 CLI OAuth 管理入口,调用 CLIProxyAPI management API 管理账号。
推荐工程方案
采用托管 CLIProxyAPI sidecar,而不是在 AutoRouter 内部重写 OAuth 协议和 CLI 适配层。
职责划分:
- AutoRouter 负责 API Key、上游授权、路由选择、请求日志、计费、管理端封装和上游建模。
- CLIProxyAPI 负责 OAuth 登录、token 文件、自动刷新、Codex / Claude / Gemini 协议适配、多账号选择、账号冷却和模型状态。
推荐请求形态:
客户端 -> AutoRouter -> CLIProxyAPI -> Codex / Claude / Gemini OAuth 账号
建议拆分
- 增加 CLIProxyAPI 连接配置:base URL、client API key、management URL、management secret、运行模式。
- 增加 CLI OAuth Proxy 上游预设:
- Codex OAuth 池:
http://cliproxyapi:8317/v1,能力为 codex_cli_responses / openai_responses。
- Claude OAuth 池:
http://cliproxyapi:8317/api/provider/anthropic/v1,能力为 claude_code_messages / anthropic_messages。
- Gemini OAuth 池:
http://cliproxyapi:8317/api/provider/google,能力为 gemini_native_generate。
- 增加 CLI OAuth 管理页,调用 CLIProxyAPI management API:
GET /v0/management/auth-files
GET /v0/management/auth-files/models?name=...
PATCH /v0/management/auth-files/status
PATCH /v0/management/auth-files/fields
GET /v0/management/codex-auth-url
GET /v0/management/anthropic-auth-url
GET /v0/management/gemini-cli-auth-url
GET /v0/management/get-auth-status?state=...
- 增加“一键创建上游”:按服务商创建 Codex / Claude / Gemini OAuth 池上游。
- 增加“单账号创建上游”:自动为 CPA auth 设置 prefix,并生成 AutoRouter 模型规则。
- 增加 CLI OAuth 登录与网络代理配置:
- AutoRouter 管理端提供 Codex / Claude / Gemini OAuth 登录入口,调用 CLIProxyAPI management API 发起 OAuth / device code 流程。
- 登录过程中展示授权 URL、device code、过期时间和轮询状态,并在登录完成后刷新 OAuth 账号列表。
- 支持配置 CLIProxyAPI 出站代理地址,用于 CPA 访问 Codex / Claude / Gemini 登录与模型 API,支持
http://、https://、socks5:// 等常见代理格式。
- UI 需要明确区分“CLIProxyAPI 服务地址”(AutoRouter -> CPA)和“OAuth 出站代理”(CPA -> 上游 OAuth / 模型服务)。
- 支持通过 management API 将代理配置写入 CPA 配置;托管 sidecar 模式下应同步注入环境变量或持久化配置。
- 代理配置应支持连通性测试,并在失败时给出可理解的错误提示。
- 增加部署支持:Docker Compose sidecar、本机子进程检测、CPA auth-dir 持久化、CPA config 持久化。
验收条件
- 可以连接一个已运行的 CLIProxyAPI,并通过 AutoRouter 完成连通性检测。
- 可以在 AutoRouter 中创建 Codex / Claude / Gemini OAuth 池上游,并成功转发对应协议请求。
- 可以在 AutoRouter 管理端查看 CLIProxyAPI OAuth 账号、状态和模型数量。
- 可以从 AutoRouter 管理端发起 Codex / Claude / Gemini OAuth 登录,并轮询登录状态。
- 可以在 AutoRouter 管理端配置 CLIProxyAPI 出站代理,并通过该代理完成 OAuth 登录和模型请求连通性测试。
- 可以启停某个 OAuth 账号,并设置 prefix、代理、优先级和备注。
- 可以把某个 OAuth 账号固定映射成一个 AutoRouter 上游。
- CLIProxyAPI management secret 和 client API key 以加密方式保存。
- OAuth token 明文不进入 AutoRouter 数据库,仍由 CLIProxyAPI auth-dir 持久化。
- 文档说明外部 CPA 与托管 CPA 两种部署方式,并说明不同网络环境下的出站代理配置方式。
版本安排
优先级:High
目标版本:下个大版本
备注:该事项优先于多用户 / 自助密钥管理能力。多用户 / 自助密钥管理事项后移到下下个大版本。
背景
AutoRouter 当前已经具备多上游路由、API Key 权限、请求日志、计费和模型规则能力,但上游仍以普通 HTTP API Key 为主。CLIProxyAPI 已经提供 Codex / Claude Code / Gemini CLI 等 OAuth 账号接入能力,包括 OAuth 登录、token 持久化、自动刷新、多账号调度、配额冷却、模型别名和管理 API。
本事项用于在下个大版本中集成 CLIProxyAPI,让 AutoRouter 可以把 CLI OAuth 能力作为上游使用。该事项优先级高于多用户 / 多账户自助门户能力;多用户能力后移到下下个大版本。
目标
推荐工程方案
采用托管 CLIProxyAPI sidecar,而不是在 AutoRouter 内部重写 OAuth 协议和 CLI 适配层。
职责划分:
推荐请求形态:
建议拆分
http://cliproxyapi:8317/v1,能力为codex_cli_responses/openai_responses。http://cliproxyapi:8317/api/provider/anthropic/v1,能力为claude_code_messages/anthropic_messages。http://cliproxyapi:8317/api/provider/google,能力为gemini_native_generate。GET /v0/management/auth-filesGET /v0/management/auth-files/models?name=...PATCH /v0/management/auth-files/statusPATCH /v0/management/auth-files/fieldsGET /v0/management/codex-auth-urlGET /v0/management/anthropic-auth-urlGET /v0/management/gemini-cli-auth-urlGET /v0/management/get-auth-status?state=...http://、https://、socks5://等常见代理格式。验收条件
版本安排
优先级:High
目标版本:下个大版本
备注:该事项优先于多用户 / 自助密钥管理能力。多用户 / 自助密钥管理事项后移到下下个大版本。