diff --git a/packages/client/ui-model-selection/src/client/ModelSelect.tsx b/packages/client/ui-model-selection/src/client/ModelSelect.tsx index 2377c09dd5..c497bcbe77 100644 --- a/packages/client/ui-model-selection/src/client/ModelSelect.tsx +++ b/packages/client/ui-model-selection/src/client/ModelSelect.tsx @@ -91,7 +91,14 @@ export function ModelSelect( const itemRefs = useRef<(HTMLButtonElement | null)[]>([]) const id = useId() - const groups = useMemo(() => orderModelProviders(state.groups), [state.groups]) + const accountProviderName = t('provider.account') + const groups = useMemo(() => orderModelProviders(state.groups).map(group => ({ + ...group, + provider: { + id: group.id, + name: group.id === 'deepseek-account' ? accountProviderName : group.name, + }, + })), [state.groups, accountProviderName]) const choices = useMemo(() => groups.flatMap(group => group.models.map(model => ({ group, @@ -431,8 +438,7 @@ export function ModelSelect( ) => ( {renderSlot('conversation.input.model.label', { - provider: { id: provider.id, name: provider.id === 'deepseek-account' ? t('provider.account') : provider.name }, - model, placement, selected, + provider, model, placement, selected, }, { fallback: model.name })} ) @@ -477,7 +483,7 @@ export function ModelSelect( > - {currentChoice === undefined ? modelLabel : renderModelLabel(currentChoice.group, currentChoice.model, 'trigger', true)} + {currentChoice === undefined ? modelLabel : renderModelLabel(currentChoice.group.provider, currentChoice.model, 'trigger', true)} {effortLabel !== undefined && {effortLabel}} {busy @@ -503,7 +509,7 @@ export function ModelSelect( @@ -573,7 +579,7 @@ export function ModelSelect( > {filteredGroups.map((group) => { return ( - + {group.models.map((model) => { const index = modelIndex++ const selected = state.current?.provider === group.id && state.current.model === model.id @@ -600,7 +606,7 @@ export function ModelSelect( onClick={() => { choose({ provider: group.id, model: model.id }) }} > - {renderModelLabel(group, model, 'option', selected)} + {renderModelLabel(group.provider, model, 'option', selected)} {pending?.provider === group.id && pending.model === model.id