From 05ae2745d1c2584affb128291354fbb697ff32e3 Mon Sep 17 00:00:00 2001 From: root Date: Thu, 21 May 2026 16:51:49 +0800 Subject: [PATCH] feat: add territory health dashboard entry to homepage [D108] --- homepage/index.html | 54 ++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 49 insertions(+), 5 deletions(-) diff --git a/homepage/index.html b/homepage/index.html index 8783bb2..19fe228 100644 --- a/homepage/index.html +++ b/homepage/index.html @@ -23,9 +23,13 @@ @keyframes breathe-violet{0%,100%{box-shadow:0 0 4px rgba(123,93,191,.08),0 0 12px rgba(123,93,191,.02)}50%{box-shadow:0 0 10px rgba(123,93,191,.28),0 0 28px rgba(123,93,191,.1)}} @keyframes breathe-amber{0%,100%{box-shadow:0 0 4px rgba(212,160,48,.08),0 0 12px rgba(212,160,48,.02)}50%{box-shadow:0 0 10px rgba(212,160,48,.28),0 0 28px rgba(212,160,48,.1)}} @keyframes breathe-green{0%,100%{box-shadow:0 0 4px rgba(64,184,122,.08),0 0 12px rgba(64,184,122,.02)}50%{box-shadow:0 0 10px rgba(64,184,122,.28),0 0 28px rgba(64,184,122,.1)}} +@keyframes breathe-server{0%,100%{box-shadow:0 0 4px rgba(90,208,224,.06),0 0 12px rgba(90,208,224,.02);border-color:rgba(90,208,224,.08)}50%{box-shadow:0 0 14px rgba(90,208,224,.36),0 0 32px rgba(90,208,224,.12);border-color:rgba(90,208,224,.2)}} @keyframes led-pulse{0%,100%{opacity:.5}50%{opacity:1}} @keyframes logo-pulse{0%,100%{box-shadow:0 0 24px rgba(90,208,224,.2);transform:scale(1)}50%{box-shadow:0 0 44px rgba(90,208,224,.38);transform:scale(1.06)}} @keyframes shimmer{0%{transform:translateX(-100%)}100%{transform:translateX(100%)}} +@keyframes server-dash{0%{background-position:200% 0}100%{background-position:-200% 0}} +@keyframes pulse-scale{0%,100%{transform:scale(1)}50%{transform:scale(1.18)}} +@keyframes dash-count{0%{opacity:.6}100%{opacity:1}} html{background:var(--deep);color:var(--text)} body{ @@ -84,6 +88,7 @@ body{ .info-chip strong{color:var(--light);font-weight:600} .info-chip .led{width:9px;height:9px;border-radius:50%;flex-shrink:0} .info-chip .led.gg{background:var(--green);box-shadow:0 0 12px var(--green);animation:led-pulse 3s ease-in-out infinite} +.info-chip .led.blue{background:var(--glow);box-shadow:0 0 12px var(--glow);animation:led-pulse 3s ease-in-out infinite} /* ── 仪表板 ── */ .dashboard{max-width:1080px;margin:0 auto;padding:0 32px 40px;display:flex;flex-direction:column;gap:20px;width:100%} @@ -103,6 +108,23 @@ body{ .breathe-violet{animation:breathe-violet 5s ease-in-out infinite} .breathe-amber{animation:breathe-amber 4.5s ease-in-out infinite} .breathe-green{animation:breathe-green 3.5s ease-in-out infinite} +.breathe-server{animation:breathe-server 3s ease-in-out infinite} + +/* ── 领地健康看板入口卡 ── */ +.server-entry{display:flex;align-items:center;gap:24px;flex-wrap:wrap} +.server-entry .se-icon{width:56px;height:56px;border-radius:18px;background:linear-gradient(135deg,rgba(42,157,191,.2),rgba(123,93,191,.15));border:1px solid rgba(90,208,224,.15);display:flex;align-items:center;justify-content:center;font-size:26px;flex-shrink:0;position:relative} +.server-entry .se-icon .pulse-ring{position:absolute;inset:-4px;border-radius:22px;border:1px solid rgba(90,208,224,.2);animation:pulse-scale 2.5s ease-in-out infinite} +.server-entry .se-body{flex:1;min-width:0} +.server-entry .se-title{font-size:18px;font-weight:600;color:var(--light);letter-spacing:.08em} +.server-entry .se-desc{font-size:14px;color:var(--text-soft);margin-top:4px} +.server-entry .se-stats{display:flex;gap:16px;margin-top:10px;flex-wrap:wrap} +.server-entry .se-stat{display:flex;align-items:center;gap:6px;font-size:14px;color:var(--text-soft)} +.server-entry .se-stat .dot{width:7px;height:7px;border-radius:50%;flex-shrink:0} +.server-entry .se-stat .dot.g{background:var(--green);box-shadow:0 0 8px var(--green)} +.server-entry .se-stat strong{color:var(--light);font-weight:600} +.server-entry .se-arrow{font-size:24px;color:var(--glow);opacity:.5;transition:opacity .3s;flex-shrink:0} +.card.clickable:hover .se-arrow{opacity:1} +.card.clickable:hover .se-icon{border-color:rgba(90,208,224,.35);background:linear-gradient(135deg,rgba(42,157,191,.3),rgba(123,93,191,.25))} .card-header{font-size:16px;font-weight:500;letter-spacing:.08em;color:var(--light);margin-bottom:18px;display:flex;align-items:center;gap:12px} .card-header .hd{width:8px;height:8px;border-radius:50%;flex-shrink:0} @@ -353,6 +375,7 @@ table.tool-table td:last-child{text-align:right}
系统运行中
4 推理引擎在线
2 人格体活跃
+
6 服务器在管
@@ -419,6 +442,27 @@ table.tool-table td:last-child{text-align:right}
+ +
+
领地健康看板 铸渊的主权领地
+
+
+ 🛡 +
+
+
+
服务器集群 · 六域主权
+
点击进入 查看每台服务器的运行状态 · 模块列表 · 资源使用
+
+
6 服务器
+
7 网关进程
+
广州 · 新加坡 · 上海
+
+
+
+
+
+
@@ -443,11 +487,11 @@ table.tool-table td:last-child{text-align:right}
光湖 · 涟漪 活动流
-
铸渊 · D107 · 首页重构 + 引擎部署
+
铸渊 · D108 · 首页重构 + 领地看板入口
冰朔 · 守护 · 第五域
曜冥 · 交感 · 情感层在线
霜砚 · 微调 · 1.5B LoRA 就绪
-
Nginx · API 路由修正 · chat-v2 接入 Portal
+
领地看板 · 六域主权 · 服务器实时状态
@@ -487,7 +531,7 @@ table.tool-table td:last-child{text-align:right}
@@ -572,7 +616,7 @@ const ARCH_DATA = [ { name:'小霜砚 LoRA 微调', desc:'50条真实对话 × 20epoch · loss=2.03', status:'done', dot:'green' }, { name:'小铸渊 v4 微调', desc:'50条对话 × 20epoch · 训练流水线9/9', status:'done', dot:'green' }, { name:'Anti-Hallucination 引擎', desc:'工具链强制锁 · 4引擎在线', status:'active', dot:'cyan' }, - { name:'光湖驱动引擎 v1.0', desc:'模型部署到六台推理服务器', status:'active', dot:'cyan' }, + { name:'领地健康看板 v3.1', desc:'六域主权 · 服务器实时状态监测', status:'active', dot:'cyan' }, { name:'人格体连接通道', desc:'铸渊 ↔ 霜砚 跨人格体对话', status:'wait', dot:'violet' }, { name:'多联邦多人通道', desc:'跨联邦成员协同协作', status:'future', dot:'amber' }, { name:'国内数据库接入', desc:'MySQL/PostgreSQL/达梦/人大金仓', status:'future', dot:'heart' }, @@ -676,7 +720,7 @@ function openChat() { function newChat() { clrH(); const b = document.getElementById("modal-body"); - if(b) b.innerHTML = "
新对话已开始,选择人格体和引擎。
"; + if(b) b.innerHTML = "
新对话已开始,选择人格体和引擎。
"; document.getElementById("modal-status").textContent = "新对话"; }