组件审查结论:全站组件为自绘 HTML+CSS 仿 AntD(纯静态无组件库), pro.css 已统一设计 token,但各页 CSS/JS 残留一批旧配色硬编码, pro.css 覆盖不到,本次全部清理: - 旧 iOS 红 #ff3b30 → --ant-error #ff4d4f(告警 P0/严重度/DLP 条/ 工艺 alarm 态/diff 删除行) - 旧橙 #f5a623 → --ant-warning #faad14(P1 告警/warning 态/暂存徽章) - 旧 iOS 绿 #2ecc71 → --ant-success #52c41a(running 态/prod 徽章/ 索引完成/路由本地标签/权限矩阵) - 杂色蓝统一 → --ant-primary #1677ff:发送键 #0ea5e9、P2 告警 #3aa0ff、编排画布残留青 rgba(24,211,200)、旧气泡 #1d4ed8 - 主色按钮上的深色文字 #04202a → #fff(对比度修正) - 灰 #64748b → --ant-text-tertiary rgba(0,0,0,0.45) - 各页 CSS :root 深色默认变量值(#0b1220/#13203a/#18d3c8 等死值) 对齐为 AntD 亮色默认值,修正"深色主题"过时注释 - 删除已无任何引用的旧深色登录页样式 auth/auth.css 顺带修复实测发现的 bug:SPA 外壳内直达 admin/studio 子页时页签 不切换——studio.js/admin.js 的 Tab 事件在异步 boot(user) 中绑定, bindPageTabs 的 window load 初始激活可能早于绑定完成,改为带重试 的激活(直到 Tab 点亮,最多 10s)。实测 #/admin/#alerts 直达后 page-alerts 正确激活。
web/admin — iAOP 管理控制台
issue #135 / PRD 8.1/8.2。纯静态单页(无构建链): 模型管理 / 知识库管理 / 告警确认 / 审计查询。
使用
# 从 web/ 根目录起服务(依赖 ../auth 守卫与 ../chat/citations.json、
# ../cockpit/plans/alarm_panel.ti.json 相对路径)
cd web && python -m http.server 8084
# 打开 http://127.0.0.1:8084/admin/index.html
加载到 ../auth/auth.js 时强制登录(未登录跳登录页);纯静态独立运行时降级免登录演示。
页面与后端语义对齐
| 页签 | 能力 | 对齐 |
|---|---|---|
| 模型管理 | 模板列表、版本/阶段视图(dev/staging/prod 徽标)、注册新版本(semver 递增校验)、promote 逐级提升、rollback 回退、全程审计 | core/model-framework/template_registry.py(Stage/next_stage/_log) |
| 知识库管理 | 文档列表(标题/来源/章节数/索引状态)、上传并索引(浏览器端)、来源引用查看 | core/rag-kb/ 文档资产 + web/chat/citations.json 编译产物 |
| 告警确认 | 告警列表(P0/P1/P2 配色取自 alarm_panel.ti.json)、详情(LLM 解释 + SOP)、状态机 待处理→已确认→已闭环(P0 先确认后闭环) |
PRD 8.1 Alert 状态机、alert_rules.py severity、alarm_config.py 配色 |
| 审计查询 | 统一审计日志(时间/操作者/动作/资源/原因)、关键词+动作筛选、导出 JSON | template_registry._log / prompts.drain_audit 风格(#134 UserStore 审计) |
边界
数据持久化在 localStorage(Demo 级;模型/告警含 Ti 示例种子数据);
后端 HTTP 服务就绪后替换各 Store 读写即可,页面结构不变。
LLM 解释直连推理服务 http://39.101.182.167:30800/v1/chat/completions。