diff --git a/apps/desktop/src/renderer/features/settings/model-config-form.tsx b/apps/desktop/src/renderer/features/settings/model-config-form.tsx index 83922866..5533dba1 100644 --- a/apps/desktop/src/renderer/features/settings/model-config-form.tsx +++ b/apps/desktop/src/renderer/features/settings/model-config-form.tsx @@ -78,6 +78,18 @@ export interface ModelConfigFormProps { const SUGGESTED_MODELS = ["glm-5.2", "claude-sonnet-4-6", "qwen3.7-plus"] as const const SUGGESTED_EMBED = ["text-embedding-v4"] as const +/** + * Disclosure 右侧摘要用短标签:本地 GGUF 常是整段绝对路径,塞进 summary + * 会把标题挤竖排(见 disclosure.tsx)。API 模型名通常本身就短,原样返回。 + */ +function shortModelLabel(model: string): string { + if (model === "") return "—" + const slash = Math.max(model.lastIndexOf("/"), model.lastIndexOf("\\")) + if (slash < 0) return model + const base = model.slice(slash + 1) + return base === "" ? model : base +} + export function ModelConfigForm({ onSaved, saveLabel }: ModelConfigFormProps) { const { t } = useDynamicTranslation("settings") const config = useRuntimeConfig() @@ -461,7 +473,7 @@ export function ModelConfigForm({ onSaved, saveLabel }: ModelConfigFormProps) { diff --git a/packages/design/src/components/disclosure.tsx b/packages/design/src/components/disclosure.tsx index 0e7a4e2a..1f3ec78a 100644 --- a/packages/design/src/components/disclosure.tsx +++ b/packages/design/src/components/disclosure.tsx @@ -78,6 +78,12 @@ export function Disclosure({ strokeLinejoin="round" /> + {/* + 标题列必须能拿到正常宽度。以前 summary 写 `shrink-0`,一旦右侧塞进 + 无空格长串(本地 GGUF 绝对路径之类),整行被挤到只剩 ~1 字宽, + 标题/说明就逐字竖排 —— 设置页「向量模型自定义」就是这个样子。 + summary 改成可收缩 + truncate;完整内容靠 title 悬停看。 + */} {title} {hint === undefined ? null : ( @@ -85,7 +91,10 @@ export function Disclosure({ )} {summary === undefined ? null : ( - + {summary} )}