# Admin Next 双轨全量迁移修正计划 ## Summary `/admin-next/*` 继续作为新版影子路由开发,旧 AntD 控制台必须完整保留作为生产回退和行为对照。只有新版完成全功能 parity 并通过验收后,才能逐个切换旧路由;删除旧页面和移除 AntD 必须作为最后独立步骤,并等待明确确认。 ## Hard Rules - 未完成 parity checklist 前,不删除旧页面、不移除 AntD、不切旧入口。 - “旧版能删除”只表示新版能力达到替代标准,不表示立即删除旧版。 - 新版不能只做看板;旧版里可新增、编辑、删除、测试、触发、批量、轮询、WebSocket、权限控制、错误提示和确认弹窗的能力,都必须迁移。 - `/admin-next/*` 可以重做交互和视觉,但业务语义、API payload、权限和危险操作保护必须对齐旧版。 ## Design Direction - 风格采用“朴素工具化 + 轻微立体触感”:灰白/暗色低对比背景、清晰 1px 边框、轻微凸起/按下态、克制圆角、图标少量彩色。 - 禁止回到 soft-glass、hero、大发光、大渐变、大色块和装饰性卡片。 - 常规动作默认 icon-only + tooltip:刷新、重启、退出、复制、查看、编辑、删除、关闭、设置。 - 强意图动作保留实心文字按钮:保存、创建、确认、执行、测试连接。 - 页面统一 `16px` 外边距、`16px` 主区块间距、`12px` 面板 header/body 间距;表格标题和表体不能贴边。 - 所有页面遵守一屏工作台:`PageHeader` 之外只允许一个主内容区域吃满剩余高度;详情区、表格区和 Playground 消息区内部滚动,不能被父级裁掉。 - 页内 tabs 必须按旧版用户心智组织,而不是按后端接口名拆散;接口状态只能作为分区内部信息。 ## Implementation Plan 1. 恢复旧版安全网:恢复旧 AntD 页面、旧 `AppLayout`、旧 helper、AntD 依赖和旧路由;保留 `/admin-next/*` 影子路由。 2. 建立新版基础层:整理 admin-next token、按钮、tooltip、theme switch、sidebar account、`EntityTable`、`FormDialog`、`ConfirmDialog`、`DetailPanel`、移动端表格/卡片切换。 3. 拆掉通用看板页:每个模块建立真实业务页面、API adapter、form/mutation、轮询或 WebSocket 逻辑,不再用万能 Resource table 聚合展示。 4. 按模块迁移: - Dashboard:统计、WebSocket、健康检查、重启任务、任务日志、恢复探测。 - DataSources:内置源/自定义源/实时源、详情、stats、task-status、启停、触发、批量触发、清理数据。 - DataList:列表、summary、sources/types/countries、搜索、筛选、分页、详情、导出、分布。 - Collection Management:configs CRUD、builtin connect/test、target schemas、mappings、run/stop、stream status。 - Settings:system、notifications、security、SMTP、TV、integrations、collectors、测试连接、凭证指南。 - AI:provider、web search、OCR、prompt registry、playground 完整会话操作。 - Earth Content:brand、upload、delete/reset、boundary config/build/status、TV/content。 - Logs:sources、level/date/search、刷新、详情、复制、tail/snapshot。 - BGP:overview、collectors、incidents、anomalies、events、AI briefs。 - Alerts:系统告警、BGP 告警、态势告警,包含 ack/resolve/stats/brief。 - Users:list/create/edit/delete、role、Gatekeeper groups、权限显示。 - Auth:登录、注册、验证邮箱、重发、找回、重置、logout。 5. 每完成一个模块,对照旧页面跑 checklist;只有全部模块通过后,才提出旧路由切换和旧版删除。 ## Test Plan - 恢复阶段:`cd frontend && /home/ray/.bun/bin/bun install && /home/ray/.bun/bin/bun run build`。 - 旧路由检查:`/admin`、`/datasources`、`/settings`、`/ai`、`/logs` 必须继续打开旧版。 - 新路由检查:`/admin-next/*` 必须继续打开新版。 - 每模块 parity:读写删、测试连接、触发、批量、轮询、WebSocket、权限、错误提示、确认弹窗、移动端和滚动。 - 视觉检查:light/dark/system、低高度窗口、125%/150% 缩放、按钮/状态/badge 等高、无双滚动条。 ## Parity Checklist ### Dashboard - [x] `/dashboard/stats` 数据展示与旧版一致。 - [x] WebSocket 连接状态、健康状态、自动刷新语义一致。 - [x] 重启任务创建、轮询、日志查看、失败提示和恢复探测一致。 ### DataSources - [x] 内置源、自定义源、实时源分区清晰,不混表。 - [x] 详情、stats、task-status、enable/disable、trigger、trigger-batch、trigger-all、delete-data 与旧版一致。 - [x] 实时源 start/stop/restart、连接状态、任务状态与旧版一致。 ### DataList - [x] 列表、summary、sources/types/countries、搜索、筛选、分页参数与旧版一致。 - [x] 详情 metadata、分布摘要、JSON/CSV 导出与旧版一致。 - [x] 表格固定列、横向滚动、移动端卡片模式可用。 ### Collection Management - [x] configs/all、configs CRUD、builtin connect/test、custom sample 与旧版一致。 - [x] target schemas、mappings preview/list/update/activate 与旧版一致;propose/create 已提供表单化入口。 - [x] run-mapped、stop-mapped、stream-status 与旧版一致。 ### Settings - [x] system、notifications、security、SMTP、TV、integrations、collectors 表单字段完整。 - [x] SMTP test、AI/Web/OCR secrets、connect tests、preset refresh 与旧版一致。 - [x] credential guides、cache 清理、危险操作确认一致。 ### AI - [x] Provider、Web Search、OCR、Prompt Registry 配置保存/重置完整。 - [x] Playground thread/session/messages/status/stop/resend/edit 完整。 - [x] provider refresh、connect test、secrets 读取、错误提示和 loading 状态完整。 - [x] 页内 tabs 按旧版心智恢复为模型供应商、工具调用、提示词、Playground。 ### Earth Content - [x] brand get/save/delete/reset/upload 完整。 - [x] boundary status/config/build/build-status 完整。 - [x] TV/content 配置与旧版 Settings 入口一致。 ### Logs - [x] sources、level/date/search、limit、刷新参数与旧版一致。 - [x] 日志正文、详情展开、复制、空态和错误态完整。 ### BGP - [x] overview、collectors、incidents、anomalies、events 的 summary/list/detail 完整。 - [x] AI brief list/detail/generate 完整。 - [x] collector collect-location、刷新、结果详情和错误提示完整。 ### Alerts - [x] 系统告警 list/detail/ack/resolve/stats/AI brief 完整。 - [x] BGP incidents/anomalies/brief 完整。 - [x] 态势告警 stats/list/brief 完整。 ### Users - [x] list/create/edit/delete、role、Gatekeeper groups 完整。 - [x] 权限显示、普通用户限制和 super admin 行为一致。 ### Auth - [x] login/register/verify/resend cooldown/forgot/reset/logout/me 完整。 - [x] 未验证邮箱跳转、错误提示、成功跳转和 token store 行为一致。 ### Hierarchy Repair - [x] AI 不再按接口/状态拍平成一张表;模型供应商恢复为 provider -> model/API/key 层级。 - [x] 工具调用恢复为 Web Search/OCR -> provider/API/高级参数层级。 - [x] 提示词恢复为 group -> prompt 入口层级,保存/重置只作用于当前入口。 - [x] Settings/Earth 配置型页面使用父级列表 + 右侧正式表单,长内容在一屏内内部滚动。 ### Interaction Polish - [x] 不会产生歧义的刷新、复制、详情、批量、状态、清理等动作优先改为 icon-only + tooltip/title。 - [x] 强意图动作保留实心文字按钮,例如保存、创建、触发全部、生成简报、确认执行。 - [x] 按钮字号、高度、图标容器和 hover 触感统一,接近侧栏深色模式滑块的轻微立体风格。 - [x] 表格与详情之间增加可拖动竖向 resize handle,低高度和窄屏下不制造额外滚动条。 ### Page Information Architecture - [x] 页内 tab 默认使用中文;BGP、AI、OCR、Web Search、Playground、Schema 等专有名词按可识别性保留。 - [x] 信息观测类页面使用列表 + 详情,例如 BGP、Alerts、Logs、DataSources。 - [x] 配置管理类页面使用分层结构,例如 AI、Settings、Earth Content、Collection Management。 - [x] 采集管理已从纯表格看板改为分层管理:采集器、映射模板、目标 Schema、运行状态先选父级,再编辑或执行动作。