fix(ui): make Claude Desktop model-mapping placeholders role-consistent

The menu display name and request model columns used mismatched example
brands (DeepSeek vs Kimi), implying a display name maps to an unrelated
request model. Derive both placeholders from the row role so each row
stays brand-consistent, and route the lightweight Haiku tier to a flash
example (deepseek-v4-flash) while other tiers use deepseek-v4-pro.
This commit is contained in:
Jason
2026-06-13 20:16:09 +08:00
Unverified
parent 4f8a79c273
commit 526bb60f5c
@@ -942,6 +942,15 @@ export function ClaudeDesktopProviderForm({
: t("claudeDesktop.routeRoleSonnet", {
defaultValue: "Sonnet",
});
// Haiku 档示范映射到轻量模型(flash),其余档映射到 pro;
// 两列占位联动,保持每行「菜单显示名 ↔ 实际请求模型」品牌一致。
const isHaikuRole = role === "haiku";
const labelPlaceholder = isHaikuRole
? "DeepSeek V4 Flash"
: "DeepSeek V4 Pro";
const modelPlaceholder = isHaikuRole
? "deepseek-v4-flash"
: "deepseek-v4-pro";
return (
<div
key={route.rowId}
@@ -957,7 +966,7 @@ export function ClaudeDesktopProviderForm({
labelOverride: event.target.value,
})
}
placeholder="DeepSeek V4 Pro"
placeholder={labelPlaceholder}
/>
<div className="flex gap-1">
<Input
@@ -965,7 +974,7 @@ export function ClaudeDesktopProviderForm({
onChange={(event) =>
updateRoute(index, { model: event.target.value })
}
placeholder="kimi-k2 / deepseek-chat"
placeholder={modelPlaceholder}
className="flex-1"
/>
{fetchedModels.length > 0 && (