Codex CLI 怎么让不同项目用不同 API_KEY?我现在用 profile 来分

今天写一个更适合进阶一点的新手问题:

我有好几个项目,想让不同项目用不同的 API_KEY,Codex CLI 怎么配?

这个需求其实挺常见。

比如我自己会把任务分成几类:

  • 日常分析:看文档、整理资料、问一些轻量问题
  • 项目开发:修 bug、改功能、补测试
  • 重任务项目:大仓库、长上下文、比较耗用量的任务
    在这里插入图片描述

如果这些都共用一个 Key,后面就会有点乱。

你不知道哪个项目消耗多,也不好单独停掉某个项目的 Key。

所以我现在更喜欢用 Codex CLI 的 profile 来分。

这篇就按新手能看懂的方式写一遍。

先说结论

Codex CLI 可以这样分:

日常问题 -> API_KEY_DAILY
项目开发 -> API_KEY_DEV
重任务项目 -> API_KEY_HEAVY

然后启动 Codex 时这样选:

codex --profile daily
codex --profile dev
codex --profile heavy

这样每个 profile 读不同的环境变量,也就是不同的 API_KEY。

为什么不建议所有项目共用一个 Key

所有项目共用一个 Key,刚开始确实省事。

但用久了会有几个问题:

  • 不知道哪个项目用量高
  • 哪个项目出问题,没法单独停
  • 日常问题和项目开发混在一起
  • 重任务容易把轻量任务的额度也消耗掉
  • 后面排查问题时很麻烦

所以如果你已经开始长期用 Codex,我建议至少分两个 Key:

API_KEY_DAILY
API_KEY_DEV

日常分析用一个,项目开发用一个。

如果你经常跑大项目,再加一个:

API_KEY_HEAVY

先准备几个 API_KEY

如果你有自己的 API 入口,可以先在后台建几个 Key。

名字可以简单一点:

codex-daily
codex-dev
codex-heavy

这样后面看用量时,一眼就知道哪个 Key 是干嘛的。

如果你和我一样,会在不同模型和工具之间切来切去,用一个能管理 Key 和看用量的入口会方便很多。
后面的截图都是我自己使用的站点是:yunaicode,各位看官按需处理。

在这里插入图片描述

重点是:不同用途最好能分 Key,后面才好管理。

第一步:配置多个 provider

先打开 Codex 的主配置文件。

Mac / Linux 一般是:

~/.codex/config.toml

Windows 一般是:

C:\Users\你的用户名\.codex\config.toml

在里面写多个 provider。
注意,这里和基础教程里面的配置不一样了,如果你之前是按照基础教程配置的.
你可以保留,如果在使用命令行启动codex的时候,不指定配置文件,他会使用默认的.
否则他会弹出提示,要你重新输入指定的api_key
model = “gtp-5.5”
model_provider=“daily”

我这里的截图是去掉默认了配置,每次启动我都会指定配置文件

在这里插入图片描述

示例:

[model_providers.daily]
name = "Daily API"
base_url = "https://cdn.yunaicode.com/v1"
env_key = "API_KEY_DAILY"
wire_api = "responses"

[model_providers.dev]
name = "Dev API"
base_url = "https://cdn.yunaicode.com/v1"
env_key = "API_KEY_DEV"
wire_api = "responses"

[model_providers.heavy]
name = "Heavy API"
base_url = "https://cdn.yunaicode.com/v1"
env_key = "API_KEY_HEAVY"
wire_api = "responses"

这里重点看 env_key

它不是直接写真实 Key,而是告诉 Codex 去读哪个环境变量。

比如:

env_key = "API_KEY_DEV"

意思就是:这个 provider 用 API_KEY_DEV 这个环境变量里的 Key。

第二步:设置环境变量

将你在yunaicode新建的三个key,配置到你电脑的环境变量里面

Mac / Linux 可以这样写:

echo 'export API_KEY_DAILY="日常分析 Key"' >> ~/.zshrc
echo 'export API_KEY_DEV="项目开发 Key"' >> ~/.zshrc
echo 'export API_KEY_HEAVY="重任务 Key"' >> ~/.zshrc
source ~/.zshrc

如果你用的是 bash,就把 ~/.zshrc 换成 ~/.bashrc

检查一下:

echo $API_KEY_DAILY
echo $API_KEY_DEV
echo $API_KEY_HEAVY

Windows PowerShell 可以这样写:

setx API_KEY_DAILY "日常分析 Key"
setx API_KEY_DEV "项目开发 Key"
setx API_KEY_HEAVY "重任务 Key"

Windows 设置完后,记得关闭 PowerShell,重新打开。

检查:

echo $env:API_KEY_DAILY
echo $env:API_KEY_DEV
echo $env:API_KEY_HEAVY

能看到值,就说明环境变量生效了。

切记不要泄漏…

第三步:创建 profile 文件

现在 provider 有了,Key 也有了。

接下来建 profile。

Mac / Linux 的 profile 文件放在:

~/.codex/

Windows 放在:

C:\Users\你的用户名\.codex\

我新建了两个文件。

在这里插入图片描述

第一个:

daily.config.toml

内容:

model = "这里填日常分析用的模型名"
model_provider = "daily"

在这里插入图片描述

第二个:

dev.config.toml

内容:

model = "这里填项目开发用的模型名"
model_provider = "dev"

在这里插入图片描述

模型名不要乱填,一定要去你使用站点模型广场去复制你能用的模型名。

第四步:不同项目怎么启动

现在就可以按项目选择 profile 了。

在这里插入图片描述
启动的时候有时候codex 你没更新的情况下,他第一步会提示你否更新,我一般选择忽略:
第一个是立即更新
第二个就是忽略
第三个是下个版本的时候再提醒我
在这里插入图片描述

日常资料分析:

codex --profile daily

普通项目开发:

codex --profile dev

大项目或重任务:

codex --profile heavy

如果你在 Windows PowerShell 里,也是一样:

codex --profile dev

这个截图就是我使用dev登录.然后去聊天
在这里插入图片描述

这样 Codex 会加载对应的 profile。
这里要注意,如果你去掉了config.toml里面默认的指定模型,当然你使用codex 进行打开的时候,在没指定配置文件情况下,codex不知道使用哪个key,会提示你登录:
在这里插入图片描述

我自己的使用习惯

我一般这样分:

daily:文档、资料、轻量问题
dev:正常项目开发
heavy:大仓库、长上下文、复杂任务

如果今天只是让 Codex 看一份文档,我就用:

codex --profile daily

如果今天准备让它改项目代码,我就进项目目录,然后用:

codex --profile dev

如果是一个比较大的仓库,我会单独用:

codex --profile heavy

这样后面看用量会清楚很多。
这里的截图是我自己的站点:yunaicode
我可以清楚知道我每天那个key用了多少

在这里插入图片描述

最后总结一下

如果你只偶尔用 Codex,一个 Key 也能跑。

但如果你已经开始长期用,尤其是多个项目都用 Codex,我更建议分 Key:

日常分析一个 Key
项目开发一个 Key
重任务项目一个 Key

然后用 profile 来切:

codex --profile daily
codex --profile dev
codex --profile heavy

这样用量好看,问题好查,Key 也方便单独停掉。

新手刚开始不用搞太复杂,先分 dailydev 两个就够了。

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐