更新: 5 个文件 - 2026-03-18 09:50:04
这个提交包含在:
@@ -43,6 +43,8 @@ const DOC_HUB_ITEMS = [
|
||||
{ title: "仓库入口镜像", href: "/docs/root-readme.html", description: "根 README 的本地镜像,包含能力矩阵与主入口。", badge: "readme" },
|
||||
{ title: "授权模型", href: "/docs/authorization-model.html", description: "目标范围、授权模型、最小化验证建议和记录要求。", badge: "scope" },
|
||||
{ title: "source-map 镜像", href: "/docs/source-map.html", description: "系统覆盖、来源、输出目录和 secure-code 主题真值。", badge: "source-map" },
|
||||
{ title: "source catalog audit", href: "/docs/source-catalog-audit.html", description: "active/retired source、replacement map 与覆盖摘要。", badge: "audit" },
|
||||
{ title: "retired sources", href: "/docs/retired-sources.html", description: "退役源、退役原因和 replacement_sources 真值。", badge: "retired" },
|
||||
{ title: "repro-map 镜像", href: "/docs/repro-map.html", description: "默认漏洞家族、浏览器要求和日志策略真值。", badge: "repro-map" },
|
||||
{ title: "覆盖矩阵镜像", href: "/docs/coverage-matrix.html", description: "当前全库覆盖矩阵的本地镜像。", badge: "coverage" },
|
||||
{ title: "安全编码索引", href: "/docs/secure-code-index.html", description: "secure-code 修复主题索引镜像。", badge: "secure-code" },
|
||||
@@ -52,6 +54,10 @@ const DOC_HUB_ITEMS = [
|
||||
const DATA_HUB_ITEMS = [
|
||||
{ title: "summary.json", href: "/summary.json", description: "全局摘要、状态分布、最近失败与系统汇总。", badge: "json" },
|
||||
{ title: "completeness.json", href: "/data/completeness.json", description: "最新 advisory 完整度、系统/family 进度与 ingest 健康度。", badge: "json" },
|
||||
{ title: "source-health.json", href: "/data/source-health.json", description: "active source 健康度、失败分类与系统分布。", badge: "json" },
|
||||
{ title: "alerts.json", href: "/data/alerts.json", description: "source 告警状态机、failure streak 与 resolved 记录。", badge: "json" },
|
||||
{ title: "monitor-summary.json", href: "/data/monitor-summary.json", description: "每日监控摘要、open alerts 与最近全绿时间。", badge: "json" },
|
||||
{ title: "source-catalog-audit.json", href: "/data/source-catalog-audit.json", description: "source catalog 审计真值与 retired/replacement 关系。", badge: "json" },
|
||||
{ title: "runs.json", href: "/runs.json", description: "最近运行的结构化详情,可用于 UI 和调试。", badge: "json" },
|
||||
{ title: "systems.json", href: "/systems.json", description: "系统级覆盖、分类、更新时间和浏览器证据统计。", badge: "json" },
|
||||
{ title: "advisories.json", href: "/advisories.json", description: "漏洞条目元数据、来源和 secure-code 主题。", badge: "json" },
|
||||
@@ -87,6 +93,9 @@ const state = {
|
||||
profiles: {},
|
||||
architecture: null,
|
||||
completeness: null,
|
||||
sourceHealth: null,
|
||||
alerts: [],
|
||||
monitorSummary: null,
|
||||
selectedRunId: null,
|
||||
selectedArtifact: null,
|
||||
refreshHandle: null,
|
||||
@@ -279,38 +288,41 @@ function familyOptions() {
|
||||
|
||||
function metricCards() {
|
||||
const completeness = state.completeness || state.summary?.completeness || {};
|
||||
const successCount = Number(completeness.verified_real || 0) + Number(completeness.verified_synthetic || 0);
|
||||
const blockedCount = Number(completeness.blocked || 0);
|
||||
const inProgressCount = Number(completeness.manual || 0);
|
||||
const monitoring = state.monitorSummary || state.summary?.monitoring || {};
|
||||
const advisoryTotal = Number(completeness.advisory_total || state.summary?.advisory_count || 0);
|
||||
const advisorySuccess = Number(completeness.verified_real || 0);
|
||||
const activeSources = Number(monitoring.active_source_count || state.sourceHealth?.active_source_count || 0);
|
||||
const greenSources = Number(monitoring.green_source_count || state.sourceHealth?.green_source_count || 0);
|
||||
const openAlerts = Number(monitoring.open_alert_count || state.sourceHealth?.open_alert_count || 0);
|
||||
const lastFullyGreen = monitoring.last_fully_green_run || state.sourceHealth?.last_fully_green_run || "";
|
||||
|
||||
return [
|
||||
{
|
||||
label: "最新 advisory",
|
||||
value: advisoryTotal,
|
||||
label: "advisory 完整度",
|
||||
value: `${advisorySuccess}/${advisoryTotal}`,
|
||||
note: `历史运行 ${state.summary?.run_count || 0} 次`,
|
||||
color: "var(--accent-purple)",
|
||||
color: "var(--accent-green)",
|
||||
iconName: "report"
|
||||
},
|
||||
{
|
||||
label: "实证成功",
|
||||
value: successCount,
|
||||
note: "真实版本 + 合成靶场",
|
||||
color: "var(--accent-green)",
|
||||
label: "active sources",
|
||||
value: activeSources,
|
||||
note: `green ${greenSources}`,
|
||||
color: "var(--accent-blue)",
|
||||
iconName: "shield"
|
||||
},
|
||||
{
|
||||
label: "当前阻塞",
|
||||
value: blockedCount,
|
||||
note: "latest advisory 状态里的 blocked-*",
|
||||
label: "open alerts",
|
||||
value: openAlerts,
|
||||
note: "source-health 告警状态机",
|
||||
color: "var(--accent-red)",
|
||||
iconName: "failure"
|
||||
},
|
||||
{
|
||||
label: "待处理 / 进行中",
|
||||
value: inProgressCount,
|
||||
note: "人工分诊或待补证据的 latest advisory",
|
||||
color: "var(--accent-blue)",
|
||||
label: "最近全绿",
|
||||
value: lastFullyGreen ? formatDateTime(lastFullyGreen) : "-",
|
||||
note: "active source 集合最近一次全绿",
|
||||
color: "var(--accent-purple)",
|
||||
iconName: "timeline"
|
||||
}
|
||||
];
|
||||
|
||||
在新工单中引用
屏蔽一个用户