fix(ai): pass baseUrl to Google GenAI SDK via httpOptions

Previously, when using 'google-generative-ai' API with a custom baseUrl
in models.json, the baseUrl was ignored and requests always went to the
default Google endpoint.

Now the provider correctly passes model.baseUrl to the SDK's
httpOptions.baseUrl, enabling use of custom endpoints or API proxies.

Fixes #216
This commit is contained in:
theBucky 2025-12-18 22:03:43 +08:00
parent de2de851c8
commit aac68ba35c

View file

@ -258,9 +258,18 @@ function createClient(model: Model<"google-generative-ai">, apiKey?: string): Go
}
apiKey = process.env.GEMINI_API_KEY;
}
const httpOptions: { baseUrl?: string; headers?: Record<string, string> } = {};
if (model.baseUrl) {
httpOptions.baseUrl = model.baseUrl;
}
if (model.headers) {
httpOptions.headers = model.headers;
}
return new GoogleGenAI({
apiKey,
httpOptions: model.headers ? { headers: model.headers } : undefined,
httpOptions: Object.keys(httpOptions).length > 0 ? httpOptions : undefined,
});
}