
摘要: Codex CLI 接入腾讯云 Token Plan,在其配置文件中自定义一个 OpenAI 兼容的 model provider,base_url 填 https://tokenhub.tencentmaas.com/plan/v3,API Key 通过环境变量注入,model 填套餐内模型 ID。配好后在终端用 codex 命令调用国产模型编码,按积分计费。
Codex CLI 走的是 OpenAI 协议,接 Token Plan 的思路是在它的配置里新增一个自定义 provider,把 base_url 指向 Token Plan 的 OpenAI 兼容网关,再用环境变量喂进 API Key。命令行工具的配置不像 GUI 那样直观,但好处是可复制、可版本化——配好一次,换机器拷过去即用。这里的关键是别把 Key 硬写进配置文件,用环境变量注入更安全。
Codex CLI 是 OpenAI 推出的终端智能编程代理,接入 Token Plan 前需备好套餐、API Key 和 Node 环境。
Token Plan 是腾讯云大模型服务平台 TokenHub 的个人订阅套餐,通用 Token Plan 聚合 DeepSeek、GLM、Kimi、MiniMax、混元等国产模型,按月订阅、按积分计量。Codex CLI 走 OpenAI 协议,用通用 Token Plan。
API Key 在控制台 Token Plan 页面「生成密钥」获取,格式 sk-tp-xxx,每主账号仅一个。
OpenAI 协议接入地址为 https://tokenhub.tencentmaas.com/plan/v3。
Codex CLI 的配置文件位于用户目录下的 .codex/config.toml(部分版本为 config.json)。核心是声明一个指向 Token Plan 的 provider,并把默认 model 指过去。以 TOML 为例:
model = "kimi-k2.7-code"
model_provider = "tokenplan"
[model_providers.tokenplan]
name = "Tencent Token Plan"
base_url = "https://tokenhub.tencentmaas.com/plan/v3"
env_key = "TOKENPLAN_API_KEY"几个关键点说明:
base_url 填 Token Plan 的 OpenAI 兼容地址;env_key 指定从哪个环境变量读取 API Key,这样 Key 不落在配置文件里;model 填套餐内模型 ID,全小写。在 shell 里导出 Key(把示例值换成你的真实密钥):
# macOS / Linux
export TOKENPLAN_API_KEY="sk-tp-xxxxxxxx"
# Windows PowerShell
$env:TOKENPLAN_API_KEY="sk-tp-xxxxxxxx"想长期生效,写进 ~/.bashrc、~/.zshrc 或系统环境变量即可。这是我更推荐的做法——把密钥和配置分离,配置文件可以安心提交到仓库,Key 留在本地环境。
进项目目录启动:
cd my-project
codex给它一个任务,比如「读一下这个项目结构,加个 README」。能正常响应即接入成功、积分开始计量。若报鉴权错误,优先检查环境变量是否在当前终端生效——改完 shell 配置要新开终端或 source 一下。
现象 | 原因 | 处理 |
|---|---|---|
401 unauthorized | base_url 或 Key 错,或环境变量未生效 | 核对地址,确认当前终端能读到环境变量 |
invalid model(20033) | model 拼错或不在套餐内 | 对照套餐可用模型,用全小写 ID |
429 rate limit | 负载高限流 | 重试或换模型 |
当月额度用完(20097) | 积分耗尽 | 等下月重置或升配 |
个人版 Token Plan 面向交互式使用、仅一个 API Key,禁止账号共享、禁止用于自动化脚本或应用后端的批量调用。在 Codex CLI 里交互式编码属标准用法。若要把它接进 CI 或批量脚本,请改用支持规范 API 调用的 Token Plan 企业版,避免个人版 Key 被封。
config.toml 纳入 dotfiles 管理,换机即用,Key 始终走环境变量。各档套餐积分额度与订阅入口见腾讯云 Token Plan 页面:https://cloud.tencent.com/act/pro/tokenplan
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。