feat: add performance warning for gpt5-codex model

- Add performanceWarning field to ModelInfo type schema
- Add warning message to gpt-5-codex model definition
- Display warning in ApiOptions and ModelPicker components
- Warning advises users to use standard GPT-5 models for better tool call performance

Fixes #8983
This commit is contained in:
Roo Code 2025-11-02 23:33:42 +00:00
parent d0e519de3f
commit 912803ce71
4 changed files with 12 additions and 0 deletions

View file

@ -80,6 +80,8 @@ export const modelInfoSchema = z.object({
cachableFields: z.array(z.string()).optional(),
// Flag to indicate if the model is deprecated and should not be used
deprecated: z.boolean().optional(),
// Performance warning message to display when this model is selected
performanceWarning: z.string().optional(),
// Flag to indicate if the model is free (no cost)
isFree: z.boolean().optional(),
/**

View file

@ -81,6 +81,8 @@ export const openAiNativeModels = {
outputPrice: 10.0,
cacheReadsPrice: 0.13,
description: "GPT-5-Codex: A version of GPT-5 optimized for agentic coding in Codex",
performanceWarning:
"GPT-5-Codex performs poorly with Roo's tool call functionality. Consider using standard GPT-5 models instead for better performance.",
supportsVerbosity: true,
supportsTemperature: false,
},

View file

@ -741,6 +741,11 @@ const ApiOptions = ({
<ApiErrorMessage errorMessage={t("settings:validation.modelDeprecated")} />
)}
{/* Show performance warning if model has one */}
{selectedModelInfo?.performanceWarning && !selectedModelInfo.deprecated && (
<ApiErrorMessage errorMessage={selectedModelInfo.performanceWarning} />
)}
{selectedProvider === "bedrock" && selectedModelId === "custom-arn" && (
<BedrockCustomArn
apiConfiguration={apiConfiguration}

View file

@ -246,6 +246,9 @@ export const ModelPicker = ({
{selectedModelInfo?.deprecated && (
<ApiErrorMessage errorMessage={t("settings:validation.modelDeprecated")} />
)}
{selectedModelInfo?.performanceWarning && !selectedModelInfo.deprecated && (
<ApiErrorMessage errorMessage={selectedModelInfo.performanceWarning} />
)}
{selectedModelId && selectedModelInfo && !selectedModelInfo.deprecated && (
<ModelInfoView
apiProvider={apiConfiguration.apiProvider}