Allow API key for Ollama connections (#7173)
The Connections form hid the API key field for the Ollama preset, which blocked Ollama cloud (it requires a key). Show the optional field for Ollama; the backend already sends Authorization: Bearer when a key is set and omits the header when empty, so local keyless servers are unaffected. Fixes #7163
This commit is contained in:
parent
d8aa0df66e
commit
95fa3fbe30
3 changed files with 8 additions and 6 deletions
|
|
@ -276,8 +276,9 @@ PROVIDER_REGISTRY: dict[str, dict[str, Any]] = {
|
|||
"auth_header": "Authorization",
|
||||
"auth_prefix": "Bearer ",
|
||||
"notes": (
|
||||
"Local Ollama server. OpenAI-compatible /v1/chat/completions; "
|
||||
"no API key. Surfaced via CUSTOM_PROVIDER_PRESETS in the frontend."
|
||||
"Ollama server (local or cloud). OpenAI-compatible "
|
||||
"/v1/chat/completions; API key optional (required by Ollama "
|
||||
"cloud). Surfaced via CUSTOM_PROVIDER_PRESETS in the frontend."
|
||||
),
|
||||
"hidden": True,
|
||||
},
|
||||
|
|
|
|||
|
|
@ -244,8 +244,8 @@ export function ChatProvidersSettings({
|
|||
(s) => s.setConnectionsEnabled,
|
||||
);
|
||||
const isCustomProvider = isCustomProviderType(providerType);
|
||||
// Local presets (Ollama, llama.cpp) never use API keys — hide the field.
|
||||
// vLLM may optionally use a bearer token on secured deployments.
|
||||
// llama.cpp hides the key field. Ollama and vLLM show an optional key:
|
||||
// Ollama cloud and secured vLLM need one; local servers leave it empty.
|
||||
const showApiKeyField = !customPresetSkipsApiKeyField(providerType);
|
||||
const showReasoningToggle = supportsProviderReasoningToggle(providerType);
|
||||
|
||||
|
|
|
|||
|
|
@ -184,11 +184,12 @@ export function supportsRemoteModelCatalog(
|
|||
);
|
||||
}
|
||||
|
||||
/** Presets that skip the API-key field (local servers with no auth by default). */
|
||||
/** Presets that hide the API-key field. Ollama is not skipped: Ollama cloud
|
||||
* requires a key; local servers leave the optional field empty. */
|
||||
export function customPresetSkipsApiKeyField(
|
||||
providerType: string | null | undefined,
|
||||
): boolean {
|
||||
return providerType === "ollama" || providerType === "llama_cpp";
|
||||
return providerType === "llama_cpp";
|
||||
}
|
||||
|
||||
/** Catalog load plus optional manual model IDs. */
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue