diff --git a/src/components/chat/view/subcomponents/CommandResultModal.tsx b/src/components/chat/view/subcomponents/CommandResultModal.tsx index 4e0bbe4e..9ee66224 100644 --- a/src/components/chat/view/subcomponents/CommandResultModal.tsx +++ b/src/components/chat/view/subcomponents/CommandResultModal.tsx @@ -346,7 +346,7 @@ function ModelsContent({ return (
-
+
@@ -387,17 +387,31 @@ function ModelsContent({
- +
+
+

+ Catalog Refresh +

+ + All providers + +
+

+ Model lists are cached for 3 days. Refresh after CLI, auth, or config changes, + or when a new model is missing. +

+ +
diff --git a/src/components/chat/view/subcomponents/ProviderSelectionEmptyState.tsx b/src/components/chat/view/subcomponents/ProviderSelectionEmptyState.tsx index 99e385ac..891f90c9 100644 --- a/src/components/chat/view/subcomponents/ProviderSelectionEmptyState.tsx +++ b/src/components/chat/view/subcomponents/ProviderSelectionEmptyState.tsx @@ -265,29 +265,29 @@ export default function ProviderSelectionEmptyState({ Model Selector
-
-
-

- Hard refresh model catalogs -

-

- Bypasses the 3-day backend cache and re-fetches models for every provider. -

-

- Last updated for {getProviderDisplayName(provider)}: {formatUpdatedAt(currentProviderCache?.updatedAt)} -

+
+
+
+

Choose a model

+

+ Catalogs are cached for 3 days. Refresh after CLI/auth changes or if a model is missing. +

+
+
- +

+ Refresh checks every provider and replaces the cached catalogs. Last updated for {getProviderDisplayName(provider)}: {formatUpdatedAt(currentProviderCache?.updatedAt)} +

diff --git a/src/components/onboarding/view/subcomponents/AgentConnectionsStep.tsx b/src/components/onboarding/view/subcomponents/AgentConnectionsStep.tsx index 3dfb25a9..5c66997a 100644 --- a/src/components/onboarding/view/subcomponents/AgentConnectionsStep.tsx +++ b/src/components/onboarding/view/subcomponents/AgentConnectionsStep.tsx @@ -1,5 +1,6 @@ import type { LLMProvider } from '../../../../types/app'; import type { ProviderAuthStatusMap } from '../../../provider-auth/types'; + import AgentConnectionCard from './AgentConnectionCard'; type AgentConnectionsStepProps = { @@ -36,6 +37,13 @@ const providerCards = [ iconContainerClassName: 'bg-teal-100 dark:bg-teal-900/30', loginButtonClassName: 'bg-teal-600 hover:bg-teal-700', }, + { + provider: 'opencode' as const, + title: 'OpenCode', + connectedClassName: 'bg-zinc-100 dark:bg-zinc-800/50 border-zinc-300 dark:border-zinc-600', + iconContainerClassName: 'bg-zinc-100 dark:bg-zinc-800', + loginButtonClassName: 'bg-zinc-800 hover:bg-zinc-900 dark:bg-zinc-700 dark:hover:bg-zinc-600', + }, ]; export default function AgentConnectionsStep({