@@ -132,6 +132,7 @@ function buildProviderMetadata(providerId: ProviderId): ProviderMetadata {
132132export const providers : Record < ProviderId , ProviderMetadata > = {
133133 ollama : buildProviderMetadata ( 'ollama' ) ,
134134 vllm : buildProviderMetadata ( 'vllm' ) ,
135+ litellm : buildProviderMetadata ( 'litellm' ) ,
135136 openai : {
136137 ...buildProviderMetadata ( 'openai' ) ,
137138 computerUseModels : [ 'computer-use-preview' ] ,
@@ -167,6 +168,12 @@ export function updateVLLMProviderModels(models: string[]): void {
167168 providers . vllm . models = getProviderModelsFromDefinitions ( 'vllm' )
168169}
169170
171+ export function updateLiteLLMProviderModels ( models : string [ ] ) : void {
172+ const { updateLiteLLMModels } = require ( '@/providers/models' )
173+ updateLiteLLMModels ( models )
174+ providers . litellm . models = getProviderModelsFromDefinitions ( 'litellm' )
175+ }
176+
170177export async function updateOpenRouterProviderModels ( models : string [ ] ) : Promise < void > {
171178 const { updateOpenRouterModels } = await import ( '@/providers/models' )
172179 updateOpenRouterModels ( models )
@@ -185,6 +192,7 @@ export function getBaseModelProviders(): Record<string, ProviderId> {
185192 ( [ providerId ] ) =>
186193 providerId !== 'ollama' &&
187194 providerId !== 'vllm' &&
195+ providerId !== 'litellm' &&
188196 providerId !== 'openrouter' &&
189197 providerId !== 'fireworks'
190198 )
@@ -744,6 +752,12 @@ export function getApiKey(provider: string, model: string, userProvidedKey?: str
744752 return userProvidedKey || 'empty'
745753 }
746754
755+ const isLitellmModel =
756+ provider === 'litellm' || useProvidersStore . getState ( ) . providers . litellm ?. models . includes ( model )
757+ if ( isLitellmModel ) {
758+ return userProvidedKey || 'empty'
759+ }
760+
747761 // Bedrock uses its own credentials (bedrockAccessKeyId/bedrockSecretKey), not apiKey
748762 const isBedrockModel = provider === 'bedrock' || model . startsWith ( 'bedrock/' )
749763 if ( isBedrockModel ) {
0 commit comments