diff --git a/crates/goose-server/src/routes/providers_and_keys.json b/crates/goose-server/src/routes/providers_and_keys.json index e56f9f8b..34589cc0 100644 --- a/crates/goose-server/src/routes/providers_and_keys.json +++ b/crates/goose-server/src/routes/providers_and_keys.json @@ -3,7 +3,7 @@ "name": "OpenAI", "description": "Use GPT-4 and other OpenAI models", "models": ["gpt-4o", "gpt-4-turbo","o1"], - "required_keys": ["OPENAI_API_KEY"] + "required_keys": ["OPENAI_API_KEY", "OPENAI_HOST"] }, "anthropic": { "name": "Anthropic", diff --git a/crates/goose/src/providers/openai.rs b/crates/goose/src/providers/openai.rs index ac0e2566..4c471666 100644 --- a/crates/goose/src/providers/openai.rs +++ b/crates/goose/src/providers/openai.rs @@ -98,7 +98,7 @@ impl Provider for OpenAiProvider { ProviderMetadata::new( "openai", "OpenAI", - "GPT-4 and other OpenAI models", + "GPT-4 and other OpenAI models, including OpenAI compatible ones", OPEN_AI_DEFAULT_MODEL, OPEN_AI_KNOWN_MODELS .iter() @@ -107,7 +107,7 @@ impl Provider for OpenAiProvider { OPEN_AI_DOC_URL, vec![ ConfigKey::new("OPENAI_API_KEY", true, true, None), - ConfigKey::new("OPENAI_HOST", false, false, Some("https://api.openai.com")), + ConfigKey::new("OPENAI_HOST", true, false, Some("https://api.openai.com")), ConfigKey::new("OPENAI_ORGANIZATION", false, false, None), ConfigKey::new("OPENAI_PROJECT", false, false, None), ], diff --git a/ui/desktop/src/components/settings/models/hardcoded_stuff.tsx b/ui/desktop/src/components/settings/models/hardcoded_stuff.tsx index f8b342d3..36867007 100644 --- a/ui/desktop/src/components/settings/models/hardcoded_stuff.tsx +++ b/ui/desktop/src/components/settings/models/hardcoded_stuff.tsx @@ -65,7 +65,7 @@ export function getDefaultModel(key: string): string | undefined { export const short_list = ['gpt-4o', 'claude-3-5-sonnet-latest']; export const required_keys = { - OpenAI: ['OPENAI_API_KEY'], + OpenAI: ['OPENAI_API_KEY', 'OPENAI_HOST'], Anthropic: ['ANTHROPIC_API_KEY'], Databricks: ['DATABRICKS_HOST'], Groq: ['GROQ_API_KEY'], diff --git a/ui/desktop/src/components/settings/providers/BaseProviderGrid.tsx b/ui/desktop/src/components/settings/providers/BaseProviderGrid.tsx index c9fd6249..3b2a3938 100644 --- a/ui/desktop/src/components/settings/providers/BaseProviderGrid.tsx +++ b/ui/desktop/src/components/settings/providers/BaseProviderGrid.tsx @@ -38,7 +38,7 @@ function getArticle(word: string): string { export function getProviderDescription(provider) { const descriptions = { - OpenAI: 'Access GPT-4, GPT-3.5 Turbo, and other OpenAI models', + OpenAI: 'Access GPT-4 and other OpenAI models, including OpenAI compatible ones', Anthropic: 'Access Claude and other Anthropic models', Google: 'Access Gemini and other Google AI models', Groq: 'Access Mixtral and other Groq-hosted models',