From 526bb60f5c6edbfac2945136af3d2c5db76babbe Mon Sep 17 00:00:00 2001 From: Jason Date: Sat, 13 Jun 2026 20:16:09 +0800 Subject: [PATCH] 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. --- .../providers/forms/ClaudeDesktopProviderForm.tsx | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/components/providers/forms/ClaudeDesktopProviderForm.tsx b/src/components/providers/forms/ClaudeDesktopProviderForm.tsx index 64f4b1ae5..bd0fd3e44 100644 --- a/src/components/providers/forms/ClaudeDesktopProviderForm.tsx +++ b/src/components/providers/forms/ClaudeDesktopProviderForm.tsx @@ -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 (
updateRoute(index, { model: event.target.value }) } - placeholder="kimi-k2 / deepseek-chat" + placeholder={modelPlaceholder} className="flex-1" /> {fetchedModels.length > 0 && (