Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 9 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -554,7 +554,7 @@ Quality: Production-ready models
```
Combo: "always-on"
1. cc/claude-opus-4-6 (best quality)
2. cx/gpt-5.2-codex (second subscription)
2. cx/gpt-5.2 (second subscription)
3. glm/glm-4.7 (cheap, resets daily)
4. minimax/MiniMax-M2.1 (cheapest, 5h reset)
5. if/kimi-k2-thinking (free unlimited)
Expand Down Expand Up @@ -704,8 +704,10 @@ Dashboard → Providers → Connect Codex
→ 5-hour + weekly reset

Models:
cx/gpt-5.2-codex
cx/gpt-5.1-codex-max
cx/gpt-5.4
cx/gpt-5.4-mini
cx/gpt-5.3-codex
cx/gpt-5.2
```

### Gemini CLI (FREE 180K/month!)
Expand Down Expand Up @@ -1062,8 +1064,10 @@ Notes:
- `cc/claude-haiku-4-5-20251001`

**Codex (`cx/`)** - Plus/Pro:
- `cx/gpt-5.2-codex`
- `cx/gpt-5.1-codex-max`
- `cx/gpt-5.4`
- `cx/gpt-5.4-mini`
- `cx/gpt-5.3-codex`
- `cx/gpt-5.2`

**Gemini CLI (`gc/`)** - FREE:
- `gc/gemini-3-flash-preview`
Expand Down
17 changes: 1 addition & 16 deletions open-sse/config/providerModels.js
Original file line number Diff line number Diff line change
Expand Up @@ -17,24 +17,9 @@ export const PROVIDER_MODELS = {
],
cx: [ // OpenAI Codex
{ id: "gpt-5.4", name: "GPT 5.4" },
// GPT 5.3 Codex - all thinking levels
{ id: "gpt-5.4-mini", name: "GPT 5.4 Mini" },
{ id: "gpt-5.3-codex", name: "GPT 5.3 Codex" },
{ id: "gpt-5.3-codex-xhigh", name: "GPT 5.3 Codex (xHigh)" },
{ id: "gpt-5.3-codex-high", name: "GPT 5.3 Codex (High)" },
{ id: "gpt-5.3-codex-low", name: "GPT 5.3 Codex (Low)" },
{ id: "gpt-5.3-codex-none", name: "GPT 5.3 Codex (None)" },
{ id: "gpt-5.3-codex-spark", name: "GPT 5.3 Codex Spark" },
// Mini - medium and high only
{ id: "gpt-5.1-codex-mini", name: "GPT 5.1 Codex Mini" },
{ id: "gpt-5.1-codex-mini-high", name: "GPT 5.1 Codex Mini (High)" },
// Other models
{ id: "gpt-5.2-codex", name: "GPT 5.2 Codex" },
{ id: "gpt-5.2", name: "GPT 5.2" },
{ id: "gpt-5.1-codex-max", name: "GPT 5.1 Codex Max" },
{ id: "gpt-5.1-codex", name: "GPT 5.1 Codex" },
{ id: "gpt-5.1", name: "GPT 5.1" },
{ id: "gpt-5-codex", name: "GPT 5 Codex" },
{ id: "gpt-5-codex-mini", name: "GPT 5 Codex Mini" },
],
gc: [ // Gemini CLI
{ id: "gemini-3-flash-preview", name: "Gemini 3 Flash Preview" },
Expand Down
1 change: 1 addition & 0 deletions open-sse/executors/codex.js
Original file line number Diff line number Diff line change
Expand Up @@ -187,6 +187,7 @@ export class CodexExecutor extends BaseExecutor {
delete body.n;
delete body.seed;
delete body.max_tokens;
delete body.max_output_tokens;
delete body.user; // Cursor sends this but Codex doesn't support it
delete body.prompt_cache_retention; // Cursor sends this but Codex doesn't support it
delete body.metadata; // Cursor sends this but Codex doesn't support it
Expand Down
14 changes: 10 additions & 4 deletions src/app/api/providers/[id]/test/testUtils.js
Original file line number Diff line number Diff line change
Expand Up @@ -24,10 +24,16 @@ const OAUTH_TEST_CONFIG = {
authHeader: "Authorization",
authPrefix: "Bearer ",
extraHeaders: { "Content-Type": "application/json", "originator": "codex-cli", "User-Agent": "codex-cli/1.0.18 (macOS; arm64)" },
// Minimal invalid body — triggers fast 400 without consuming quota
body: JSON.stringify({ model: "gpt-5.3-codex", input: [], stream: false, store: false }),
// 400 (bad request) means auth succeeded; only 401/403 means token is bad
acceptStatuses: [400],
// Use a valid payload shape so schema errors do not mark the provider unavailable.
body: JSON.stringify({
model: "gpt-5.2",
instructions: "You are a coding assistant.",
input: [{ role: "user", content: [{ type: "input_text", text: "Reply with exactly: ok" }] }],
stream: true,
store: false,
}),
// 200 means the probe model is usable; 400 can still mean auth succeeded but the account is gated.
acceptStatuses: [200, 400],
refreshable: true,
},
"gemini-cli": {
Expand Down