Decouple and fix mistral (#595)

* decouple and fix mistral

* fix wrong variable for currentBaseUrl and buildAPIProviderProperties
This commit is contained in:
lunamonke
2026-04-12 08:26:14 +01:00
committed by GitHub
parent b126e38b1a
commit 4c50977f3c
24 changed files with 556 additions and 46 deletions

View File

@@ -7,6 +7,7 @@
* Usage:
* openclaude --provider openai --model gpt-4o
* openclaude --provider gemini --model gemini-2.0-flash
* openclaude --provider mistral --model ministral-3b-latest
* openclaude --provider ollama --model llama3.2
* openclaude --provider anthropic (default, no-op)
*/
@@ -15,6 +16,7 @@ export const VALID_PROVIDERS = [
'anthropic',
'openai',
'gemini',
'mistral',
'github',
'bedrock',
'vertex',
@@ -77,6 +79,13 @@ export function applyProviderFlag(
}
}
delete process.env.CLAUDE_CODE_USE_OPENAI
delete process.env.CLAUDE_CODE_USE_GEMINI
delete process.env.CLAUDE_CODE_USE_MISTRAL
delete process.env.CLAUDE_CODE_USE_GITHUB
delete process.env.CLAUDE_CODE_USE_BEDROCK
delete process.env.CLAUDE_CODE_USE_VERTEX
const model = parseModelFlag(args)
switch (provider as ProviderFlagName) {
@@ -86,17 +95,22 @@ export function applyProviderFlag(
case 'openai':
process.env.CLAUDE_CODE_USE_OPENAI = '1'
if (model) process.env.OPENAI_MODEL ??= model
if (model) process.env.OPENAI_MODEL = model
break
case 'gemini':
process.env.CLAUDE_CODE_USE_GEMINI = '1'
if (model) process.env.GEMINI_MODEL ??= model
if (model) process.env.GEMINI_MODEL = model
break
case 'mistral':
process.env.CLAUDE_CODE_USE_MISTRAL = '1'
if (model) process.env.MISTRAL_MODEL = model
break
case 'github':
process.env.CLAUDE_CODE_USE_GITHUB = '1'
if (model) process.env.OPENAI_MODEL ??= model
if (model) process.env.OPENAI_MODEL = model
break
case 'bedrock':
@@ -109,9 +123,13 @@ export function applyProviderFlag(
case 'ollama':
process.env.CLAUDE_CODE_USE_OPENAI = '1'
process.env.OPENAI_BASE_URL ??= 'http://localhost:11434/v1'
process.env.OPENAI_API_KEY ??= 'ollama'
if (model) process.env.OPENAI_MODEL ??= model
if (!process.env.OPENAI_BASE_URL) {
process.env.OPENAI_BASE_URL = 'http://localhost:11434/v1'
}
if (!process.env.OPENAI_API_KEY) {
process.env.OPENAI_API_KEY = 'ollama'
}
if (model) process.env.OPENAI_MODEL = model
break
}