技术教程 · 阅读约 8 分钟

Codex 额度悄悄在掉?用 API 方式接管 OpenAI Codex,彻底搞清楚它在干什么

Codex 额度悄悄在掉?用 API 方式接管 OpenAI Codex,彻底搞清楚它在干什么

你有没有遇到过这种情况:打开 Codex 控制台,什么任务都没跑,额度却在一点一点往下掉。

不是幻觉。V2EX 上已经有不少人反映这个问题,有人甚至一觉醒来发现额度少了好几美元,后台日志里空空如也。

问题出在哪?Codex 的 Web 界面对你实际消耗了什么模型、发了多少 token,几乎是黑盒的。你看不到原始请求,看不到计费明细,只能干瞪眼。

解法很简单:绕开 Web 界面,用 API 方式直接调用,把每一笔消耗都打印出来。


先搞清楚一件事:Codex Plus 和 ChatGPT Plus 是一回事吗?

不完全是。

  • ChatGPT Plus 订阅给你的是 ChatGPT 网页/App 的使用权,包含 GPT-4o、GPT-4.5(即最近被叫做 gpt-5.5 的那个)等模型的对话额度。
  • Codex 是 OpenAI 推出的编程 Agent,底层跑的是 codex-minio3 系列模型,有独立的额度池。
  • 两者共享同一个 OpenAI 账号,但额度是分开计算的

所以 Codex 额度在掉,不代表你的 ChatGPT Plus 对话额度有问题,反之亦然。

另外,Codex 的 API 登录方式目前不支持在任务执行中弹出浏览器操作,这是设计限制,不是 bug。如果你的任务需要人工介入(比如 OAuth 授权),只能走 Web 界面。


实战:用 Python 监控你的 Codex / GPT API 实际消耗

下面这段代码做三件事:

1. 发一个真实的代码审查请求给模型

2. 把返回的 usage 字段完整打印出来

3. 按当前官方定价估算这次调用花了多少钱


import os

import json

from openai import OpenAI



# 换成无量Api的 base_url,价格比官方便宜约 60%

# 注册地址:https://api2everything.xyz

client = OpenAI(

    api_key=os.environ.get("WULIANG_API_KEY"),  # 填你的无量Api Key

    base_url="https://api2everything.xyz/v1",

)



# 模拟一段需要审查的代码

CODE_TO_REVIEW = """

def get_user(user_id):

    query = "SELECT * FROM users WHERE id = " + user_id

    return db.execute(query)

"""



def review_code(code: str, model: str = "gpt-4.1") -> dict:

    """

    调用模型做代码审查,返回结果和用量信息

    """

    response = client.chat.completions.create(

        model=model,

        messages=[

            {

                "role": "system",

                "content": (

                    "你是一个资深代码审查工程师。"

                    "请指出代码中的安全漏洞、性能问题和可读性问题,"

                    "每条问题给出修复建议和修复后的代码片段。"

                    "用中文回答。"

                ),

            },

            {

                "role": "user",

                "content": f"请审查以下代码:\n\n```python\n{code}\n```",

            },

        ],

        temperature=0.2,

    )



    # 提取用量数据

    usage = response.usage

    result = {

        "model": response.model,

        "content": response.choices[0].message.content,

        "usage": {

            "prompt_tokens": usage.prompt_tokens,

            "completion_tokens": usage.completion_tokens,

            "total_tokens": usage.total_tokens,

        },

    }

    return result





def estimate_cost(usage: dict, model: str) -> float:

    """

    按官方定价粗略估算费用(USD)

    实际使用无量Api约便宜60%

    """

    # 官方参考价格(每百万 token)

    pricing = {

        "gpt-4.1": {"input": 2.0, "output": 8.0},

        "gpt-4o": {"input": 2.5, "output": 10.0},

        "gpt-4o-mini": {"input": 0.15, "output": 0.60},

        "o3-mini": {"input": 1.1, "output": 4.4},

    }



    price = pricing.get(model, {"input": 2.0, "output": 8.0})

    input_cost = usage["prompt_tokens"] / 1_000_000 * price["input"]

    output_cost = usage["completion_tokens"] / 1_000_000 * price["output"]

    return input_cost + output_cost





if __name__ == "__main__":

    print("=== 开始代码审查 ===\n")



    result = review_code(CODE_TO_REVIEW, model="gpt-4.1")



    print(f"模型:{result['model']}")

    print(f"\n审查结果:\n{result['content']}")



    print("\n=== Token 用量明细 ===")

    for k, v in result["usage"].items():

        print(f"  {k}: {v}")



    official_cost = estimate_cost(result["usage"], result["model"])

    wuliang_cost = official_cost * 0.4  # 无量Api约为官方价格的40%



    print(f"\n=== 费用估算 ===")

    print(f"  官方价格约:${official_cost:.6f}")

    print(f"  无量Api约:  ${wuliang_cost:.6f}  (省约60%)")

跑起来之后,你会看到类似这样的输出:


=== Token 用量明细 ===

  prompt_tokens: 187

  completion_tokens: 312

  total_tokens: 499



=== 费用估算 ===

  官方价格约:$0.002870

  无量Api约:  $0.001148  (省约60%)

每一笔消耗都清清楚楚,再也不会莫名其妙掉额度了。


顺手解决"额度悄悄在掉"的排查思路

如果你用的是官方 API Key,额度还在掉但没有请求记录,大概率是以下几种情况:

1. 有其他应用在后台轮询:检查你的 .env 文件有没有泄露,或者有没有定时任务在跑。

2. Codex Agent 的"思考"也计费o3 系列模型有 reasoning token,这部分在 Web 界面不显示,但实际计费。用 API 调用时 usage 里会有 reasoning_tokens 字段。

3. Key 被共享或泄露:去 OpenAI 后台的 Usage 页面,按 API Key 筛选,看看是不是有陌生 IP 在调用。


关于无量Api

上面代码里的 base_url 换成 https://api2everything.xyz/v1 就能直接用,Key 格式和 OpenAI 完全一样,改一行代码的事。

支持 GPT-4.1、GPT-4o、Claude 4、Gemini 2.5、DeepSeek 等 300+ 模型,国内直连不需要梯子,价格比官方便宜约 65%,注册就送 ¥1 余额,余额永久不过期。

如果你在用 Codex 或者跑批量代码审查任务,成本差距会很明显。

👉 https://api2everything.xyz/?utm_source=v2ex&utm_medium=article&utm_campaign=daily&aff=wqUb


你有遇到过 Codex 额度异常掉的情况吗?或者有其他想监控的 API 指标?评论区说一下,我看看能不能补充进来。

觉得有用的话点个赞,后续还会写 Codex Agent 任务编排、多模型成本对比这些内容。