@codexapi/codexclaude 2.0.10 → 2.0.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CUSTOMIZATIONS.md +8 -5
- package/README.md +7 -6
- package/bin/codexclaude.js +19 -4
- package/codexclaude.md +30 -10
- package/package.json +5 -3
package/CUSTOMIZATIONS.md
CHANGED
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
## Upstream Runtime
|
|
6
6
|
|
|
7
7
|
- Official package: `@openai/codex`
|
|
8
|
-
- Pinned runtime version: `0.
|
|
9
|
-
- Local launcher version: `2.0.
|
|
8
|
+
- Pinned runtime version: `0.141.0`
|
|
9
|
+
- Local launcher version: `2.0.12`
|
|
10
10
|
|
|
11
11
|
## Launcher Behavior
|
|
12
12
|
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
|
|
23
23
|
The launcher writes a Codex model provider named `codexapi`:
|
|
24
24
|
|
|
25
|
-
- `base_url = "https://codexapi.pro/v1"` for ChatGPT-5.5
|
|
25
|
+
- `base_url = "https://codexapi.pro/v1"` for ChatGPT-5.5, Deepseek v4 Budget, and Google Gemini Flash 3.5, or `https://api-chicago.codexapi.pro/v1` for Opus 4.8.
|
|
26
26
|
- `wire_api = "responses"`
|
|
27
27
|
- `supports_websockets = false`
|
|
28
28
|
- `experimental_bearer_token` set to the customer API username
|
|
@@ -30,16 +30,19 @@ The launcher writes a Codex model provider named `codexapi`:
|
|
|
30
30
|
|
|
31
31
|
## Runtime Defaults
|
|
32
32
|
|
|
33
|
-
- Model: selected by the user, defaulting to `gpt-5.5`; supported launcher choices are `gpt-5.5`, `claude-opus-4-8`,
|
|
33
|
+
- Model: selected by the user, defaulting to `gpt-5.5`; supported launcher choices are `gpt-5.5`, `claude-opus-4-8`, `deepseek-v4-pro`, and `gemini-3.5-flash`.
|
|
34
34
|
- Reasoning effort displayed in Codex: `xhigh`
|
|
35
35
|
- Server-side upstream reasoning effort: `low`, enforced by CodexAPI.pro regardless of client display.
|
|
36
|
-
- Local model catalog: `~/.codexclaude/model_catalog.json`; this keeps native Codex `/model` limited to the
|
|
36
|
+
- Local model catalog: `~/.codexclaude/model_catalog.json`; this keeps native Codex `/model` limited to the four supported CodexAPI.pro choices and prevents fallback metadata warnings for Opus 4.8, Deepseek v4 Budget, and Google Gemini Flash 3.5.
|
|
37
37
|
- Service tier: omitted by default; `/fast` remains a user-controlled Codex setting and is billed server-side when active.
|
|
38
38
|
- Approval policy: `never`
|
|
39
39
|
- Sandbox mode: `danger-full-access`
|
|
40
40
|
- TUI status line: `model-with-reasoning`, `fast-mode`, `current-dir`
|
|
41
41
|
- Opus 4.8 Responses traffic is always routed through the Chicago CodexAPI.pro Claude tool-call bridge, regardless of the selected account/dashboard region.
|
|
42
42
|
- Deepseek v4 Budget Responses traffic is routed through CodexAPI.pro's Deepseek-compatible gateway.
|
|
43
|
+
- Google Gemini Flash 3.5 Responses traffic keeps the user-visible Gemini model id while CodexAPI.pro routes it internally through Sonnet 4.6 with low server effort.
|
|
44
|
+
|
|
45
|
+
Current backend state verified on 2026-06-18: CodexAPI.pro is routing ChatGPT-5.5 traffic through the signed-in Codex account path with `CODEXAPI_GPT55_ROUTE_MODE=codex`. Admin Manage Models can switch cross-model routing to GPT-5.5 via Opus 4.8 or Opus 4.8 via GPT-5.5. This is server-side operational routing and must not change the launcher-visible model ids, model catalog, or customer-facing labels.
|
|
43
46
|
|
|
44
47
|
## Wallet Display
|
|
45
48
|
|
package/README.md
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
# codexclaude
|
|
2
2
|
|
|
3
|
-
`codexclaude` is the CodexAPI.pro launcher for customers who want one coding CLI that can use ChatGPT-5.5, Opus 4.8,
|
|
3
|
+
`codexclaude` is the CodexAPI.pro launcher for customers who want one coding CLI that can use ChatGPT-5.5, Opus 4.8, Deepseek v4 Budget, or Google Gemini Flash 3.5 against the same CodexAPI.pro Token Wallet.
|
|
4
4
|
|
|
5
|
-
Version `2.0.
|
|
5
|
+
Version `2.0.12` launches the official OpenAI Codex CLI `0.141.0` package and applies CodexAPI.pro account, wallet, model, and Full Access defaults before Codex starts.
|
|
6
6
|
|
|
7
7
|
## Install
|
|
8
8
|
|
|
@@ -48,7 +48,7 @@ Switch model:
|
|
|
48
48
|
codexclaude model
|
|
49
49
|
```
|
|
50
50
|
|
|
51
|
-
Available model labels are `ChatGPT-5.5`, `Opus 4.8`,
|
|
51
|
+
Available model labels are `ChatGPT-5.5`, `Opus 4.8`, `Deepseek v4 Budget`, and `Google Gemini Flash 3.5`. All four use the CodexAPI.pro Responses-compatible endpoint and the same customer Token Wallet.
|
|
52
52
|
|
|
53
53
|
Show current launcher changes:
|
|
54
54
|
|
|
@@ -73,14 +73,15 @@ codexclaude status
|
|
|
73
73
|
## Preserved CodexAPI.pro Customizations
|
|
74
74
|
|
|
75
75
|
- Dashboard username or email plus password login.
|
|
76
|
-
- ChatGPT-5.5, Opus 4.8,
|
|
76
|
+
- ChatGPT-5.5, Opus 4.8, Deepseek v4 Budget, or Google Gemini Flash 3.5 model selection.
|
|
77
77
|
- CodexAPI.pro Responses-compatible provider at `https://codexapi.pro/v1`.
|
|
78
78
|
- Full Access defaults: approval policy `never` and sandbox mode `danger-full-access`.
|
|
79
79
|
- xhigh visible reasoning in the local Codex UI while CodexAPI.pro keeps upstream runtime effort server-managed.
|
|
80
|
-
- A local `~/.codexclaude/model_catalog.json` file so native Codex `/model` lists only ChatGPT-5.5, Opus 4.8,
|
|
80
|
+
- A local `~/.codexclaude/model_catalog.json` file so native Codex `/model` lists only ChatGPT-5.5, Opus 4.8, Deepseek v4 Budget, and Google Gemini Flash 3.5.
|
|
81
81
|
- No default fast service tier. Fast mode is billed only when the user enables it inside Codex.
|
|
82
|
-
- Official Codex `0.
|
|
82
|
+
- Official Codex `0.141.0` runtime with the current profile-compatible config enabled.
|
|
83
83
|
- Token Wallet balance lookup before launch and in `codexclaude status`.
|
|
84
84
|
- Opus 4.8 tool-call compatibility through the Chicago CodexAPI.pro Responses gateway.
|
|
85
|
+
- Google Gemini Flash 3.5 is visible to users while CodexAPI.pro routes it server-side through the approved Sonnet 4.6 low-effort bridge.
|
|
85
86
|
- Backend-identifying request headers so CodexAPI.pro can enforce subscription plan rules server-side.
|
|
86
87
|
- npm latest-version checks before coding starts, with an explicit update command when a newer required launcher exists.
|
package/bin/codexclaude.js
CHANGED
|
@@ -10,8 +10,8 @@ import { stdin as input, stdout as output } from "node:process";
|
|
|
10
10
|
|
|
11
11
|
const require = createRequire(import.meta.url);
|
|
12
12
|
|
|
13
|
-
const APP_VERSION = "2.0.
|
|
14
|
-
const CODEX_VERSION = "0.
|
|
13
|
+
const APP_VERSION = "2.0.12";
|
|
14
|
+
const CODEX_VERSION = "0.141.0";
|
|
15
15
|
const DISPLAY_REASONING_EFFORT = "xhigh";
|
|
16
16
|
const SERVER_REASONING_EFFORT = "low";
|
|
17
17
|
const API_ORIGIN = (process.env.CODEXCLAUDE_API_ORIGIN || "https://codexapi.pro").replace(/\/+$/, "");
|
|
@@ -58,6 +58,11 @@ const MODELS = {
|
|
|
58
58
|
aliases: ["3", "deepseek", "deepseek-v4", "deepseek-v4-pro", "budget"],
|
|
59
59
|
budget: true,
|
|
60
60
|
},
|
|
61
|
+
"gemini-3.5-flash": {
|
|
62
|
+
id: "gemini-3.5-flash",
|
|
63
|
+
label: "Google Gemini Flash 3.5",
|
|
64
|
+
aliases: ["4", "gemini", "flash", "gemini-flash", "gemini-3.5-flash", "gemini-flash-3.5", "google-gemini-flash-3.5"],
|
|
65
|
+
},
|
|
61
66
|
};
|
|
62
67
|
|
|
63
68
|
async function main() {
|
|
@@ -117,7 +122,7 @@ codexclaude ${APP_VERSION}
|
|
|
117
122
|
|
|
118
123
|
Commands:
|
|
119
124
|
codexclaude login Login with CodexAPI.pro username/email and password
|
|
120
|
-
codexclaude model Select ChatGPT-5.5, Opus 4.8,
|
|
125
|
+
codexclaude model Select ChatGPT-5.5, Opus 4.8, Deepseek v4 Budget, or Google Gemini Flash 3.5
|
|
121
126
|
codexclaude changelog Show the latest CodexAPI.pro launcher changes
|
|
122
127
|
codexclaude setup Rewrite ~/.codex/config.toml with Full Access defaults
|
|
123
128
|
codexclaude start Start Codex with --search
|
|
@@ -221,13 +226,14 @@ async function askModel(rl, current) {
|
|
|
221
226
|
console.log(" 1. ChatGPT-5.5");
|
|
222
227
|
console.log(" 2. Opus 4.8");
|
|
223
228
|
console.log(" 3. Deepseek v4 Budget");
|
|
229
|
+
console.log(" 4. Google Gemini Flash 3.5");
|
|
224
230
|
const answer = (await rl.question(`Model [${currentLabel}]: `)).trim().toLowerCase();
|
|
225
231
|
if (!answer) {
|
|
226
232
|
return MODELS[current] ? current : "gpt-5.5";
|
|
227
233
|
}
|
|
228
234
|
const match = Object.values(MODELS).find((model) => model.aliases.includes(answer));
|
|
229
235
|
if (!match) {
|
|
230
|
-
throw new Error("Unknown model choice. Enter 1 for ChatGPT-5.5, 2 for Opus 4.8,
|
|
236
|
+
throw new Error("Unknown model choice. Enter 1 for ChatGPT-5.5, 2 for Opus 4.8, 3 for Deepseek v4 Budget, or 4 for Google Gemini Flash 3.5.");
|
|
231
237
|
}
|
|
232
238
|
return match.id;
|
|
233
239
|
}
|
|
@@ -503,6 +509,9 @@ function modelCatalogDescription(modelId) {
|
|
|
503
509
|
if (modelId === "deepseek-v4-pro") {
|
|
504
510
|
return "CodexAPI.pro Deepseek v4 Budget coding route with local Codex tools and wallet billing.";
|
|
505
511
|
}
|
|
512
|
+
if (modelId === "gemini-3.5-flash") {
|
|
513
|
+
return "CodexAPI.pro Google Gemini Flash 3.5 coding route with local Codex tools and wallet billing.";
|
|
514
|
+
}
|
|
506
515
|
return "CodexAPI.pro ChatGPT-5.5 coding route with local Codex tools and wallet billing.";
|
|
507
516
|
}
|
|
508
517
|
|
|
@@ -693,6 +702,9 @@ function modelStatusName(model) {
|
|
|
693
702
|
if (model === "deepseek-v4-pro") {
|
|
694
703
|
return "deepseek-v4 budget";
|
|
695
704
|
}
|
|
705
|
+
if (model === "gemini-3.5-flash") {
|
|
706
|
+
return "gemini flash 3.5";
|
|
707
|
+
}
|
|
696
708
|
return "gpt-5.5";
|
|
697
709
|
}
|
|
698
710
|
|
|
@@ -704,6 +716,9 @@ function normalizeConfig(config) {
|
|
|
704
716
|
if (normalized.model === "claude-opus-4-7") {
|
|
705
717
|
normalized.model = "claude-opus-4-8";
|
|
706
718
|
}
|
|
719
|
+
if (["gemini-flash-3.5", "gemini-flash-3-5", "google-gemini-flash-3.5"].includes(normalized.model)) {
|
|
720
|
+
normalized.model = "gemini-3.5-flash";
|
|
721
|
+
}
|
|
707
722
|
if (!MODELS[normalized.model]) {
|
|
708
723
|
normalized.model = "gpt-5.5";
|
|
709
724
|
}
|
package/codexclaude.md
CHANGED
|
@@ -9,8 +9,8 @@ there is no supported configuration or API boundary that can solve the issue.
|
|
|
9
9
|
## Current Release
|
|
10
10
|
|
|
11
11
|
- Launcher package: `@codexapi/codexclaude`
|
|
12
|
-
- Launcher version: `2.0.
|
|
13
|
-
- Official Codex runtime dependency: `@openai/codex@0.
|
|
12
|
+
- Launcher version: `2.0.12`
|
|
13
|
+
- Official Codex runtime dependency: `@openai/codex@0.141.0`
|
|
14
14
|
- Public install command: `npm install -g @codexapi/codexclaude@latest`
|
|
15
15
|
- Default API origin: `https://codexapi.pro`
|
|
16
16
|
- Normal Responses base URL: `https://codexapi.pro/v1`
|
|
@@ -19,16 +19,19 @@ there is no supported configuration or API boundary that can solve the issue.
|
|
|
19
19
|
- Generated Codex config: `~/.codex/config.toml`
|
|
20
20
|
- Generated Codex model catalog: `~/.codexclaude/model_catalog.json`
|
|
21
21
|
|
|
22
|
+
State verified on 2026-06-18: the launcher pins official Codex CLI `0.141.0`. Backend routing currently sends ChatGPT-5.5 traffic through the signed-in Codex account path with `CODEXAPI_GPT55_ROUTE_MODE=codex`. Admin Manage Models can switch cross-model routing to GPT-5.5 via Opus 4.8 or Opus 4.8 via GPT-5.5; this is server routing state and must not collapse the launcher model list or rename customer-selected model ids.
|
|
23
|
+
|
|
22
24
|
## Required User-Facing Model Behavior
|
|
23
25
|
|
|
24
|
-
`codexclaude` supports exactly
|
|
26
|
+
`codexclaude` supports exactly four visible model choices:
|
|
25
27
|
|
|
26
28
|
- `gpt-5.5` displayed as `ChatGPT-5.5`
|
|
27
29
|
- `claude-opus-4-8` displayed as `Opus 4.8`
|
|
28
30
|
- `deepseek-v4-pro` displayed as `Deepseek v4 Budget`
|
|
31
|
+
- `gemini-3.5-flash` displayed as `Google Gemini Flash 3.5`
|
|
29
32
|
|
|
30
|
-
The launcher command `codexclaude model` must list only those
|
|
31
|
-
The native Codex `/model` picker must also list only those
|
|
33
|
+
The launcher command `codexclaude model` must list only those four options.
|
|
34
|
+
The native Codex `/model` picker must also list only those four options. This
|
|
32
35
|
is enforced by writing `model_catalog_json` in `~/.codex/config.toml` and
|
|
33
36
|
creating a complete Codex-compatible catalog at
|
|
34
37
|
`~/.codexclaude/model_catalog.json`.
|
|
@@ -53,7 +56,7 @@ because the request body model is how CodexAPI.pro snapshots routing and
|
|
|
53
56
|
billing before generation starts. The correct fix is to provide valid metadata
|
|
54
57
|
for `claude-opus-4-8`.
|
|
55
58
|
|
|
56
|
-
`bin/codexclaude.js` writes a local catalog with full metadata for all
|
|
59
|
+
`bin/codexclaude.js` writes a local catalog with full metadata for all four
|
|
57
60
|
supported slugs. Each entry must include, at minimum:
|
|
58
61
|
|
|
59
62
|
- `slug`
|
|
@@ -72,7 +75,7 @@ supported slugs. Each entry must include, at minimum:
|
|
|
72
75
|
- `input_modalities`
|
|
73
76
|
- `additional_speed_tiers`
|
|
74
77
|
|
|
75
|
-
Keep `visibility = "list"` for the
|
|
78
|
+
Keep `visibility = "list"` for the four supported entries. Do not include any
|
|
76
79
|
other list-visible models in this catalog.
|
|
77
80
|
|
|
78
81
|
## Reasoning Display Versus Server Runtime
|
|
@@ -138,7 +141,7 @@ terminal_title = ["project-name", "model-with-reasoning", "run-state"]
|
|
|
138
141
|
```
|
|
139
142
|
|
|
140
143
|
The selected model must remain the user's chosen slug. Do not force the local
|
|
141
|
-
config model to `gpt-5.5` when Opus or
|
|
144
|
+
config model to `gpt-5.5` when Opus, Deepseek, or Gemini is selected. The backend can
|
|
142
145
|
route any selected model through GPT-5.5 or another upstream internally, but the
|
|
143
146
|
client request must preserve the user-facing selected slug for display,
|
|
144
147
|
snapshotting, and billing records.
|
|
@@ -155,6 +158,10 @@ region-aware unless operations explicitly changes the routing policy.
|
|
|
155
158
|
this through the CodexAPI.pro-compatible path according to the active server
|
|
156
159
|
policy.
|
|
157
160
|
|
|
161
|
+
`gemini-3.5-flash` uses the configured API origin. The backend must keep
|
|
162
|
+
`gemini-3.5-flash` visible to the user and usage records while routing the
|
|
163
|
+
request internally through `claude-sonnet-4-6` at low server effort.
|
|
164
|
+
|
|
158
165
|
The launcher must send these headers for every model:
|
|
159
166
|
|
|
160
167
|
- `X-CodexAPI-Client: codexclaude`
|
|
@@ -205,7 +212,7 @@ When upgrading official `@openai/codex`:
|
|
|
205
212
|
1. Update `CODEX_VERSION` in `bin/codexclaude.js`.
|
|
206
213
|
2. Update `package.json` and `package-lock.json` to the same official Codex version.
|
|
207
214
|
3. Keep the launcher package version higher than the last published version.
|
|
208
|
-
4. Preserve the
|
|
215
|
+
4. Preserve the four-model `MODELS` map and aliases.
|
|
209
216
|
5. Preserve `DISPLAY_REASONING_EFFORT = "xhigh"` and `SERVER_REASONING_EFFORT = "low"`.
|
|
210
217
|
6. Preserve `writeModelCatalog()` and the `model_catalog_json` line in generated config.
|
|
211
218
|
7. Preserve Full Access defaults: `approval_policy = "never"` and `sandbox_mode = "danger-full-access"`.
|
|
@@ -225,7 +232,7 @@ Run syntax validation:
|
|
|
225
232
|
node --check bin/codexclaude.js
|
|
226
233
|
```
|
|
227
234
|
|
|
228
|
-
Create a temporary home, write config, and verify Codex can parse the
|
|
235
|
+
Create a temporary home, write config, and verify Codex can parse the four
|
|
229
236
|
model catalog entries without making a model call:
|
|
230
237
|
|
|
231
238
|
```bash
|
|
@@ -244,6 +251,7 @@ The JSON output must contain exactly:
|
|
|
244
251
|
- `gpt-5.5`
|
|
245
252
|
- `claude-opus-4-8`
|
|
246
253
|
- `deepseek-v4-pro`
|
|
254
|
+
- `gemini-3.5-flash`
|
|
247
255
|
|
|
248
256
|
The Opus entry must have `default_reasoning_level = "xhigh"` and must not use
|
|
249
257
|
fallback metadata.
|
|
@@ -262,6 +270,18 @@ python3 -m py_compile app/main.py app/openai_compat.py app/config.py app/postgre
|
|
|
262
270
|
/root/codexapi/.venv/bin/pytest -q tests/test_openai_compat.py tests/test_main_helpers.py
|
|
263
271
|
```
|
|
264
272
|
|
|
273
|
+
## Version 2.0.12 Changes
|
|
274
|
+
|
|
275
|
+
- Updated the official OpenAI Codex runtime dependency to `@openai/codex@0.141.0`.
|
|
276
|
+
- Added Google Gemini Flash 3.5 as a fourth visible launcher and native Codex `/model` choice.
|
|
277
|
+
- Kept Gemini visible in client config, response metadata, and usage records while the backend routes it through Sonnet 4.6 low effort.
|
|
278
|
+
- Preserved the CodexAPI.pro launcher layer, Full Access defaults, xhigh visible reasoning, server-managed low runtime effort, wallet auth, and Opus 4.8 Chicago routing.
|
|
279
|
+
|
|
280
|
+
## Version 2.0.11 Changes
|
|
281
|
+
|
|
282
|
+
- Updated the official OpenAI Codex runtime dependency to `@openai/codex@0.140.0`.
|
|
283
|
+
- Re-applied the CodexAPI.pro launcher layer without changing the supported model list, local model catalog, Full Access defaults, xhigh visible reasoning, server-managed low runtime effort, fast-mode billing contract, wallet auth, or Opus 4.8 Chicago routing.
|
|
284
|
+
|
|
265
285
|
## Version 2.0.10 Changes
|
|
266
286
|
|
|
267
287
|
- Added a generated local model catalog for native Codex.
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@codexapi/codexclaude",
|
|
3
|
-
"version": "2.0.
|
|
4
|
-
"description": "CodexAPI.pro coding CLI launcher for ChatGPT-5.5, Opus 4.8,
|
|
3
|
+
"version": "2.0.12",
|
|
4
|
+
"description": "CodexAPI.pro coding CLI launcher for ChatGPT-5.5, Opus 4.8, Deepseek v4 Budget, and Google Gemini Flash 3.5, powered by official Codex CLI 0.141.0.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"bin": {
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
"node": ">=20"
|
|
18
18
|
},
|
|
19
19
|
"dependencies": {
|
|
20
|
-
"@openai/codex": "0.
|
|
20
|
+
"@openai/codex": "0.141.0"
|
|
21
21
|
},
|
|
22
22
|
"publishConfig": {
|
|
23
23
|
"access": "public"
|
|
@@ -27,6 +27,8 @@
|
|
|
27
27
|
"claude",
|
|
28
28
|
"opus",
|
|
29
29
|
"deepseek",
|
|
30
|
+
"gemini",
|
|
31
|
+
"flash",
|
|
30
32
|
"budget",
|
|
31
33
|
"codexapi",
|
|
32
34
|
"coding-cli"
|