## Features - **Codex**: add GPT 6.0 Astra (`gpt-6-astra`) with vision, thinking and search capabilities - **Usage**: add Claude Fable quota tracker support with weekly window normalization (`weekly fable (7d)`) - **Dashboard**: group Antigravity Gemini and Claude quotas in Quota Tracker, prune stale hidden keys - **OpenCode Go**: add `muse-spark-1.3-contributor` model and support parallel tool calls on Responses path (#3819) - **Providers & Models**: align CodeBuddy-CN catalog/capabilities with server config; add GPT-5.6 Sol, Terra, Luna image aliases on Codex (#3806); refresh Qoder catalog with capability mapping and image pass-through - **CLI tools**: replace Copilot MITM with VS Code extension setup guide - **Gemini**: persist and replay `thoughtSignature` scoped by session namespace ## Fixes - **Claude**: normalize adaptive auto effort (`output_config.effort`) (#3792) - **Antigravity**: prevent Google anti-abuse rate limits during multi-account refresh (#3813) - **Anthropic-compatible**: forward Claude beta flags to nodes fronting Anthropic (#3797) - **Dashboard**: dynamic mode label for local/remote detection (#3801) - **Codex**: format reset credit API errors cleanly (#3778) - **Security**: guard cowork MCP tools probe against SSRF (#3783) - **OpenCode Go**: track OpenCode Go quota (#3791) and send stable session headers (#3800) - **Logger**: suppress noisy background token refresh logs - **CLI**: export packed `.tgz` directly into workspace root instead of parent directory
96 lines
4.1 KiB
JavaScript
96 lines
4.1 KiB
JavaScript
import { withCodexReviewModels } from "../models/helpers.js";
|
|
|
|
export default {
|
|
id: "codex",
|
|
priority: 30,
|
|
alias: "cx",
|
|
uiAlias: "cx",
|
|
display: {
|
|
name: "OpenAI Codex",
|
|
icon: "code",
|
|
color: "#3B82F6",
|
|
website: "https://chatgpt.com/codex",
|
|
notice: {
|
|
signupUrl: "https://chatgpt.com/codex",
|
|
},
|
|
deprecated: true,
|
|
deprecationNotice: "RISK_NOTICE",
|
|
kindNotice: {
|
|
image: "Requires a ChatGPT Plus (or higher) account. Free accounts are not supported for image generation.",
|
|
},
|
|
},
|
|
category: "oauth",
|
|
thinkingConfig: {
|
|
options: [
|
|
"auto",
|
|
"none",
|
|
"low",
|
|
"medium",
|
|
"high",
|
|
],
|
|
defaultMode: "auto",
|
|
},
|
|
transport: {
|
|
baseUrl: "https://chatgpt.com/backend-api/codex/responses",
|
|
format: "openai-responses",
|
|
forceStream: true,
|
|
headers: {
|
|
originator: "codex_cli_rs",
|
|
"User-Agent": "codex_cli_rs/0.136.0",
|
|
},
|
|
usage: {
|
|
url: "https://chatgpt.com/backend-api/wham/usage",
|
|
resetCreditsUrl: "https://chatgpt.com/backend-api/wham/rate-limit-reset-credits",
|
|
resetCreditsConsumeUrl: "https://chatgpt.com/backend-api/wham/rate-limit-reset-credits/consume",
|
|
},
|
|
},
|
|
models: [
|
|
{ id: "gpt-6-astra", name: "GPT 6.0 Astra" },
|
|
{ id: "gpt-5.6-sol", name: "GPT 5.6 Sol" },
|
|
{ id: "gpt-5.6-sol-review", name: "GPT 5.6 Sol Review", upstreamModelId: "gpt-5.6-sol", quotaFamily: "review" },
|
|
{ id: "gpt-5.6-terra", name: "GPT 5.6 Terra" },
|
|
{ id: "gpt-5.6-terra-review", name: "GPT 5.6 Terra Review", upstreamModelId: "gpt-5.6-terra", quotaFamily: "review" },
|
|
{ id: "gpt-5.6-luna", name: "GPT 5.6 Luna" },
|
|
{ id: "gpt-5.6-luna-review", name: "GPT 5.6 Luna Review", upstreamModelId: "gpt-5.6-luna", quotaFamily: "review" },
|
|
{ id: "gpt-5.5", name: "GPT 5.5" },
|
|
{ id: "gpt-5.5-review", name: "GPT 5.5 Review", upstreamModelId: "gpt-5.5", quotaFamily: "review" },
|
|
{ id: "gpt-5.4", name: "GPT 5.4" },
|
|
{ id: "gpt-5.4-review", name: "GPT 5.4 Review", upstreamModelId: "gpt-5.4", quotaFamily: "review" },
|
|
{ id: "gpt-5.4-mini", name: "GPT 5.4 Mini" },
|
|
{ id: "gpt-5.4-mini-review", name: "GPT 5.4 Mini Review", upstreamModelId: "gpt-5.4-mini", quotaFamily: "review" },
|
|
{ id: "gpt-5.3-codex-spark", name: "GPT 5.3 Codex Spark" },
|
|
{ id: "gpt-5.3-codex-spark-review", name: "GPT 5.3 Codex Spark Review", upstreamModelId: "gpt-5.3-codex-spark", quotaFamily: "review" },
|
|
{ id: "gpt-5.6-sol-image", name: "GPT 5.6 Sol Image", capabilities: ["text2img","edit"], params: ["size","quality","background","image_detail","output_format"], kind: "image" },
|
|
{ id: "gpt-5.6-terra-image", name: "GPT 5.6 Terra Image", capabilities: ["text2img","edit"], params: ["size","quality","background","image_detail","output_format"], kind: "image" },
|
|
{ id: "gpt-5.6-luna-image", name: "GPT 5.6 Luna Image", capabilities: ["text2img","edit"], params: ["size","quality","background","image_detail","output_format"], kind: "image" },
|
|
{ id: "gpt-5.5-image", name: "GPT 5.5 Image", capabilities: ["text2img","edit"], params: ["size","quality","background","image_detail","output_format"], kind: "image" },
|
|
{ id: "gpt-5.4-image", name: "GPT 5.4 Image", capabilities: ["text2img","edit"], params: ["size","quality","background","image_detail","output_format"], kind: "image" },
|
|
{ id: "gpt-5.3-image", name: "GPT 5.3 Image", capabilities: ["text2img","edit"], params: ["size","quality","background","image_detail","output_format"], kind: "image" },
|
|
],
|
|
serviceKinds: ["llm","image"],
|
|
oauth: {
|
|
clientId: "app_EMoamEEZ73f0CkXaXp7hrann",
|
|
authorizeUrl: "https://auth.openai.com/oauth/authorize",
|
|
tokenUrl: "https://auth.openai.com/oauth/token",
|
|
scope: "openid profile email offline_access",
|
|
codeChallengeMethod: "S256",
|
|
fixedPort: 1455,
|
|
callbackPath: "/auth/callback",
|
|
extraParams: {
|
|
id_token_add_organizations: "true",
|
|
codex_cli_simplified_flow: "true",
|
|
originator: "codex_cli_rs",
|
|
},
|
|
refreshLeadMs: 432000000,
|
|
refresh: {
|
|
encoding: "form",
|
|
scope: "openid profile email offline_access",
|
|
},
|
|
maxRefreshAgeMs: 691200000,
|
|
trackRefreshAt: true,
|
|
},
|
|
features: {
|
|
usage: true,
|
|
},
|
|
};
|