diff --git a/CHANGELOG.md b/CHANGELOG.md index ec29e07..4d6de33 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,25 @@ All notable changes to this project are documented here. Dates use the ISO format (YYYY-MM-DD). +## [4.5.0] - 2026-07-06 + +**Model release**: GPT-5.4 and GPT-5.5 support. + +### Added + +| Preset | Context | Output | Chat reasoning | Codex reasoning | Same backend model as chat? | +|---|---|---|---|---|---| +| GPT-5.5 | 1.05M | 128K | none/low/medium/high/xhigh | low/medium/high/xhigh | **Yes** — no separate `-codex` deployment | +| GPT-5.4 | 1.05M | 128K | none/low/medium/high/xhigh | low/medium/high/xhigh | **Yes** — no separate `-codex` deployment | +| GPT-5.4 Mini | 400K | 128K | none/low/medium/high/xhigh | — | n/a (chat-only, defaults to `low`) | +| GPT-5.4 Nano | 400K | 128K | none/low/medium/high/xhigh | — | n/a (chat-only, defaults to `low`) | + +Confirmed via testing: GPT-5.4/5.5, unlike GPT-5.1/5.2, have no distinct `-codex` backend deployment. The OA-chat/OA-codex split is purely which system prompt and reasoning defaults the plugin applies — same underlying model either way. + +### Changed +- `getReasoningConfig` now derives `xhigh`/`none` support from the GPT-5.x point-release number, not a hardcoded flag per version — future point releases with the same schema need only new `MODEL_MAP`/config entries. +- New `resolveWireModel()` in `model-map.ts` sends the real model name (`gpt-5.4`/`gpt-5.5`) on the wire for the OA-codex presets, instead of the rejected `gpt-5.4-codex`/`gpt-5.5-codex` strings. + ## [4.4.0] - 2026-01-09 **Maintenance release**: OAuth success page version sync. diff --git a/README.md b/README.md index 6708114..049e11b 100644 --- a/README.md +++ b/README.md @@ -43,6 +43,12 @@ npx -y opencode-openai-codex-auth@latest --uninstall --all ``` --- ## 📦 Models +- **gpt-5.5 (OA-chat)** (none/low/medium/high/xhigh) +- **gpt-5.5 (OA-codex)** (low/medium/high/xhigh) — same backend model as OA-chat, no separate `-codex` deployment +- **gpt-5.4 (OA-chat)** (none/low/medium/high/xhigh) +- **gpt-5.4 (OA-codex)** (low/medium/high/xhigh) — same backend model as OA-chat, no separate `-codex` deployment +- **gpt-5.4-mini** (none/low/medium/high/xhigh) +- **gpt-5.4-nano** (none/low/medium/high/xhigh) - **gpt-5.2** (none/low/medium/high/xhigh) - **gpt-5.2-codex** (low/medium/high/xhigh) - **gpt-5.1-codex-max** (low/medium/high/xhigh) @@ -58,7 +64,7 @@ Minimal configs are not supported for GPT‑5.x; use the full configs above. --- ## ✅ Features - ChatGPT Plus/Pro OAuth authentication (official flow) -- 22 model presets across GPT‑5.2 / GPT‑5.2 Codex / GPT‑5.1 families +- 50 model presets across GPT‑5.5 / GPT‑5.4 / GPT‑5.2 / GPT‑5.1 families - Variant system support (v1.0.210+) + legacy presets - Multimodal input enabled for all models - Usage‑aware errors + automatic token refresh diff --git a/config/opencode-legacy.json b/config/opencode-legacy.json index 5381226..0585ea3 100644 --- a/config/opencode-legacy.json +++ b/config/opencode-legacy.json @@ -15,6 +15,342 @@ "store": false }, "models": { + "gpt-5.5-none": { + "name": "GPT 5.5 None (OA-chat)", + "limit": { "context": 1050000, "output": 128000 }, + "modalities": { "input": ["text", "image"], "output": ["text"] }, + "options": { + "reasoningEffort": "none", + "reasoningSummary": "auto", + "textVerbosity": "medium", + "include": ["reasoning.encrypted_content"], + "store": false + } + }, + "gpt-5.5-low": { + "name": "GPT 5.5 Low (OA-chat)", + "limit": { "context": 1050000, "output": 128000 }, + "modalities": { "input": ["text", "image"], "output": ["text"] }, + "options": { + "reasoningEffort": "low", + "reasoningSummary": "auto", + "textVerbosity": "medium", + "include": ["reasoning.encrypted_content"], + "store": false + } + }, + "gpt-5.5-medium": { + "name": "GPT 5.5 Medium (OA-chat)", + "limit": { "context": 1050000, "output": 128000 }, + "modalities": { "input": ["text", "image"], "output": ["text"] }, + "options": { + "reasoningEffort": "medium", + "reasoningSummary": "auto", + "textVerbosity": "medium", + "include": ["reasoning.encrypted_content"], + "store": false + } + }, + "gpt-5.5-high": { + "name": "GPT 5.5 High (OA-chat)", + "limit": { "context": 1050000, "output": 128000 }, + "modalities": { "input": ["text", "image"], "output": ["text"] }, + "options": { + "reasoningEffort": "high", + "reasoningSummary": "detailed", + "textVerbosity": "medium", + "include": ["reasoning.encrypted_content"], + "store": false + } + }, + "gpt-5.5-xhigh": { + "name": "GPT 5.5 Extra High (OA-chat)", + "limit": { "context": 1050000, "output": 128000 }, + "modalities": { "input": ["text", "image"], "output": ["text"] }, + "options": { + "reasoningEffort": "xhigh", + "reasoningSummary": "detailed", + "textVerbosity": "medium", + "include": ["reasoning.encrypted_content"], + "store": false + } + }, + "gpt-5.5-codex-low": { + "name": "GPT 5.5 Low (OA-codex)", + "limit": { "context": 1050000, "output": 128000 }, + "modalities": { "input": ["text", "image"], "output": ["text"] }, + "options": { + "reasoningEffort": "low", + "reasoningSummary": "auto", + "textVerbosity": "medium", + "include": ["reasoning.encrypted_content"], + "store": false + } + }, + "gpt-5.5-codex-medium": { + "name": "GPT 5.5 Medium (OA-codex)", + "limit": { "context": 1050000, "output": 128000 }, + "modalities": { "input": ["text", "image"], "output": ["text"] }, + "options": { + "reasoningEffort": "medium", + "reasoningSummary": "auto", + "textVerbosity": "medium", + "include": ["reasoning.encrypted_content"], + "store": false + } + }, + "gpt-5.5-codex-high": { + "name": "GPT 5.5 High (OA-codex)", + "limit": { "context": 1050000, "output": 128000 }, + "modalities": { "input": ["text", "image"], "output": ["text"] }, + "options": { + "reasoningEffort": "high", + "reasoningSummary": "detailed", + "textVerbosity": "medium", + "include": ["reasoning.encrypted_content"], + "store": false + } + }, + "gpt-5.5-codex-xhigh": { + "name": "GPT 5.5 Extra High (OA-codex)", + "limit": { "context": 1050000, "output": 128000 }, + "modalities": { "input": ["text", "image"], "output": ["text"] }, + "options": { + "reasoningEffort": "xhigh", + "reasoningSummary": "detailed", + "textVerbosity": "medium", + "include": ["reasoning.encrypted_content"], + "store": false + } + }, + "gpt-5.4-none": { + "name": "GPT 5.4 None (OA-chat)", + "limit": { "context": 1050000, "output": 128000 }, + "modalities": { "input": ["text", "image"], "output": ["text"] }, + "options": { + "reasoningEffort": "none", + "reasoningSummary": "auto", + "textVerbosity": "medium", + "include": ["reasoning.encrypted_content"], + "store": false + } + }, + "gpt-5.4-low": { + "name": "GPT 5.4 Low (OA-chat)", + "limit": { "context": 1050000, "output": 128000 }, + "modalities": { "input": ["text", "image"], "output": ["text"] }, + "options": { + "reasoningEffort": "low", + "reasoningSummary": "auto", + "textVerbosity": "medium", + "include": ["reasoning.encrypted_content"], + "store": false + } + }, + "gpt-5.4-medium": { + "name": "GPT 5.4 Medium (OA-chat)", + "limit": { "context": 1050000, "output": 128000 }, + "modalities": { "input": ["text", "image"], "output": ["text"] }, + "options": { + "reasoningEffort": "medium", + "reasoningSummary": "auto", + "textVerbosity": "medium", + "include": ["reasoning.encrypted_content"], + "store": false + } + }, + "gpt-5.4-high": { + "name": "GPT 5.4 High (OA-chat)", + "limit": { "context": 1050000, "output": 128000 }, + "modalities": { "input": ["text", "image"], "output": ["text"] }, + "options": { + "reasoningEffort": "high", + "reasoningSummary": "detailed", + "textVerbosity": "medium", + "include": ["reasoning.encrypted_content"], + "store": false + } + }, + "gpt-5.4-xhigh": { + "name": "GPT 5.4 Extra High (OA-chat)", + "limit": { "context": 1050000, "output": 128000 }, + "modalities": { "input": ["text", "image"], "output": ["text"] }, + "options": { + "reasoningEffort": "xhigh", + "reasoningSummary": "detailed", + "textVerbosity": "medium", + "include": ["reasoning.encrypted_content"], + "store": false + } + }, + "gpt-5.4-codex-low": { + "name": "GPT 5.4 Low (OA-codex)", + "limit": { "context": 1050000, "output": 128000 }, + "modalities": { "input": ["text", "image"], "output": ["text"] }, + "options": { + "reasoningEffort": "low", + "reasoningSummary": "auto", + "textVerbosity": "medium", + "include": ["reasoning.encrypted_content"], + "store": false + } + }, + "gpt-5.4-codex-medium": { + "name": "GPT 5.4 Medium (OA-codex)", + "limit": { "context": 1050000, "output": 128000 }, + "modalities": { "input": ["text", "image"], "output": ["text"] }, + "options": { + "reasoningEffort": "medium", + "reasoningSummary": "auto", + "textVerbosity": "medium", + "include": ["reasoning.encrypted_content"], + "store": false + } + }, + "gpt-5.4-codex-high": { + "name": "GPT 5.4 High (OA-codex)", + "limit": { "context": 1050000, "output": 128000 }, + "modalities": { "input": ["text", "image"], "output": ["text"] }, + "options": { + "reasoningEffort": "high", + "reasoningSummary": "detailed", + "textVerbosity": "medium", + "include": ["reasoning.encrypted_content"], + "store": false + } + }, + "gpt-5.4-codex-xhigh": { + "name": "GPT 5.4 Extra High (OA-codex)", + "limit": { "context": 1050000, "output": 128000 }, + "modalities": { "input": ["text", "image"], "output": ["text"] }, + "options": { + "reasoningEffort": "xhigh", + "reasoningSummary": "detailed", + "textVerbosity": "medium", + "include": ["reasoning.encrypted_content"], + "store": false + } + }, + "gpt-5.4-mini-none": { + "name": "GPT 5.4 Mini None (OA-chat)", + "limit": { "context": 400000, "output": 128000 }, + "modalities": { "input": ["text", "image"], "output": ["text"] }, + "options": { + "reasoningEffort": "none", + "reasoningSummary": "auto", + "textVerbosity": "medium", + "include": ["reasoning.encrypted_content"], + "store": false + } + }, + "gpt-5.4-mini-low": { + "name": "GPT 5.4 Mini Low (OA-chat)", + "limit": { "context": 400000, "output": 128000 }, + "modalities": { "input": ["text", "image"], "output": ["text"] }, + "options": { + "reasoningEffort": "low", + "reasoningSummary": "auto", + "textVerbosity": "medium", + "include": ["reasoning.encrypted_content"], + "store": false + } + }, + "gpt-5.4-mini-medium": { + "name": "GPT 5.4 Mini Medium (OA-chat)", + "limit": { "context": 400000, "output": 128000 }, + "modalities": { "input": ["text", "image"], "output": ["text"] }, + "options": { + "reasoningEffort": "medium", + "reasoningSummary": "auto", + "textVerbosity": "medium", + "include": ["reasoning.encrypted_content"], + "store": false + } + }, + "gpt-5.4-mini-high": { + "name": "GPT 5.4 Mini High (OA-chat)", + "limit": { "context": 400000, "output": 128000 }, + "modalities": { "input": ["text", "image"], "output": ["text"] }, + "options": { + "reasoningEffort": "high", + "reasoningSummary": "detailed", + "textVerbosity": "medium", + "include": ["reasoning.encrypted_content"], + "store": false + } + }, + "gpt-5.4-mini-xhigh": { + "name": "GPT 5.4 Mini Extra High (OA-chat)", + "limit": { "context": 400000, "output": 128000 }, + "modalities": { "input": ["text", "image"], "output": ["text"] }, + "options": { + "reasoningEffort": "xhigh", + "reasoningSummary": "detailed", + "textVerbosity": "medium", + "include": ["reasoning.encrypted_content"], + "store": false + } + }, + "gpt-5.4-nano-none": { + "name": "GPT 5.4 Nano None (OA-chat)", + "limit": { "context": 400000, "output": 128000 }, + "modalities": { "input": ["text", "image"], "output": ["text"] }, + "options": { + "reasoningEffort": "none", + "reasoningSummary": "auto", + "textVerbosity": "medium", + "include": ["reasoning.encrypted_content"], + "store": false + } + }, + "gpt-5.4-nano-low": { + "name": "GPT 5.4 Nano Low (OA-chat)", + "limit": { "context": 400000, "output": 128000 }, + "modalities": { "input": ["text", "image"], "output": ["text"] }, + "options": { + "reasoningEffort": "low", + "reasoningSummary": "auto", + "textVerbosity": "medium", + "include": ["reasoning.encrypted_content"], + "store": false + } + }, + "gpt-5.4-nano-medium": { + "name": "GPT 5.4 Nano Medium (OA-chat)", + "limit": { "context": 400000, "output": 128000 }, + "modalities": { "input": ["text", "image"], "output": ["text"] }, + "options": { + "reasoningEffort": "medium", + "reasoningSummary": "auto", + "textVerbosity": "medium", + "include": ["reasoning.encrypted_content"], + "store": false + } + }, + "gpt-5.4-nano-high": { + "name": "GPT 5.4 Nano High (OA-chat)", + "limit": { "context": 400000, "output": 128000 }, + "modalities": { "input": ["text", "image"], "output": ["text"] }, + "options": { + "reasoningEffort": "high", + "reasoningSummary": "detailed", + "textVerbosity": "medium", + "include": ["reasoning.encrypted_content"], + "store": false + } + }, + "gpt-5.4-nano-xhigh": { + "name": "GPT 5.4 Nano Extra High (OA-chat)", + "limit": { "context": 400000, "output": 128000 }, + "modalities": { "input": ["text", "image"], "output": ["text"] }, + "options": { + "reasoningEffort": "xhigh", + "reasoningSummary": "detailed", + "textVerbosity": "medium", + "include": ["reasoning.encrypted_content"], + "store": false + } + }, "gpt-5.2-none": { "name": "GPT 5.2 None (OAuth)", "limit": { diff --git a/config/opencode-modern.json b/config/opencode-modern.json index 9161024..cb3fa12 100644 --- a/config/opencode-modern.json +++ b/config/opencode-modern.json @@ -15,6 +15,254 @@ "store": false }, "models": { + "gpt-5.5": { + "name": "GPT 5.5 (OA-chat)", + "limit": { + "context": 1050000, + "output": 128000 + }, + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "variants": { + "none": { + "reasoningEffort": "none", + "reasoningSummary": "auto", + "textVerbosity": "medium" + }, + "low": { + "reasoningEffort": "low", + "reasoningSummary": "auto", + "textVerbosity": "medium" + }, + "medium": { + "reasoningEffort": "medium", + "reasoningSummary": "auto", + "textVerbosity": "medium" + }, + "high": { + "reasoningEffort": "high", + "reasoningSummary": "detailed", + "textVerbosity": "medium" + }, + "xhigh": { + "reasoningEffort": "xhigh", + "reasoningSummary": "detailed", + "textVerbosity": "medium" + } + } + }, + "gpt-5.5-codex": { + "name": "GPT 5.5 (OA-codex)", + "limit": { + "context": 1050000, + "output": 128000 + }, + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "variants": { + "low": { + "reasoningEffort": "low", + "reasoningSummary": "auto", + "textVerbosity": "medium" + }, + "medium": { + "reasoningEffort": "medium", + "reasoningSummary": "auto", + "textVerbosity": "medium" + }, + "high": { + "reasoningEffort": "high", + "reasoningSummary": "detailed", + "textVerbosity": "medium" + }, + "xhigh": { + "reasoningEffort": "xhigh", + "reasoningSummary": "detailed", + "textVerbosity": "medium" + } + } + }, + "gpt-5.4": { + "name": "GPT 5.4 (OA-chat)", + "limit": { + "context": 1050000, + "output": 128000 + }, + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "variants": { + "none": { + "reasoningEffort": "none", + "reasoningSummary": "auto", + "textVerbosity": "medium" + }, + "low": { + "reasoningEffort": "low", + "reasoningSummary": "auto", + "textVerbosity": "medium" + }, + "medium": { + "reasoningEffort": "medium", + "reasoningSummary": "auto", + "textVerbosity": "medium" + }, + "high": { + "reasoningEffort": "high", + "reasoningSummary": "detailed", + "textVerbosity": "medium" + }, + "xhigh": { + "reasoningEffort": "xhigh", + "reasoningSummary": "detailed", + "textVerbosity": "medium" + } + } + }, + "gpt-5.4-codex": { + "name": "GPT 5.4 (OA-codex)", + "limit": { + "context": 1050000, + "output": 128000 + }, + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "variants": { + "low": { + "reasoningEffort": "low", + "reasoningSummary": "auto", + "textVerbosity": "medium" + }, + "medium": { + "reasoningEffort": "medium", + "reasoningSummary": "auto", + "textVerbosity": "medium" + }, + "high": { + "reasoningEffort": "high", + "reasoningSummary": "detailed", + "textVerbosity": "medium" + }, + "xhigh": { + "reasoningEffort": "xhigh", + "reasoningSummary": "detailed", + "textVerbosity": "medium" + } + } + }, + "gpt-5.4-mini": { + "name": "GPT 5.4 Mini (OA-chat)", + "limit": { + "context": 400000, + "output": 128000 + }, + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "variants": { + "none": { + "reasoningEffort": "none", + "reasoningSummary": "auto", + "textVerbosity": "medium" + }, + "low": { + "reasoningEffort": "low", + "reasoningSummary": "auto", + "textVerbosity": "medium" + }, + "medium": { + "reasoningEffort": "medium", + "reasoningSummary": "auto", + "textVerbosity": "medium" + }, + "high": { + "reasoningEffort": "high", + "reasoningSummary": "detailed", + "textVerbosity": "medium" + }, + "xhigh": { + "reasoningEffort": "xhigh", + "reasoningSummary": "detailed", + "textVerbosity": "medium" + } + } + }, + "gpt-5.4-nano": { + "name": "GPT 5.4 Nano (OA-chat)", + "limit": { + "context": 400000, + "output": 128000 + }, + "modalities": { + "input": [ + "text", + "image" + ], + "output": [ + "text" + ] + }, + "variants": { + "none": { + "reasoningEffort": "none", + "reasoningSummary": "auto", + "textVerbosity": "medium" + }, + "low": { + "reasoningEffort": "low", + "reasoningSummary": "auto", + "textVerbosity": "medium" + }, + "medium": { + "reasoningEffort": "medium", + "reasoningSummary": "auto", + "textVerbosity": "medium" + }, + "high": { + "reasoningEffort": "high", + "reasoningSummary": "detailed", + "textVerbosity": "medium" + }, + "xhigh": { + "reasoningEffort": "xhigh", + "reasoningSummary": "detailed", + "textVerbosity": "medium" + } + } + }, "gpt-5.2": { "name": "GPT 5.2 (OAuth)", "limit": { diff --git a/lib/oauth-success.html b/lib/oauth-success.html index 9ab0252..d11c9bd 100644 --- a/lib/oauth-success.html +++ b/lib/oauth-success.html @@ -548,7 +548,7 @@
-