From 971a452eac974cf0c4812efbc1f2ff40b8de6be2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=82=A8=E3=83=AB=E3=82=B8=E3=83=BC=F0=9F=90=A7?= Date: Fri, 10 Jul 2026 22:56:13 +0700 Subject: [PATCH] Update index.ts --- src/config/index.ts | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/src/config/index.ts b/src/config/index.ts index 17fa577..b50df32 100755 --- a/src/config/index.ts +++ b/src/config/index.ts @@ -537,6 +537,8 @@ class ConfigManager { join(homedir(), '.env'), ]; + let envProvider: string | undefined; + for (const envPath of envPaths) { if (existsSync(envPath)) { const envContent = readFileSync(envPath, 'utf-8'); @@ -553,9 +555,18 @@ class ConfigManager { // empty OPENROUTER_API_KEY= — the .env file no longer clobbers it. if (key && value && process.env[key] === undefined) { process.env[key] = value; + + // Track LLM_PROVIDER for default provider + if (key === 'LLM_PROVIDER') { + envProvider = value; + } } } } + // Set TEMPEST_DEFAULT_PROVIDER if LLM_PROVIDER found + if (envProvider && !process.env.TEMPEST_DEFAULT_PROVIDER) { + process.env.TEMPEST_DEFAULT_PROVIDER = envProvider; + } break; } } @@ -674,7 +685,16 @@ class ConfigManager { * Get the LLM configuration for the default or specified provider */ getLLMConfig(provider?: LLMProvider, model?: string): LLMConfig { - const actualProvider = provider || this.config.get('defaultProvider'); + let actualProvider = provider; + + if (!actualProvider) { + const envProvider = process.env.TEMPEST_DEFAULT_PROVIDER?.trim(); + if (envProvider) { + actualProvider = envProvider as LLMProvider; + } else { + actualProvider = this.config.get('defaultProvider'); + } + } let apiKey: string | undefined; let baseUrl: string | undefined;