4 workflow/35 维度走查产出:P0(2 已修)+ P1(4 修 + 2 专项登记)+ P2/P3 清单 + 推翻假设(AiChat 798 非 God / human_node 测试 76% 无债)。每发现 file:line 源码佐证。
1.7 KiB
1.7 KiB
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)。 - 状态态(加载/空/错误)各页完整。