feat(admin): 审计 & 安全事件页(T4.B 收尾)

- 新增「审计 & 安全」页(/audit,运维组):接 /admin/audit + /admin/guardrail-events
  - 安全事件:护栏拦截/灰区放行(kind 徽标 + 原因 + method/path + actor/ip/时间)
  - 操作审计:变更操作(方法配色徽标 + 路径 + 状态码着色 + actor/ip/时间)
  - 顶栏统计(操作留痕/护栏拦截/灰区) + 30s 自刷 + 手动刷新
- api.ts 增 listAudit / listGuardrailEvents + 类型
- 风格对齐重做后的服务状态页(中性克制)
- T4.B 整组完成(剩 HITL 审批明细可选小项)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Blizzard
2026-07-02 09:43:41 +08:00
parent 9e43d07428
commit a830ae2a04
4 changed files with 190 additions and 3 deletions
+8
View File
@@ -14,6 +14,7 @@ const EvalsPage = lazy(() => import("./pages/EvalsPage").then((m) => ({ default:
const TenantsPage = lazy(() => import("./pages/TenantsPage").then((m) => ({ default: m.TenantsPage })));
const GuardrailsPage = lazy(() => import("./pages/GuardrailsPage").then((m) => ({ default: m.GuardrailsPage })));
const PromptsPage = lazy(() => import("./pages/PromptsPage").then((m) => ({ default: m.PromptsPage })));
const AuditPage = lazy(() => import("./pages/AuditPage").then((m) => ({ default: m.AuditPage })));
export interface RouteDef {
path: string;
@@ -73,6 +74,13 @@ export const routes: RouteDef[] = [
ready: true,
element: <EvalsPage />,
},
{
path: "/audit",
label: "审计 & 安全",
group: "运维",
ready: true,
element: <AuditPage />,
},
{
path: "/tenants",
label: "租户 & 用户",