{#if ENABLE_OPENAI_API !== null && ENABLE_OLLAMA_API !== null && connectionsConfig !== null}
{$i18n.t("General")}
{$i18n.t("OpenAI API")}
{ updateOpenAIHandler(); }} />
{#if ENABLE_OPENAI_API}
{$i18n.t( "Manage OpenAI API Connections", )}
{ showAddOpenAIConnectionModal = true; }} type="button" >
{#each OPENAI_API_BASE_URLS as url, idx}
{ updateOpenAIHandler(); }} onDelete={() => { OPENAI_API_BASE_URLS = OPENAI_API_BASE_URLS.filter( (url, urlIdx) => idx !== urlIdx, ); OPENAI_API_KEYS = OPENAI_API_KEYS.filter( (key, keyIdx) => idx !== keyIdx, ); let newConfig = {}; OPENAI_API_BASE_URLS.forEach( (url, newIdx) => { newConfig[newIdx] = OPENAI_API_CONFIGS[ newIdx < idx ? newIdx : newIdx + 1 ]; }, ); OPENAI_API_CONFIGS = newConfig; updateOpenAIHandler(); }} /> {/each}
{/if}
{$i18n.t("Ollama API")}
{ updateOllamaHandler(); }} />
{#if ENABLE_OLLAMA_API}
{$i18n.t("Manage Ollama API Connections")}
{ showAddOllamaConnectionModal = true; }} type="button" >
{#each OLLAMA_BASE_URLS as url, idx}
{ updateOllamaHandler(); }} onDelete={() => { OLLAMA_BASE_URLS = OLLAMA_BASE_URLS.filter( (url, urlIdx) => idx !== urlIdx, ); let newConfig = {}; OLLAMA_BASE_URLS.forEach( (url, newIdx) => { newConfig[newIdx] = OLLAMA_API_CONFIGS[ newIdx < idx ? newIdx : newIdx + 1 ]; }, ); OLLAMA_API_CONFIGS = newConfig; }} /> {/each}
{$i18n.t("Trouble accessing Ollama?")}
{$i18n.t("Click here for help.")}
{/if}
{$i18n.t("Direct Connections")}
{ updateConnectionsHandler(); }} />
{$i18n.t( "Direct Connections allow users to connect to their own OpenAI compatible API endpoints.", )}
{$i18n.t("Cache Base Model List")}
{ updateConnectionsHandler(); }} />
{$i18n.t( "Base Model List Cache speeds up access by fetching base models only at startup or on settings save—faster, but may not show recent base model changes.", )}
{:else}
{/if}
{$i18n.t("Save")}