diff --git a/ui/src/components/settings/view/tabs/PilotDeckConfigTab.tsx b/ui/src/components/settings/view/tabs/PilotDeckConfigTab.tsx index d13f8937..b61b97da 100644 --- a/ui/src/components/settings/view/tabs/PilotDeckConfigTab.tsx +++ b/ui/src/components/settings/view/tabs/PilotDeckConfigTab.tsx @@ -589,9 +589,12 @@ function ModelRefInput({ placeholder?: string; }) { const selected = value ?? ''; + const noOptionsLabel = options.length === 0 + ? (placeholder ?? 'No models configured — add a provider first') + : (placeholder ?? 'Select a configured model'); const hasSelected = !selected || options.some((opt) => opt.value === selected); const selectOptions = [ - { value: '', label: placeholder ?? 'Select a configured model' }, + { value: '', label: noOptionsLabel }, ...options, ...(!hasSelected ? [{ value: selected, label: `Missing: ${selected}` }] : []), ]; diff --git a/ui/src/shared/catalogProviders.ts b/ui/src/shared/catalogProviders.ts index ab847e20..d721b6ed 100644 --- a/ui/src/shared/catalogProviders.ts +++ b/ui/src/shared/catalogProviders.ts @@ -98,6 +98,16 @@ export const CATALOG_PROVIDERS: CatalogProvider[] = [ { id: 'MiniMax-M2.7-highspeed', displayName: 'MiniMax M2.7 Highspeed', maxContextTokens: 1000000 }, ], }, + { + id: 'moonshot', + displayName: 'Moonshot AI (Kimi)', + protocol: 'openai', + defaultUrl: 'https://api.moonshot.cn/v1', + models: [ + { id: 'kimi-k2.6', displayName: 'Kimi K2.6', supportsImage: true, maxContextTokens: 262144 }, + { id: 'kimi-k1.5', displayName: 'Kimi K1.5', supportsImage: true, maxContextTokens: 131072 }, + ], + }, ]; export function findCatalogProviderById(id: string): CatalogProvider | undefined {