mirror of
https://github.com/Nezumi-2711/9router.git
synced 2026-09-23 04:09:49 +00:00
* fix: make version update banner clickable to copy install command (closes #598) * fix: resolve ollama-local baseUrl from providerSpecificData.baseUrl for remote Ollama hosts (closes #578) * fix: add Ollama Cloud to usage/quota tracking (closes #681) * fix: update Qwen OAuth URLs from chat.qwen.ai to qwen.ai per issue #572
This commit is contained in:
@@ -163,7 +163,7 @@ const PROVIDER_MODELS_CONFIG = {
|
||||
siliconflow: createOpenAIModelsConfig("https://api.siliconflow.cn/v1/models"),
|
||||
hyperbolic: createOpenAIModelsConfig("https://api.hyperbolic.xyz/v1/models"),
|
||||
ollama: createOpenAIModelsConfig("https://ollama.com/api/tags"),
|
||||
"ollama-local": createOpenAIModelsConfig("http://localhost:11434/api/tags"),
|
||||
// ollama-local: url resolved dynamically below via providerSpecificData.baseUrl
|
||||
nanobanana: createOpenAIModelsConfig("https://api.nanobananaapi.ai/v1/models"),
|
||||
chutes: createOpenAIModelsConfig("https://llm.chutes.ai/v1/models"),
|
||||
nvidia: createOpenAIModelsConfig("https://integrate.api.nvidia.com/v1/models"),
|
||||
@@ -380,6 +380,34 @@ export async function GET(request, { params }) {
|
||||
});
|
||||
}
|
||||
|
||||
// Handle ollama-local: resolve URL from providerSpecificData.baseUrl if provided,
|
||||
// otherwise fall back to default localhost address.
|
||||
if (connection.provider === "ollama-local") {
|
||||
const baseUrl = connection.providerSpecificData?.baseUrl;
|
||||
const url = baseUrl
|
||||
? `${baseUrl.replace(/\/$/, "")}/api/tags`
|
||||
: "http://localhost:11434/api/tags";
|
||||
const response = await fetch(url, {
|
||||
method: "GET",
|
||||
headers: { "Content-Type": "application/json" },
|
||||
});
|
||||
if (!response.ok) {
|
||||
const errorText = await response.text();
|
||||
console.log(`Error fetching models from ollama-local:`, errorText);
|
||||
return NextResponse.json(
|
||||
{ error: `Failed to fetch models: ${response.status}` },
|
||||
{ status: response.status }
|
||||
);
|
||||
}
|
||||
const data = await response.json();
|
||||
const models = parseOpenAIStyleModels(data);
|
||||
return NextResponse.json({
|
||||
provider: connection.provider,
|
||||
connectionId: connection.id,
|
||||
models,
|
||||
});
|
||||
}
|
||||
|
||||
const config = PROVIDER_MODELS_CONFIG[connection.provider];
|
||||
if (!config) {
|
||||
return NextResponse.json(
|
||||
|
||||
Reference in New Issue
Block a user