# ideas + 前端 + UI/UX 走查(方向3 + 5 + UI/UX)

## df-ideas 灵感评估

- scoring.rs 7 维度合理,权重可配置。关键词表(scoring_keywords.rs)无过时。
- adversarial.rs 29KB:正反方 prompt 设计有效,LLM 返回解析容错(parse_llm_eval 正则兜底)。启发式降级(无 AI)合理。

## 前端 AiChat.vue(推翻假设)

- **AiChat.vue 798 行**(非 3000+ God),已抽 5 批(MessageList/ChatInput/ToolCard/TopBar/Sidebar),template 仅 128 行编排。memory `fe-arch-tech-debt` 过时。
- **P2**:status 无 union(types.ts AiMessage 无 status,AiChat.vue:557 + MessageList.vue:519 各定义 AiMessageWithStatus 局部 interface + cast 读)。改 status 字面量时编译器不拦截。
- **P2**:useAiEvents(908)/useToolCard(731)/useAiSend(504)仍偏大(composables 层,非 AiChat 内)。

## MessageList/MessageItem(P1,已修)

- **P1**:MessageList:682-691 仅 user 挂 MessageItem,但 MessageItem 完整实现 assistant/system/error(死代码)+ 悬空 emits(regenerate/retry 父不接)。**已修**(f719546):MessageItem 收敛 user-only(301→175 行,删 AI/system/error 分支 + 悬空 emits + 孤立 props)。

## 组件一致性

- **P2**:ApprovalPopup.vue:112-116 _placeholder hack(绕 useToolCardHeader 签名)+ :218-255 审批 action 与 ToolCard 两套(path 浮窗缺 always 选项)。
- **P3**:SkillMention(chip+popover 合一)vs MentionPopover(纯 popover)职责不对称。

## 交互流/样式/i18n/状态态

- 交互流(技能/@ /审批/停止三态/流式)边界覆盖完整。键盘可达性(Esc/Enter/↑↓)。
- 样式 CSS 变量(--df-*)统一。z-index 层级(本次修 SkillMention 浮层定位)。
- i18n 中英完整。硬编码中文少(对齐 memory `i18n-message-compile-blindspot`)。
- 状态态(加载/空/错误)各页完整。
