mirror of
https://gitcode.com/JianFeeeee/HomeAgent.git
synced 2026-09-21 17:38:10 +00:00
fix: WebUI 版本显示 + Windows 交叉编译 + 发布脚本三处回归
## WebUI 版本链路修复 问题:handler.go:949 报的是 sdk.SDKVersion,那条链最终指向 SDK 仓 meta.Version 的硬编码值,与 -ldflags 注入的内核版本 完全不相交。构建时间、commit hash 全部丢失。 dashboard.html 兜底值是 '0.1.0'——碰巧版本号相等时不显眼, 一旦不等就报错。 修复: - KernelStatus 新增 BuildStatus 字段(Version/Commit/BuildTime/SDKCompatible/KernelName) 取自 internal/meta(-ldflags 注入点),与接口冻结无关(KernelStatus 只在 internal/sdk) - /api/v1/status 改用 meta.Version,另加 sdk_version 字段暴露 SDK 版本 - dashboard.html 概览卡显示 HomeAgent vX.Y.Z + commit/日期/SDK 兼容版本, 去掉 || '0.1.0' 误导性兜底 ## Windows 交叉编译修复 问题:internal/plugin/dynamic_proc_windows.go(Part 1 的桩,610e9d0)只定义了 tryLoadProc,但平台中立的 registry.go 还在调 loadProc / closeProcHost——这两个 函数只在 dynamic_proc_unix.go 里。Windows 下整个 homed 从 Part 1 起编译不过。 plan.md §12.5 声称「Windows 只做了交叉编译,无真机验证」——实际是连编译都没通过。 修复:dynamic_proc_unix.go / dynamic_proc_windows.go 合并为平台中立的 dynamic_proc.go(文件内无任何平台专属调用,proc 包内部通过 shmalloc_* / evtfd_* / shmpass_* / procattr_* 各自带构建标签处理差异)。 ## 发布脚本三处回归修复 deploy/packaging/build.sh(从 package/build.sh 移到 deploy/packaging/ 后): 1. PROJECT_ROOT 少一层目录(.. → ../..),产物落进 deploy/build/ 而非根目录 2. initconfig 从未被构建,但 installer.nsi 和 package-linux.sh 都引用它 3. GO 兜底路径指向 /home/jianf/go1.26.5(陈旧硬编码)改为 command -v go 4. electron-builder --config package.json 校验整个文件导致 devDependencies 被判为 unknown property,去掉 --config 让它从 build 键读配置 deploy/packaging/package-linux.sh: 1. build_go() 补上 initconfig 构建步骤 2. GO 兜底路径同步修复 知识库 3 条重写 + 1 条新增: - homeagent_identity:v0.9.0 C ABI → v1.0.0 子进程 - homeagent_architecture:全篇重写为子进程架构(三面通信、Supervisor 台账、 崩溃自愈、权限三道闸) - homeagent_recent_updates:在 v0.9.0 前插入 v1.0.0 主线摘要 - changelog_v1.0.0(新建):6 类缺陷消除、架构、实测、已知限制、迁移指引
This commit is contained in:
@ -2669,6 +2669,24 @@
|
||||
applyI18n();
|
||||
}
|
||||
|
||||
// fmtBuild 把构建身份压成一行:commit + 构建时间(日期部分)。
|
||||
//
|
||||
// 未注入 ldflags 的本地构建会得到 "unknown",此时只显示 SDK 版本,
|
||||
// 避免把 "unknown / unknown" 这种噪音摆在概览卡上。
|
||||
function fmtBuild(b, s) {
|
||||
var parts = [];
|
||||
var commit = (b && b.commit) || (s && s.commit) || "";
|
||||
if (commit && commit !== "unknown") parts.push(commit);
|
||||
var bt = (b && b.build_time) || (s && s.build_time) || "";
|
||||
if (bt && bt !== "unknown") {
|
||||
// 2026-09-03T05:55:35Z → 2026-09-03
|
||||
parts.push(String(bt).split("T")[0]);
|
||||
}
|
||||
var sdkv = (b && b.sdk_compatible) || (s && s.sdk_version) || "";
|
||||
if (sdkv) parts.push("SDK " + sdkv);
|
||||
return parts.length ? parts.join(" · ") : "-";
|
||||
}
|
||||
|
||||
function fmtUptime(ms) {
|
||||
var s = Math.floor(ms / 1000);
|
||||
if (s < 60) return s + "s";
|
||||
@ -2724,7 +2742,18 @@
|
||||
'<div class="kv-row"><span class="key">' +
|
||||
__("版本", "Version") +
|
||||
'</span><span class="val">' +
|
||||
escHtml(s.version || "0.1.0") +
|
||||
escHtml(
|
||||
k?.build?.version
|
||||
? (k.build.kernel_name || "HomeAgent") + " v" + k.build.version
|
||||
: s.version
|
||||
? "v" + s.version
|
||||
: "-",
|
||||
) +
|
||||
"</span></div>" +
|
||||
'<div class="kv-row"><span class="key">' +
|
||||
__("构建", "Build") +
|
||||
'</span><span class="val">' +
|
||||
escHtml(fmtBuild(k?.build, s)) +
|
||||
"</span></div></div>";
|
||||
if (k) {
|
||||
html +=
|
||||
|
||||
Reference in New Issue
Block a user