知识库章节 ▾

导航

▸ 从这里开始 按角色

类别

工具 52
词汇表 12

工具

Codex CLI:使用自己的密钥代替订阅

Codex CLI 是一个直接驻留在终端中的 OpenAI 代理助手:它读取项目文件、在沙箱中运行命令、修改代码并解释其所做的操作。它通常通过 ChatGPT 订阅访问 OpenAI 模型,但你可以将其提供商替换为你自己的 — 此时相同的场景将由 Gonka 网络处理。

有一个细微差别使 Codex 在代理工具中显得与众不同:它不是使用常见的 Chat Completions,而是使用 Responses API — OpenAI 的新协议。正因如此,以前无法将其连接到第三方网关。JoinGonka Gateway 自 2026 年 8 月 22 日起开始接受 Responses,下文描述的一切均已通过实时运行验证,而非文档复述。

Codex CLI 是什么以及它与聊天的区别

Codex 不是编辑器里的补全助手,而是一个独立的执行者。你用自然语言描述任务,它自己判断该读哪些文件、执行哪些命令、改哪些地方。它手头有十来个工具:执行命令、读取文件、维护任务计划、向用户追问细节、为子任务派生子 agent。

两种运行模式。交互模式——不带参数的 codex,在终端里对话并展示每一步。非交互模式——codex exec "task",一次性跑到出结果:适合脚本和 CI。

安全性是内置的:默认情况下 agent 在沙箱中运行,改动之前先征求确认。控制级别在配置里设定——从「凡事都问」到完全自主、有权写入工作目录的运行。

还有一个特点是对话状态。Codex 不要求服务器记住任何东西:它把整条对话留在自己这边,每一轮都完整发送。对你的意义是,对话不会残留在模型 provider 那一侧,换 endpoint 也不会中断已开始的会话。

与 Claude Code 及其他终端 agent 的区别,恰恰在协议上。Codex 通过 Responses API 与模型通信,其中对话不是一列扁平的消息,而是一串元素:文本、工具调用、调用结果、推理块。对工具来说,这带来了更严谨的对话模型;对你来说,则需要一个能听懂这套协议的 endpoint。

连接:修改一次 config.toml

快捷方式——安装器。命令 npx @joingonka/setup --tool codex 会自行向 ~/.codex/config.toml 写入提供商配置块,包含 wire_api = "responses"、模型及其真实上下文窗口,同时保留你的注释和其他设置,然后用一次实时请求验证密钥和模型。如果配置中已选择了其他提供商,安装器不会动它,并会提示用于一次性运行的命令。它会把密钥直接写入文件(权限 600),放在 experimental_bearer_token 字段中——这是 Codex 唯一能以字面量存储密钥的字段;Codex 本身将其视为实验性功能。下面的手动方案则用环境变量绕过这一点。

Codex 把设置存放在 ~/.codex/config.toml。自定义提供商通过 [model_providers.*] 配置块描述,这里的关键字段是 wire_api:没有它,Codex 会尝试使用 Chat Completions 协议,无法完成智能体循环。

# ~/.codex/config.toml
model_provider = "joingonka"
model = "deepseek-ai/DeepSeek-V4-Flash-0731"

[model_providers.joingonka]
name = "JoinGonka Gateway"
base_url = "https://gate.joingonka.ai/v1"
env_key = "JOINGONKA_API_KEY"
wire_api = "responses"

密钥不写入文件:env_key 指定 Codex 从哪个环境变量中获取它。变量名用你自己的,而不是 OPENAI_API_KEY——这样这套配置就不会拦截你其他使用 OpenAI 的工具。

export JOINGONKA_API_KEY=jg-your-key

model 字段设定默认模型,model_provider 指定使用哪个已描述的配置块。两者都可以在启动时覆盖,因此一份配置可以轻松服务多个提供商:日常、实验和备用。

密钥在注册后于个人中心发放,那里也能看到余额和用量。如果你不想改动公共配置,同一个配置块也可以通过 -c 一次性传入:codex -c model_provider=joingonka …。而要维护多套独立配置,可以用 CODEX_HOME 变量指定设置目录。

验证:应该发生什么

验证这套组合是否跑通,最快的方法就是跑一次单次执行:

codex exec "Answer in one line: what is 17*3?"

Codex 会在回复顶部打印它正在与谁协作:model、provider: joingonka、沙箱模式以及会话 ID。如果这里显示的是你的服务商,并且底部给出了回答,说明连接是活的。

接下来要验证 Codex 被安装的核心用途——文件操作。往目录里放一个小文件,故意留一个明显的 bug,然后让它找出来:

codex exec "Read calc.py and tell me in one sentence whether it has a bug."

Agent 应当自行调用读取工具、打开文件,并给出切中要害的回答——并标明行号。如果这一步成立了,说明完整的 Agent 循环(请求 → 工具调用 → 结果 → 回答)已经能够经由网关正确串起来。

如果出了岔子,诊断信息通常直接写在报错里:

看到什么意味着什么该怎么办
401 Unauthorized: Invalid API keyCodex 没找到密钥,或者拿错了密钥检查 env_key 里指定的变量是否真的在当前 shell 中导出,且名称与配置一致
/responses 上出现 404base_url 里丢了后缀地址必须以 /v1 结尾——/responses 由 Codex 自行补上
模型有回复,但工具始终不被调用没设置 wire_api,对话走的是旧协议在服务商配置块里加上 wire_api = \"responses\"
Reconnecting… 1/5Codex 在自己重试请求遇到单次网络错误时的正常行为;如果重试用尽,就看下面跟着的报错文本
关于 bubblewrap 的警告系统里没有隔离包不影响使用:Codex 会用内置副本顶上。要稳妥的话,用包管理器装上 bubblewrap

会话中的第一个请求可能要花上几秒:Codex 会发送一大段系统提示词以及所有工具的说明,而网络节点还需要接收任务。之后的回复会快得多。

如何选择模型

所有网络模型均以相同的价格提供,因此选择取决于行为而非预算。以下是同一任务(读取文件并查找其中的错误)通过 Codex 在 DeepSeek V4 Flash 和 MiniMax M2.7 上运行的实时结果;GLM-5.3 Flash 是在运行后加入网络的——此处提供了其模型属性。

模型标识符上下文Codex 中的行为
DeepSeek V4 Flashdeepseek-ai/DeepSeek-V4-Flash-0731380K回答清晰简洁,明确指出文件和行号。网络中最长的上下文之一,且响应上限为 32768 token——为大型代码库提供缓冲
MiniMax M2.7MiniMaxAI/MiniMax-M2.7200K能正确解决任务,但有时会大声说出推理过程——在终端中显得冗长
GLM-5.3 Flashzai-org/GLM-5.3-Flash390K拥有网络中最长上下文的推理模型:在每次回答前都会进行推理,因此回答较长且较晚到达。调用工具,包括后续回合;对于短任务,请设置 reasoning_effort: low

默认推荐使用 DeepSeek V4 Flash:代理工作很快会触及上下文上限,而 380K token 使其能够同时处理大量文件。如果任务需要思考复杂的逻辑,请使用 GLM-5.3 Flash,但要为 max_tokens 预留缓冲:部分响应预算用于推理。无需编辑文件,只需在配置中更改一行 model 或使用 -c model=… 标志即可更改模型。

当前的网关模型列表始终可以通过 GET https://gate.joingonka.ai/v1/models 获取。

费用说明

代理工具消耗 token 的方式与聊天不同:Codex 会为你每一句话添加系统提示词和所有工具的描述,然后与模型进行多轮对话。在实际运行中,像“读取文件并找到错误”这样的简单任务花费了约 18,000 到 20,000 个 token。这是为自主性支付的正常费用,因此单价非常关键。

通过 JoinGonka Gateway,token 价格为每百万输入 $0.0069,每百万输出 $0.021——所有网络模型价格相同,并从此页面实时获取。

场景消耗量通过 Gateway
单次任务(读文件、找错误)~20K token几分之一美分
一天的活跃工作3-7M token约一美分
一个月的活跃开发~150M token几美分

作为对比,以下是 Codex 本身及同行竞品的付费方案:

方式付费模式限制
ChatGPT 订阅固定月费调用次数和刷新窗口的配额限制
直接使用 OpenAI 密钥按供应商标价付费每百万 token 的价格高出三个数量级
JoinGonka Gateway按 token 付费,余额扣除仪表板可见消耗,无请求次数配额

支付方式为按实际消耗付费,无需月费,也没有请求次数配额:没有五小时窗口期、“提示词”限制或高峰时段倍数。余额通过加密货币充值,余额及每日消耗可在个人仪表板中查看。详细的经济分析请参阅关于最廉价 AI API 的文章。

工作注意事项

对话历史由 Codex 自身维护。 它在每次请求时发送完整历史,不要求服务器记忆任何内容——我们也不会存储聊天记录。在响应返回后,您的代码和提示词不会留在网关上。

网页搜索功能已启用。 Codex 在每次请求中声明搜索工具,网关会接收它:搜索在我们的侧边执行,结果会被注入到模型的响应中。

工具是本地的,而非云端的。 Codex 在您的计算机上本地执行命令和读取文件,因此对项目的访问不依赖于模型提供商。

沙盒。 在 Linux 上,Codex 使用 bubblewrap 来隔离运行的命令。如果系统中没有它,Codex 会发出警告并使用内置副本——这不会影响功能,但使用标准包管理器安装该包更方便。

如果需要图像处理(如界面截图、照片中的图表),请使用支持视觉的模型工具:Gonka 网络中的模型仅为文本模型。这对代码、命令和文件处理不是限制。

如果您觉得 Codex 不合适,可以使用其他终端代理:API 快速入门展示了如何在几分钟内连接任何兼容工具。

Codex CLI 是唯一支持 Responses API 的主流代理,这也是它长期被绑定在 OpenAI 订阅上的原因。更换提供商只需在 config.toml 中修改五行:网关地址、包含密钥的变量名以及 wire_api = "responses"。之后,Gonka 网络会按实际消耗的 token 计费来处理您的自主代码运行,没有配额或五小时窗口限制。实时运行确认了在所有三种网络模型上的完整代理循环;默认情况下,建议使用 DeepSeek V4 Flash——它拥有网络中最长的上下文之一以及最大的响应上限。

想了解更多?

探索其他章节或立即开始赚取 GNK。

获取密钥和免费代币 →