@@ -75,6 +75,9 @@ const ApiOptions = ({
7575 const [ openAiModels , setOpenAiModels ] = useState < Record < string , ModelInfo > | null > ( null )
7676
7777 const [ anthropicBaseUrlSelected , setAnthropicBaseUrlSelected ] = useState ( ! ! apiConfiguration ?. anthropicBaseUrl )
78+ const [ openAiNativeBaseUrlSelected , setOpenAiNativeBaseUrlSelected ] = useState (
79+ ! ! apiConfiguration ?. openAiNativeBaseUrl ,
80+ )
7881 const [ azureApiVersionSelected , setAzureApiVersionSelected ] = useState ( ! ! apiConfiguration ?. azureApiVersion )
7982 const [ openRouterBaseUrlSelected , setOpenRouterBaseUrlSelected ] = useState ( ! ! apiConfiguration ?. openRouterBaseUrl )
8083 const [ openAiHostHeaderSelected , setOpenAiHostHeaderSelected ] = useState ( ! ! apiConfiguration ?. openAiHostHeader )
@@ -490,6 +493,28 @@ const ApiOptions = ({
490493
491494 { selectedProvider === "openai-native" && (
492495 < >
496+ < Checkbox
497+ checked = { openAiNativeBaseUrlSelected }
498+ onChange = { ( checked : boolean ) => {
499+ setOpenAiNativeBaseUrlSelected ( checked )
500+
501+ if ( ! checked ) {
502+ setApiConfigurationField ( "openAiNativeBaseUrl" , "" )
503+ }
504+ } } >
505+ { t ( "settings:providers.useCustomBaseUrl" ) }
506+ </ Checkbox >
507+ { openAiNativeBaseUrlSelected && (
508+ < >
509+ < VSCodeTextField
510+ value = { apiConfiguration ?. openAiNativeBaseUrl || "" }
511+ type = "url"
512+ onInput = { handleInputChange ( "openAiNativeBaseUrl" ) }
513+ placeholder = "https://api.openai.com/v1"
514+ className = "w-full mt-1"
515+ />
516+ </ >
517+ ) }
493518 < VSCodeTextField
494519 value = { apiConfiguration ?. openAiNativeApiKey || "" }
495520 type = "password"
0 commit comments