v0.2.7
English
v0.2.7: Fix the blank API page on machines without a discrete GPU and backfill release history (2 commits since v0.2.6, per-commit core changes):
07f5730fix(frontend): guard null gpus in API page monitor rendering- Core: On machines without an NVIDIA GPU / nvidia-smi, sampleGPUs returned a nil slice which Go serialized as "gpus": null; Api.vue's status.gpus.length then threw a TypeError that blanked the whole page. The backend now always returns a non-nil empty slice (both exits use make([]MonitorGPU, 0)) and the frontend condition is hardened to status.gpus?.length as defense in depth.
38215e9docs: backfill release changelog and refresh architecture navigation- Core: CHANGELOG backfills the v0.2.6 / v0.2.5 / v0.2.3 entries (v0.2.4 was never released); AGENTS.md architecture navigation table syncs the Chat page, ModelDetail/ModelSettings standalone routes, core/router.go, core/i18n.go, tray/cross-device platform branches and the lib/ module list.
中文
v0.2.7: 修复无独立显卡机器 API 页空白并回填发布记录(v0.2.6 以来 2 个提交,按提交逐一说明核心改动):
07f5730fix(frontend): API 页监控渲染对 null gpus 防御- 核心:无 NVIDIA 独显 / nvidia-smi 不可用的机器上,后端 sampleGPUs 返回 nil slice,Go 序列化为
"gpus": null,Api.vue 模板status.gpus.length对 null 取值抛 TypeError 导致整页空白;后端 sampleGPUs 改为恒返回非 nil 空数组(两个出口均 make([]MonitorGPU,0)),前端 GPU 区块条件加固为status.gpus?.length双保险
- 核心:无 NVIDIA 独显 / nvidia-smi 不可用的机器上,后端 sampleGPUs 返回 nil slice,Go 序列化为
38215e9docs: 补录发布历史并刷新架构导航- 核心:CHANGELOG 补录 v0.2.6 / v0.2.5 / v0.2.3 条目(v0.2.4 从未发布,跳过);AGENTS.md 架构导航表同步 Chat 页、ModelDetail/ModelSettings 独立路由、core/router.go、core/i18n.go、tray/crossdevice 平台分支与 lib/ 模块清单