mirror of
https://gitcode.com/JianFeeeee/HomeAgent.git
synced 2026-09-28 13:23:03 +00:00
fix(webui): 修总览 KPI 长期空值(我上轮懒加载改出来的)+星图改银色
### ★ 严重问题:总览页 8 个 KPI 里有 5 个是空的 线上实测(https://homeagent.jianfgit.xyz): ["运行中状态","1h 22m 18s运行","0插件","v1.4.0…版本","—LLM", "—记忆","—文档","—运行时"] 对照 state:{"status":true,"kernel":false,"settings":0,"runtime":true} 根因是**我上一个提交(d3315c6 按页签懒加载)引入的**: 总览的插件数/版本/LLM/记忆/文档/运行时全部读 `state.kernel` (`updateOverview` 里写作 `(k && k.plugins)` 这类安全取值), 而我把 kernel 从 overview 的数据块里删掉了。 ⇒ 缺数据时不报错、**只显示「插件 0、记忆 —、文档 —」**, 看起来像「服务坏了」而不是像 bug —— 这类静默降级最难自查。 ★ 教训(已写进代码注释):依赖分析必须覆盖**整个调用链**。 我当初只 grep 了 `renderOverview` **直接**读的 state.*,漏了它间接 调用的 `updateOverview`。逐页重核后确认只有 overview 漏配,其余页签 (plugins/settings/kernel 各自要的)本来就是对的。 修复:overview 的 fetch 补回 kernel。kernel 拉过一次后不再重拉 (starmapFetchBlock 的节流),152KB 只在首屏付一次。 实测:["运行中状态","1m 15s运行","17插件","v1.4.0HomeAgent版本", "deepseekLLM","1200/893记忆","0文档","39 · 11M运行时"] ### 星图配色改银色(用户裁定) SM_COLOR_DIM: 0x7d8a9e(灰蓝)→ 0xc8ced8(银色)。 实测 colors: ["7d8a9e"] → ["c8ced8"] ### 关于「页面还是绿色」这个现象 线上内联的颜色实测已是 0x7d8a9e,缓存头也正确 (cache-control: no-cache, no-store, must-revalidate), 浏览器复现同样是灰蓝色 ⇒ 那是**已打开标签页里的旧 JS**: 页面 HTML 变了,但没重新加载的标签页不会自己换。 本提交部署后需**刷新页面**(Ctrl+Shift+R 强刷)才会看到新配色。 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@ -516,7 +516,19 @@ function toggleSidebar() {
|
||||
//
|
||||
// 于是「切到哪页才拉哪页的数据」成为结构性正确,而不是靠 if 串联。
|
||||
var TABS = {
|
||||
overview: { fetch: ["status", "runtime"], render: ["renderOverview"] },
|
||||
// ★ overview 必须拉 kernel:总览的 8 个 KPI 里有 5 个读它
|
||||
// (插件数 / 版本 / LLM / 记忆 / 文档 / 运行时),取值都写成
|
||||
// `(k && k.plugins)` 这种安全形式——于是缺数据时不报错,
|
||||
// **只显示「插件 0、记忆 —、文档 —」**,看起来像“服务坏了”。
|
||||
//
|
||||
// 我先前只 grep 了 renderOverview 直接读的 state.*,**漏了它间接
|
||||
// 调用的 updateOverview**,就把 kernel 从总览的数据块里删掉了。
|
||||
// 线上实测印证:state.kernel=false 而 status/runtime 有值。
|
||||
//
|
||||
// 教训:依赖分析必须覆盖**整个调用链**(render → 内部调用的 update*),
|
||||
// 只看入口函数的直接引用会漏。kernel 拉过一次后不再重拉
|
||||
// (见 starmapFetchBlock 的节流),152KB 只在首屏付一次。
|
||||
overview: { fetch: ["status", "runtime", "kernel"], render: ["renderOverview"] },
|
||||
chat: {
|
||||
fetch: ["status", "proxyServices", "terminals", "cmdHistory"],
|
||||
render: ["renderChat"],
|
||||
@ -5491,7 +5503,7 @@ var starmapLabelEl = null;
|
||||
// 1. 默认色改为低饱和灰蓝(全图统一,不假装在分类)
|
||||
// 2. 类型色只在**真的存在多种类型**时才按类型区分(见 smColorFor)
|
||||
// 3. 图例按实际节点集合动态生成,不列出永不出现的类型
|
||||
var SM_COLOR_DIM = 0x7d8a9e; // 中性灰蓝:单一类型时的全图色
|
||||
var SM_COLOR_DIM = 0xc8ced8; // 银色:单一类型时的全图色(用户裁定)
|
||||
var smTypeColors = {
|
||||
// 以下类型在真实数据里几乎不出现(仅 social.go 会产出 person),
|
||||
// 但保留定义:万一出现就能自动获得区分色 + 动态图例条目。
|
||||
|
||||
Reference in New Issue
Block a user