AgentEvalTool/.scratch/ui-consistency/spec.md
2026-08-06 02:01:36 +08:00

3.9 KiB
Raw Permalink Blame History

UI 一致性重构 — Specgrill 共识沉淀)

日期2026-08-05 状态已完结2026-08-06 归档)

背景

管理后台 9 个业务页面约 4000 行交互模式不一致Runs/Reports 不用 PageWrapper、表单容器混用 Drawer/Modal、Files 删除无确认、空态/加载态/反馈方式各页不同。智能评估 v1.0 交付后,其页面模式成为事实上的最新标准。

决策清单grill 结论)

# 决策 结论
1 重构目标 交互层为主、视觉层顺带、信息架构不动
2 一致性基准 以智能评估页为标准,其他页面向它对齐
3 实施策略 先沉淀共享组件,再逐页迁移;每页一票一提交一验证
4 范围 9 个业务页面;排除 Login、OpenClawAI 助手嵌入应用)
5 行为边界 交互对齐优先:不一致处按标准修正,不增删业务功能、不动 API
6 迁移顺序 IntelligentEvals → Targets → Files → ModelConfigs → Scenarios → Runs → Reports → Campaigns
7 交互标准 见下表
8 验收 每票 tsc + t480 走查 + keep-alive 不回归;前 3 票后组件稳定检查点;基准页重走 P0 全流程;最终全量走查

交互标准(唯一基准)

模式 标准
页面骨架 PageWrapper inline fullHeight,标题 + 描述 + extra 区(刷新按钮 + 主操作按钮)
列表 Table + rowKey="id";空态用 Empty(带文案);加载用 Table 自带 loading
分页 超过 20 行才分页,否则 pagination={false}
表单 Drawer 宽 640、layout="vertical"、底部 footer取消/主按钮)、destroyOnClose、提交前本地校验
详情 页内视图切换或右侧 Drawer 弹出(不加新路由,列表常驻);顶栏左「标题 + 状态 Tag」、右动作按钮Drawer 内容自滚动body padding 0 + 根容器 16px 内边距)
危险操作 统一 Popconfirm(含删除、取消等不可逆动作),禁用 window.confirm 和无确认删除
反馈 错误统一由 axios 拦截器弹 message.error;成功由动作函数显式 message.success
轮询 活跃态外部会变化的状态5 秒静默轮询

实施风险与护栏

  1. **Runs/Reports 的「导航内容分离」**是绕过 AntD CSS-in-JS 冲突的 hack见 AGENTS.md 陷阱 3迁移时必须保留其行为只统一外壳。
  2. Campaigns 的独特交互(时间线、探索区、分析区)不做模式化改造,只统一页面外壳与基础模式。
  3. keep-alive 架构不动:所有页面仍按顶级路径挂载,详情仍是页面内部状态。
  4. 只抽取 ≥2 个页面会用的共享件,防止过度抽象。第一版只抽 FormDrawer(表单 Drawer 标准件)与 usePolling(活跃态轮询 hook
  5. 每票据:一个页面、一次提交、一次 t480 部署走查。

票据规划

.scratch/ui-consistency/issues/。依赖链01 → 02/03检查点→ 0408 → 09。

归档收口2026-08-06

交付9 张票据全部完成并验收勾选issues/0109t480 全页走查通过golden path + keep-alive 切 tab

实施提交

  • d4c254e 票据 01FormDrawer/usePolling 基准件 + IntelligentEvals dogfood
  • 15d0d12 / 2e78c4b / f131657 / 1588972 / b9011aa / 5077f08 / 11b1590:票据 0208 逐页迁移
  • 0832445:票据 09交互标准写入 AGENTS.md
  • 9f25728 / 1fbd2bc:标准补充与验收归档

基准后的智能评估演进(反哺标准,已同步 ADR-0005 与 AGENTS.md

  • 935f0a1 列表打开方式对齐操作列按钮
  • 1d2c372 详情/报告改右侧 Drawer列表常驻
  • 22cc437 抽屉顶栏:返回按钮移除、动作右对齐
  • 01f451c 详情两列布局 + 报告统计行与维度得分图
  • 804880f 抽屉顶部内边距修复

验证pytest 674 全绿、tsc --noEmit 通过;全部变更已部署 t480。