From d56d96a813ec3bf7f05ca7f23dbbb37d9b06149a Mon Sep 17 00:00:00 2001 From: just-every-code <0+just-every-code@users.noreply.github.com> Date: Tue, 16 Sep 2025 03:09:06 +0000 Subject: [PATCH] Auto: address issue #169 - Support for new GPT-5 Codex models --- codex-rs/common/src/model_presets.rs | 22 ++++++++++++++++++++++ codex-rs/core/src/model_family.rs | 2 +- codex-rs/core/src/openai_model_info.rs | 4 +++- 3 files changed, 26 insertions(+), 2 deletions(-) diff --git a/codex-rs/common/src/model_presets.rs b/codex-rs/common/src/model_presets.rs index 2b6e5dfb92a8..20b3f9ea682d 100644 --- a/codex-rs/common/src/model_presets.rs +++ b/codex-rs/common/src/model_presets.rs @@ -56,6 +56,28 @@ pub fn builtin_model_presets() -> &'static [ModelPreset] { model: "gpt-5-high-new", effort: ReasoningEffort::Medium, }, + // GPT-5 Codex tuned variants + ModelPreset { + id: "gpt-5-codex-low", + label: "gpt-5 codex low", + description: "— GPT-5 Codex tuned for coding; faster responses with lower reasoning depth", + model: "gpt-5-codex-low", + effort: ReasoningEffort::Low, + }, + ModelPreset { + id: "gpt-5-codex-medium", + label: "gpt-5 codex medium", + description: "— GPT-5 Codex default; balanced coding performance and reasoning", + model: "gpt-5-codex-medium", + effort: ReasoningEffort::Medium, + }, + ModelPreset { + id: "gpt-5-codex-high", + label: "gpt-5 codex high", + description: "— GPT-5 Codex with maximum reasoning for complex coding tasks", + model: "gpt-5-codex-high", + effort: ReasoningEffort::High, + }, ]; PRESETS } diff --git a/codex-rs/core/src/model_family.rs b/codex-rs/core/src/model_family.rs index 99697f6c9d89..89736a0f6a1f 100644 --- a/codex-rs/core/src/model_family.rs +++ b/codex-rs/core/src/model_family.rs @@ -86,7 +86,7 @@ pub fn find_family_for_model(slug: &str) -> Option { supports_reasoning_summaries: true, uses_local_shell_tool: true, ) - } else if slug.starts_with("codex-") { + } else if slug.starts_with("codex-") || slug.starts_with("gpt-5-codex") || slug.starts_with("codex-gpt-5") { model_family!( slug, slug, supports_reasoning_summaries: true, diff --git a/codex-rs/core/src/openai_model_info.rs b/codex-rs/core/src/openai_model_info.rs index bf67ec4a114a..d338635a3938 100644 --- a/codex-rs/core/src/openai_model_info.rs +++ b/codex-rs/core/src/openai_model_info.rs @@ -83,7 +83,9 @@ pub(crate) fn get_model_info(model_family: &ModelFamily) -> Option { max_output_tokens: 128_000, }), - _ if slug.starts_with("codex-") => Some(ModelInfo { + _ if slug.starts_with("codex-") + || slug.starts_with("gpt-5-codex") + || slug.starts_with("codex-gpt-5") => Some(ModelInfo { context_window: 400_000, max_output_tokens: 128_000, }),