diff --git a/ui/desktop/src/components/ProviderGuard.tsx b/ui/desktop/src/components/ProviderGuard.tsx index 1eae8e2cd0..87eea6434d 100644 --- a/ui/desktop/src/components/ProviderGuard.tsx +++ b/ui/desktop/src/components/ProviderGuard.tsx @@ -4,12 +4,13 @@ import { useConfig } from './ConfigContext'; import { SetupModal } from './SetupModal'; import { startOpenRouterSetup } from '../utils/openRouterSetup'; import { startTetrateSetup } from '../utils/tetrateSetup'; +import { startOpenAISetup } from '../utils/openaiSetup'; +import { startAnthropicSetup } from '../utils/anthropicSetup'; import WelcomeGooseLogo from './WelcomeGooseLogo'; import { toastService } from '../toasts'; import { OllamaSetup } from './OllamaSetup'; -import { Goose } from './icons/Goose'; -import { OpenRouter } from './icons'; +import { Goose, OpenRouter, OpenAI, Anthropic, Tetrate } from './icons'; interface ProviderGuardProps { didSelectProvider: boolean; @@ -32,6 +33,7 @@ export default function ProviderGuard({ didSelectProvider, children }: ProviderG showRetry: boolean; autoClose?: number; } | null>(null); + const [tetrateSetupState, setTetrateSetupState] = useState<{ show: boolean; title: string; @@ -164,6 +166,28 @@ export default function ProviderGuard({ didSelectProvider, children }: ProviderG } }; + const handleOpenAISetup = async () => { + const result = await startOpenAISetup(); + if (result.requiresManualSetup) { + // Navigate to provider settings with OpenAI pre-selected + navigate('/welcome', { + replace: true, + state: { preselectedProvider: 'openai' } + }); + } + }; + + const handleAnthropicSetup = async () => { + const result = await startAnthropicSetup(); + if (result.requiresManualSetup) { + // Navigate to provider settings with Anthropic pre-selected + navigate('/welcome', { + replace: true, + state: { preselectedProvider: 'anthropic' } + }); + } + }; + useEffect(() => { const checkProvider = async () => { try { @@ -269,8 +293,8 @@ export default function ProviderGuard({ didSelectProvider, children }: ProviderG
- Since it's your first time here, let's get you setup with a provider so we can - make incredible work together. Scroll down to see options. +
+ Since it's your first time here, let's get you setup with a provider so we can + make incredible work together.
- Get secure access to multiple AI models, start for free. Quick setup with just - a few clicks. + Secure access to multiple AI models with automatic setup. Free tier available.
- Get instant access to multiple AI models including GPT-4, Claude, and more. - Quick setup with just a few clicks. + Access to GPT-4, Claude, Gemini and more with automatic OAuth setup.
- If you've already signed up for providers like Anthropic, OpenAI etc, you can - enter your own keys. + Direct access to GPT-4, GPT-4o, and other OpenAI models with your API key.
+ Access Claude 3.5 Sonnet, Claude 3 Opus, and other Anthropic models. +
++ Configure additional providers like Google, Groq, Ollama, and more. +
+