发布

  • fix(proxy): route Codex subscription /backend-api/* catchall to chatgpt.com

    frostbyte_neo 发布于 2026-05-02 18:24:09 +00:00

    Codex CLI in subscription mode polls /backend-api/wham/usage, fetches
    agent identity JWKS from /backend-api/wham/agent-identities/jwks, and
    hits other auxiliary /backend-api/* endpoints during startup. The HTTP
    catchall in _select_passthrough_base_url ignored ChatGPT auth and
    routed all unmatched paths to api.openai.com, which 404s on every
    backend-api path. Codex interprets that as "session invalid" and
    refuses subscription auth.

    Add a single branch at the top of _select_passthrough_base_url: when
    _resolve_codex_routing_headers reports ChatGPT auth (explicit
    ChatGPT-Account-Id header or JWT with chatgpt_account_id claim), return
    https://chatgpt.com so the catchall forwards to the right host.

    No-op for Anthropic (x-api-key, no JWT), Gemini (x-goog-api-key, no
    JWT), OpenAI API key (sk- tokens fail JWT decode), and explicit-route
    OpenAI passthroughs (/v1/embeddings, /v1/moderations, etc. don't go
    through the catchall). Only behavior change is the targeted unblock for
    subscription Codex.

    下载附件