From ebb726e38436ee28ce69a4e3c5357d44241c4a56 Mon Sep 17 00:00:00 2001 From: Levi Neely Date: Tue, 31 Mar 2026 23:50:05 +0200 Subject: [PATCH] Split OLLIE_API_URL into backend-specific vars OLLIE_API_URL was shared across backends, causing the ollama backend to use the OpenRouter URL when OLLIE_BACKEND was overridden on the command line while the env file still set OLLIE_API_URL. Replace with OLLIE_OLLAMA_URL and OLLIE_OPENAI_URL so each backend only reads its own URL setting. Co-Authored-By: Claude Sonnet 4.6 --- backend/new.go | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/backend/new.go b/backend/new.go index 0f33417..e4211b7 100644 --- a/backend/new.go +++ b/backend/new.go @@ -40,9 +40,10 @@ func loadEnvFile(path string) { // so the file acts as a default; variables already set in the environment take // precedence. // -// OLLIE_BACKEND ollama | openai | openrouter (default: ollama) -// OLLIE_API_URL override base URL for the selected backend -// OLLIE_API_KEY API key (required for openai / openrouter) +// OLLIE_BACKEND ollama | openai | openrouter (default: ollama) +// OLLIE_OLLAMA_URL base URL for ollama (default: http://localhost:11434) +// OLLIE_OPENAI_URL base URL for openai-compatible backends +// OLLIE_API_KEY API key (required for openai / openrouter) func New() (Backend, error) { home, _ := os.UserHomeDir() loadEnvFile(home + "/.config/ollie/env") @@ -52,20 +53,17 @@ func New() (Backend, error) { which = "ollama" } - apiURL := os.Getenv("OLLIE_API_URL") - apiKey := os.Getenv("OLLIE_API_KEY") - switch which { case "ollama": - return NewOllama(apiURL), nil + return NewOllama(os.Getenv("OLLIE_OLLAMA_URL")), nil case "openai": - return NewOpenAI(apiURL, apiKey), nil + return NewOpenAI(os.Getenv("OLLIE_OPENAI_URL"), os.Getenv("OLLIE_API_KEY")), nil case "openrouter": - url := apiURL + url := os.Getenv("OLLIE_OPENAI_URL") if url == "" { url = "https://openrouter.ai/api" } - return NewOpenAI(url, apiKey), nil + return NewOpenAI(url, os.Getenv("OLLIE_API_KEY")), nil default: return nil, fmt.Errorf("unknown OLLIE_BACKEND %q (supported: ollama, openai, openrouter)", which) }