120 lines
4.8 KiB
HTML
120 lines
4.8 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="zh-CN">
|
||
<head>
|
||
<meta charset="utf-8">
|
||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||
<title>iAOP 管理控制台</title>
|
||
<link rel="stylesheet" href="admin.css">
|
||
</head>
|
||
<body>
|
||
<!-- iAOP 管理功能界面(issue #135 / PRD 8.1/8.2)
|
||
纯静态单页(无构建链):模型管理 / 知识库管理 / 告警确认 / 审计查询。
|
||
语义对齐后端内核:template_registry(dev/staging/prod 逐级 promote + 回滚)、
|
||
rag-kb 文档资产、PRD 8.1 告警状态机(待处理→已确认→已闭环)、_log 审计。 -->
|
||
<header id="topbar">
|
||
<h1>iAOP 管理控制台 <span class="sub">模型 / 知识库 / 告警 / 审计</span></h1>
|
||
<div id="topbar-right">
|
||
<span id="who" class="hint"></span>
|
||
<a href="../cockpit/index.html">驾驶舱</a>
|
||
<a href="../studio/index.html">配置台</a>
|
||
</div>
|
||
</header>
|
||
|
||
<nav id="tabs">
|
||
<button class="tab active" data-page="models">模型管理</button>
|
||
<button class="tab" data-page="kb">知识库管理</button>
|
||
<button class="tab" data-page="alerts">告警确认</button>
|
||
<button class="tab" data-page="audit">审计查询</button>
|
||
</nav>
|
||
|
||
<!-- ======================= 模型管理 ======================= -->
|
||
<section class="page active" id="page-models">
|
||
<div class="panel">
|
||
<h2>模型模板列表(阶段:dev → staging → prod,对齐 template_registry)</h2>
|
||
<div class="row">
|
||
<input id="model-name" placeholder="模型名,如 quality_forecast">
|
||
<input id="model-version" placeholder="初始版本,如 1.0.0">
|
||
<button id="btn-register" class="primary">注册新版本</button>
|
||
<span class="hint">语义对齐 core/model-framework/template_registry.py:promote 逐级提升、rollback 回退、全程审计</span>
|
||
</div>
|
||
<table>
|
||
<thead><tr><th>模型</th><th>版本</th><th>阶段</th><th>作者</th><th>更新时间</th><th>操作</th></tr></thead>
|
||
<tbody id="model-tbody"></tbody>
|
||
</table>
|
||
</div>
|
||
</section>
|
||
|
||
<!-- ======================= 知识库管理 ======================= -->
|
||
<section class="page" id="page-kb">
|
||
<div class="panel">
|
||
<h2>知识库文档(来源:templates/*/rag-kb/documents,经 build_citations 索引)</h2>
|
||
<div class="row">
|
||
<input type="file" id="kb-file" accept=".md,.txt">
|
||
<button id="btn-kb-upload" class="primary">上传并索引</button>
|
||
<span id="kb-hint" class="hint"></span>
|
||
</div>
|
||
<table>
|
||
<thead><tr><th>文档</th><th>来源</th><th>章节数</th><th>索引状态</th><th>操作</th></tr></thead>
|
||
<tbody id="kb-tbody"></tbody>
|
||
</table>
|
||
<div id="kb-detail" class="detail" hidden></div>
|
||
</div>
|
||
</section>
|
||
|
||
<!-- ======================= 告警确认 ======================= -->
|
||
<section class="page" id="page-alerts">
|
||
<div class="split-alerts">
|
||
<div class="panel">
|
||
<h2>告警列表(状态机:待处理 → 已确认 → 已闭环,PRD 8.1)</h2>
|
||
<div class="row">
|
||
<select id="alert-filter">
|
||
<option value="">全部状态</option>
|
||
<option value="pending">待处理</option>
|
||
<option value="acked">已确认</option>
|
||
<option value="closed">已闭环</option>
|
||
</select>
|
||
<span class="hint">severity 配色来自 alarm_panel.ti.yaml(P0 红 / P1 黄 / P2 蓝)</span>
|
||
</div>
|
||
<div id="alert-list"></div>
|
||
</div>
|
||
<div class="panel" id="alert-detail-panel">
|
||
<h2>告警详情(LLM 解释 + SOP)</h2>
|
||
<div id="alert-detail"><p class="hint">选择左侧告警查看详情</p></div>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
|
||
<!-- ======================= 审计查询 ======================= -->
|
||
<section class="page" id="page-audit">
|
||
<div class="panel">
|
||
<h2>操作审计日志</h2>
|
||
<div class="row">
|
||
<input id="audit-q" placeholder="关键词(操作者/资源/原因)">
|
||
<select id="audit-action">
|
||
<option value="">全部动作</option>
|
||
<option value="create">create</option>
|
||
<option value="update">update</option>
|
||
<option value="delete">delete</option>
|
||
<option value="publish">publish</option>
|
||
<option value="rollback">rollback</option>
|
||
<option value="promote">promote</option>
|
||
<option value="ack">ack</option>
|
||
<option value="close">close</option>
|
||
<option value="login">login</option>
|
||
</select>
|
||
<button id="btn-audit-filter">筛选</button>
|
||
<button id="btn-audit-export" class="primary">导出 JSON</button>
|
||
</div>
|
||
<table>
|
||
<thead><tr><th>时间</th><th>操作者</th><th>动作</th><th>资源</th><th>结果/原因</th></tr></thead>
|
||
<tbody id="audit-tbody"></tbody>
|
||
</table>
|
||
</div>
|
||
</section>
|
||
|
||
<script src="../auth/auth.js"></script>
|
||
<script src="../auth/user_store.js"></script>
|
||
<script src="admin.js"></script>
|
||
</body>
|
||
</html>
|