Files
DevFlow/docs/walkthrough-2026-08/ideas_frontend_walkthrough.md
T
lxy ef77120912 文档: 全库走查报告(walkthrough-2026-08,summary + 4 分方向)
4 workflow/35 维度走查产出:P0(2 已修)+ P1(4 修 + 2 专项登记)+ P2/P3 清单 +
推翻假设(AiChat 798 非 God / human_node 测试 76% 无债)。每发现 file:line 源码佐证。
2026-08-02 03:19:25 +08:00

29 lines
1.7 KiB
Markdown

# 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`)。
- 状态态(加载/空/错误)各页完整。