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