From e9c91ccc664c8940a1571e1f844683e8a4bf9e92 Mon Sep 17 00:00:00 2001 From: Jiayuan Zhang Date: Tue, 10 Feb 2026 23:23:22 +0800 Subject: [PATCH] fix(desktop): allow selecting configured providers in setup step Remove strict model validation from provider:set IPC handler that rejected custom models not in the static registry list (broke OpenRouter with user-typed models). Add error display to setup page. Co-Authored-By: Claude Opus 4.6 --- apps/desktop/src/main/ipc/provider.ts | 8 -------- apps/desktop/src/renderer/src/pages/onboarding/setup.tsx | 6 +++++- 2 files changed, 5 insertions(+), 9 deletions(-) diff --git a/apps/desktop/src/main/ipc/provider.ts b/apps/desktop/src/main/ipc/provider.ts index da3719bd..db27c50e 100644 --- a/apps/desktop/src/main/ipc/provider.ts +++ b/apps/desktop/src/main/ipc/provider.ts @@ -164,14 +164,6 @@ export function registerProviderIpcHandlers(): void { } } - // Validate model if specified - if (modelId && !meta.models.includes(modelId)) { - return { - ok: false, - error: `Model "${modelId}" is not available for provider "${providerId}". Available: ${meta.models.join(', ')}`, - } - } - try { const result = agent.setProvider(providerId, modelId) console.log(`[IPC] Provider switched to: ${result.provider}, model: ${result.model}`) diff --git a/apps/desktop/src/renderer/src/pages/onboarding/setup.tsx b/apps/desktop/src/renderer/src/pages/onboarding/setup.tsx index b8391f51..a38bb272 100644 --- a/apps/desktop/src/renderer/src/pages/onboarding/setup.tsx +++ b/apps/desktop/src/renderer/src/pages/onboarding/setup.tsx @@ -12,7 +12,7 @@ import { useOnboardingStore } from '../../stores/onboarding' export default function SetupStep() { const navigate = useNavigate() - const { providers, availableProviders, current, loading, refresh, setProvider } = + const { providers, availableProviders, current, loading, error, refresh, setProvider } = useProvider() const { setProviderConfigured } = useOnboardingStore() @@ -87,6 +87,10 @@ export default function SetupStep() { onFocus={setFocusedProvider} /> + {error && ( +

{error}

+ )} +