diff --git a/frontend-web/src/components/workspace/agents/agent-card.tsx b/frontend-web/src/components/workspace/agents/agent-card.tsx index 5d96b7e0..3dd8052f 100644 --- a/frontend-web/src/components/workspace/agents/agent-card.tsx +++ b/frontend-web/src/components/workspace/agents/agent-card.tsx @@ -510,6 +510,15 @@ export function AgentCard({ agent, layout = "card" }: AgentCardProps) { ) : null; + // 技能英文名 → 中文名映射,用于把智能体的技能徽章显示为中文(agent.skills 只存英文名)。 + const skillNameZhMap = useMemo(() => { + const map = new Map(); + for (const s of skills) { + if (s.name_zh?.trim()) map.set(s.name, s.name_zh.trim()); + } + return map; + }, [skills]); + const skillBadgeItems = [ ...(agent.tool_groups ?? []).map((group) => ({ key: `tg:${group}`, @@ -532,7 +541,7 @@ export function AgentCard({ agent, layout = "card" }: AgentCardProps) { setDetailSkillName(skill); }} > - {desensitize(skill)} + {skillNameZhMap.get(skill) ?? desensitize(skill)} ), })), @@ -831,7 +840,11 @@ export function AgentCard({ agent, layout = "card" }: AgentCardProps) { title={desensitize(skill.description ?? "")} className="h-8 min-w-0 flex-1 rounded-r-none" > - {desensitize(skill.name)} + + {skill.name_zh?.trim() + ? skill.name_zh + : desensitize(skill.name)} + + + )} + + {canManage ? ( +
+ setNameZhDraft(event.currentTarget.value)} + placeholder="为该技能设置中文名称(留空则使用英文名)" + className="h-8 text-sm" + disabled={generateNameZh.isPending} + /> + +
+ ) : ( +

+ {skill?.name_zh?.trim() ? skill.name_zh : "未设置"} +

+ )} + {editing ? (