Skip to content
Codex、Claude Code 与 Gemini CLI 实操 · 第 6 篇 / 共 6 篇
领域工程与工具
专题AI 与智能体专题
当前序列Codex、Claude Code 与 Gemini CLI 实操
阅读位置第 6 篇 / 共 6 篇当前专题第 3 个序列 / 共 8 个序列

Codex + CPA 怎么配:统一 GPT / Gemini 入口与启动路由

如果你想在一套本地工作流里同时兼顾 GPT 和 Gemini,一个比较实用的方向就是:

  • 不直接散着记很多启动命令
  • 而是统一成一层 launcher

这样后面切模型、改地址、补代理或做自动选择时,维护成本会低很多。

先说结论

更推荐的做法是把启动入口统一成一层 codex-cpa,让模型选择和基础环境变量都收敛到这里。

这样至少能解决三件事:

  • 启动命令统一
  • 模型切换更清楚
  • 代理地址和环境变量更集中

一、这套 launcher 是怎么组织的

本地这套用法里,核心入口包括:

  • bin/codex-cpa
  • bin/codex-cpa-gpt
  • bin/codex-cpa-gemini
  • bin/codex-cpa-auto

其中共享入口可以这样使用:

bash
./bin/codex-cpa gpt
./bin/codex-cpa gemini
./bin/codex-cpa auto

如果只是想直接走快捷方式,也可以:

bash
./bin/codex-cpa-auto

二、为什么要多一层 launcher

直接把命令写散,短期看很快,长期通常会遇到这些问题:

  • 换模型时要改很多地方
  • CPA 地址一变就要到处调整
  • 很难记住当前到底用了哪套模型

统一入口之后,模型路由和环境变量就能放在一层里集中管理。

三、auto 模式到底在做什么

这里的 auto 不是每条消息都轮询切换,而是启动时做一次路由选择。

基本思路是:

  1. 查询 CPA /models
  2. 优先选择 CODEX_CPA_GPT_MODEL
  3. 如果不可用,再回退到 CODEX_CPA_GEMINI_MODEL
  4. 探测失败时复用上一次选择
  5. 再不行就默认走 GPT

这意味着它更像“启动路由器”,而不是“每轮智能调度器”。

四、最值得统一的环境变量有哪些

这套 launcher 里,比较常用的环境变量有:

  • CODEX_CPA_PROVIDER
  • CODEX_CPA_BASE_URL
  • CODEX_CPA_WIRE_API
  • CODEX_CPA_REASONING
  • CODEX_CPA_GPT_MODEL
  • CODEX_CPA_GEMINI_MODEL
  • CODEX_CPA_PROXY_TOKEN
  • CODEX_CPA_STATE_FILE

如果你后面希望做:

  • 切换代理地址
  • 切换模型版本
  • 调整默认推理档位
  • 持久化上次选择

这些变量就是主要控制面。

五、几个更实用的启动例子

1. 明确指定 GPT

bash
./bin/codex-cpa gpt

2. 明确指定 Gemini

bash
./bin/codex-cpa gemini

3. 让启动器自动选

bash
./bin/codex-cpa auto

4. 临时覆盖默认模型

bash
CODEX_CPA_GPT_MODEL=gpt-5-codex ./bin/codex-cpa gpt
CODEX_CPA_GEMINI_MODEL=gemini-2.5-pro ./bin/codex-cpa gemini

5. 临时切换 CPA 地址

bash
CODEX_CPA_BASE_URL=http://127.0.0.1:8317/v1 ./bin/codex-cpa auto

六、这套方式最适合什么场景

比较适合:

  • 你想统一多模型入口
  • 你经常在 GPT 和 Gemini 之间切换
  • 你不想把代理地址和模型名称散落到多个脚本里

对于个人开发环境来说,这种方式比手工记一堆命令更容易长期维护。

七、后面还可以怎么扩

如果你后面继续深化,这层 launcher 还可以继续承担:

  • 默认工作目录注入
  • 审批或权限档位切换
  • 团队统一别名命令
  • 不同项目的配置模板

这样不同项目就可以在统一入口下复用不同配置。

八、最常见的误区

1. 把 auto 理解成每轮自动挑最优模型

它更像启动时选择,不是消息级动态切换。

2. 环境变量分散在很多地方

一旦配置分散,后面问题会很难查。

3. 没有保留最后一次状态

如果没有状态文件,探测失败时体验通常会更不稳定。

一句话总结

Codex + CPA 的关键不在“又多了一层”,而在这层把模型选择、代理地址和启动方式统一了。

对长期使用多模型终端工作流的人来说,这种收口方式会更稳。

延伸阅读相关文章优先当前专题,再补跨专题关联。
同一序列 · 回看前文会更完整Codex、Claude Code、Gemini CLI 代理和环境变量怎么配适合已经准备把 AI 接进终端开发流,重点补齐 CLI 使用方式、目录边界和常用配置。AI 与智能体专题 · Codex、Claude Code 与 Gemini CLI 实操同一序列 · 回看前文会更完整Gemini CLI 访问超时怎么处理适合已经准备把 AI 接进终端开发流,重点补齐 CLI 使用方式、目录边界和常用配置。AI 与智能体专题 · Codex、Claude Code 与 Gemini CLI 实操同专题其他序列 · 共享标签:AI把 AI 接进开发流程适合把需求拆解、权限边界、成本控制、审查与团队落地方式组织成一套可长期维护的流程。AI 与智能体专题 · AI 协作流程与治理同专题其他序列 · 共享标签:AI本地向量库和云端知识库怎么取舍适合把 MCP Server、权限模型、多 Agent、知识库重排和代码审查治理放在同一条 AI 落地主线上看。AI 与智能体专题 · AI 工具接入与协作工作流跨专题关联 · 同场景:工程协作本地旧项目怎么推到远程仓库适合把本地项目入仓、Node 版本管理和日常开发环境打底放在一起看。工程协作与环境治理专题 · 开发环境与仓库协作跨专题关联 · 同场景:工程协作冲突解决到底该怎么做才不乱适合把 rebase、merge、stash、reflog 和冲突处理放到一起看。Git 专题 · Git 历史整理与命令技巧
继续阅读Codex、Claude Code 与 Gemini CLI 实操当前序列第 6 篇 / 共 6 篇当前专题第 3 个序列 / 共 8 个序列
往前看
上一篇Codex、Claude Code、Gemini CLI 代理和环境变量怎么配回到当前序列上一章上一序列AI 工具选型与外部能力接入从第 1 篇开始:Codex、Claude Code、Gemini CLI 怎么选
往后看
下一序列AI 协作流程与治理从第 1 篇开始:把 AI 接进开发流程

把零散经验整理成可查、可复用、可持续更新的企业级知识门户