Area
Proxy and routing
What are you trying to accomplish?
Users who route ChatGPT-family models (gpt-5.x) through the opencodex proxy experience a ~11 s first-response wait before any model work starts, while DeepSeek and Kimi through the same proxy answer in 0.2-2 s. I want to understand why this is expected (or fix it), and be able to see whether the requested priority service tier was actually granted - so I can choose the right provider/model for latency-sensitive work instead of guessing.
Measured on opencodex 2.28.0 (macOS, same machine, same Clash proxy, same prompt, /v1/responses streaming):
| model |
response.created |
first output |
total |
| deepseek/deepseek-v4-flash |
0.2 s |
0.7 s |
1.0 s |
| deepseek/deepseek-reasoner |
0.2 s |
1.0 s |
1.2 s |
| kimi/kimi-for-coding |
0.9 s |
1.4 s |
1.8 s |
| kimi/k3-256k |
1.9 s |
2.2 s |
2.7 s |
| gpt-5.6-luna |
~11 s |
13-20 s |
13-25 s |
| gpt-5.6-terra |
~11 s |
21-31 s |
23-98 s |
Network segments are healthy (loopback ~0.1 s; proxy to chatgpt.com TTFB ~0.8 s). response.created stays ~10.7-11.5 s across two pool accounts and three reasoning efforts.
What prevents this today?
- ChatGPT-family requests through the proxy always use the public API endpoint (chatgpt.com/backend-api/codex), which queues ~10 s; the native Codex app channel is not reachable through a proxy by design of the pool architecture.
- service_tier: priority is forwarded (fastwire) but the backend echoes auto; request logs only show tierOutcome.confirmation: assumed, so users cannot tell whether priority was granted.
- No documentation explains this channel/queue difference, so the proxy looks slow/broken when it is behaving as designed.
What should OpenCodex do?
- Document the latency/channel behavior for ChatGPT-family models (expected queue latency through the public endpoint, and why the native app channel is not available via the proxy) - ideally in the docs and in ocx doctor output.
- Echo the backend-granted service tier (observed in response.created) into the request log / dashboard instead of confirmation: assumed.
- Consider a native-channel bypass or explicit single-account direct mode for gpt models as a latency escape hatch for pool users.
Example usage or interface
$ ocx logs --json
... "tierOutcome": { "wireKind": "service-tier", "wireValue": "priority", "confirmation": "confirmed" } ...
$ ocx doctor
[WARN] ChatGPT public endpoint queue latency observed (~10s before first response); expected through the proxy. Use DeepSeek/Kimi providers for latency-sensitive work, or run the Codex app natively for the app channel.
Alternatives or workarounds
- Use DeepSeek/Kimi providers for latency-sensitive work (works today, 1-3 s).
- Run the Codex desktop app natively (ocx restore) to get the app channel, at the cost of losing the account pool.
Additional context
Related discussion: #2300 (proxy latency vs native subscription). Original freeform report was auto-closed by the issue-quality bot for not using a template; this report follows the Feature proposal template.
Checks
Area
Proxy and routing
What are you trying to accomplish?
Users who route ChatGPT-family models (gpt-5.x) through the opencodex proxy experience a ~11 s first-response wait before any model work starts, while DeepSeek and Kimi through the same proxy answer in 0.2-2 s. I want to understand why this is expected (or fix it), and be able to see whether the requested priority service tier was actually granted - so I can choose the right provider/model for latency-sensitive work instead of guessing.
Measured on opencodex 2.28.0 (macOS, same machine, same Clash proxy, same prompt, /v1/responses streaming):
Network segments are healthy (loopback ~0.1 s; proxy to chatgpt.com TTFB ~0.8 s). response.created stays ~10.7-11.5 s across two pool accounts and three reasoning efforts.
What prevents this today?
What should OpenCodex do?
Example usage or interface
Alternatives or workarounds
Additional context
Related discussion: #2300 (proxy latency vs native subscription). Original freeform report was auto-closed by the issue-quality bot for not using a template; this report follows the Feature proposal template.
Checks