适用于 TokLens 接入工具 @toklens/agentic-setup 0.1.3,2026 年 10 月核对。
在「接入工具」里选好 Key 和 Codex,或者在活动页「接入指引」点「生成并复制命令」,运行生成的命令后,TokLens 会在你的电脑上写入两个文件。这篇逐行说明这两个文件、哪些设置可以自己加,以及接不通时先查哪里。
文件在哪
~/.toklens/profiles/<profile>/codex/config.toml
~/.toklens/profiles/<profile>/codex/auth.json
<profile> 是安装命令里 --profile 后面的名字;活动页一键配置的是 activity-<活动名>,比如 activity-waytoagi。Windows 上 ~ 是 %USERPROFILE%。
这两个文件不在 ~/.codex。Codex 默认读 ~/.codex,TokLens 工具启动 Codex 时会把环境变量 CODEX_HOME 指向上面这个目录。所以你原来用 ChatGPT 登录的 ~/.codex 不受影响,两套配置可以同时保留。
config.toml 逐行说明
model_provider = "toklens"
model = "gpt-6.1-sol"
[model_providers.toklens]
name = "toklens"
base_url = "https://<你的 Key 所属服务的地址>"
wire_api = "responses"
requires_openai_auth = true
model_provider = "toklens":使用下面名为 toklens 的服务商配置,不用 Codex 内置的 OpenAI。model:默认模型,就是在「接入工具」里填的模型;没填时是 gpt-6.1-sol。在 Codex 里用/model切换,或者启动时加-m。模型要在这个 Key 所属服务的价格表里,否则请求会失败。name:显示用的名字,不影响请求。base_url:请求地址,也就是「接入工具」里这个 Key 的「接入地址」(去掉末尾的/v1)。不同服务的地址不同,以生成的文件为准。Codex 会在后面加上/responses。不要自己改,改了下次运行会被改回来。网上教程里带/v1的写法也能用,TokLens 在/responses和/v1/responses都接收请求。wire_api = "responses":使用 Responses 接口。TokLens 的 Codex 模型只支持这个接口。一些旧教程里写的wire_api = "chat",新版 Codex 已经不支持。requires_openai_auth = true:让 Codex 用 auth.json 里的 Key 发请求。如果改成 false,又没有另外配置 Key,请求就不带 Key,TokLens 会返回 401API_KEY_REQUIRED。
auth.json
{
"OPENAI_API_KEY": "你的 TokLens Key"
}
字段名是 Codex 规定的,值是你的 TokLens Key。
Key 本身保存在 ~/.toklens/secrets/<profile>.env,auth.json 每次都按它重新生成。在 macOS 和 Linux 上,这两个文件的权限都是 600,只有你自己的账户能读。不要提交到 Git,也不要发给别人。
「接入工具」的安装命令里没有完整 Key。能自动下发时,命令里只有一张 15 分钟内有效、只能用一次的凭证,Key 在你的电脑上兑换后直接写进这个文件;不能自动下发的 Key,或者选了「其他 Key」时,运行后按提示在终端里粘贴。活动页「生成并复制命令」生成的命令是例外:它已经带上活动 Key,不需要粘贴,所以只在自己的电脑上运行,不要发给别人。
怎么让 Codex 用这份配置
直接在终端输入 codex,读的仍然是 ~/.codex。在活动页一键配置的,命令已经装好启动命令 codex-toklens,以后在新终端输入它就行。其他情况通过 toklens-agentic run 启动:
toklens-agentic run --client codex --profile <profile> -- codex
也可以先在当前终端设置好环境变量,之后直接用 codex:
eval "$(toklens-agentic env --client codex --profile <profile>)"
codex
env 会把 Key 放进当前终端的环境变量,关掉这个终端就失效。它输出的是 bash 和 zsh 的写法。
终端里原有的 OPENAI_API_KEY、OPENAI_BASE_URL 和 CODEX_HOME 不会造成干扰:run 启动的 Codex 不继承这三个变量,env 会用 profile 的值覆盖它们。
安装命令最后已经执行过 switch,把这个 profile 设成了默认,所以 run 可以省略 --profile。有多个 profile 时,用 switch 改默认:
toklens-agentic --mode sandbox --action switch --client codex --profile <profile> --apply
在执行过 env 的终端里,run 优先使用 env 设置的 profile。
哪些设置可以自己加
auth.json,以及 config.toml 里的 model_provider 和 [model_providers.toklens],由工具管理。run、env、doctor,以及带 --apply 的 setup 和 switch,都会按 profile 重写这些内容,手动改了也会被改回来。
config.toml 里的其他设置会保留,比如 service_tier、model_reasoning_effort 和 [mcp_servers.*]。model 改成别的模型也会保留,重新运行 setup 时恢复为默认模型。
这需要 0.1.3 或更高版本。旧版本每次运行都会重写整个文件,先用 toklens-agentic --version 查看版本,需要时升级:
npm install -g @toklens/agentic-setup@latest
service_tier 这类顶层设置,要写在第一个 [...] 之前。写在文件末尾,TOML 会把它当作上一个表的内容。如果上一个表是 [model_providers.toklens],工具会把它移回顶层;其他表不会。
常见的改法:
- 换模型:在 Codex 里用
/model,或者启动时加-m。 - 开 Fast:在 Codex 里输入
/fast on。要一直开启,见 Codex Fast 配置和计费说明。 - 换 Key:在「接入工具」重新生成安装命令并运行(活动 Key 在活动页重新点「生成并复制命令」)。profile 名跟着 Key 走,之后命令里的
<profile>要换成新的名字。
因为 CODEX_HOME 换了目录,~/.codex/config.toml 里的 MCP 服务器等设置、~/.codex/AGENTS.md 都不会生效,会话记录也保存在 profile 目录里。需要的话,把 MCP 设置复制到 profile 的 config.toml,把 AGENTS.md 复制到 profile 的 codex 目录。项目目录里的 AGENTS.md 照常读取。
确认接通
先检查文件:
toklens-agentic doctor --client codex --profile <profile> --skip-client
它先按 profile 更新工具管理的内容,再检查 base_url、wire_api、requires_openai_auth、auth.json 的权限和 Key。通过只说明文件没问题,不代表请求一定能成功。
再发一条真实请求:
toklens-agentic run --client codex --profile <profile> -- \
codex exec --skip-git-repo-check "Reply with exactly TOKLENS_OK."
最后在「用量明细」里找到这条请求,核对模型和扣费。
常见报错
| 报错 | 原因 | 处理 |
|---|---|---|
401 API_KEY_REQUIRED | 请求里没有 Key | 检查 auth.json 里有没有 Key、requires_openai_auth 是不是 true;运行一次 doctor 会改回正确的值 |
401 INVALID_API_KEY | Key 不存在或不完整 | 重新生成安装命令再运行一次 |
401 API_KEY_DISABLED | Key 已停用 | 换一个 Key |
403 API_KEY_EXPIRED | Key 已过期 | 换一个没过期的 Key |
403 INSUFFICIENT_BALANCE | 余额不足 | 到「钱包」给这个 Key 分配余额 |
429 insufficient_quota | Key 上的余额用完(「API key 额度已用完」) | 自己的 Key 到「钱包」的「为 Key 分配余额」补上,管理员发的 Key 联系管理员 |
429 rate_limit_exceeded、rate_limit_error | 请求太频繁或到了限额 | 稍后重试 |
usage_limit_reached | ChatGPT 套餐的用量上限,不是 TokLens 的报错;通常说明 Codex 读的还是 ~/.codex 里的 ChatGPT 登录 | 通过 toklens-agentic run 启动 |
每种报错的原因和处理办法,见 Codex 报错对照:401、403、429。
