fd9b7d85b5
1. updateBatchBar() hasAgent 判断从 agent_api_key_set 改为 agent_version 2. 所有后端 AuditLog detail 字段统一中文 3. audit.html 操作/目标类型中文映射 4. terminal.html 断开覆盖层 + 重新连接按钮 5. Agent os_release 上报 + 前端系统版本拆分 Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
3.1 KiB
3.1 KiB
2026-05-27 Agent os_release 上报 + 前端系统版本拆分 + 空字段隐藏
变更摘要
- Agent 心跳和 /health 端点新增
os_release字段,读取/etc/os-release的 PRETTY_NAME(如 "Ubuntu 24.04 LTS") - servers.html 系统信息面板拆分为两卡片:「发行版」显示 os_release,「内核平台」显示 platform
- servers.html 详情面板描述/目标路径/认证方式空值时隐藏整行,不再显示
--
动机
- servers.html 系统版本列显示
Linux-6.8.0-31-generic-x86_64-with-glibc2.39(内核字符串),无法直观判断发行版 - 运维人员需要快速识别服务器是 Ubuntu 24 还是 Debian 12 等
- 空字段显示
--无意义,应该隐藏整行不占空间
涉及文件
Agent
web/agent/agent.py— 新增_os_release()函数;health 端点添加os_release字段;heartbeat payload 添加os_release字段
前端
web/app/servers.html— 系统信息面板拆分为「发行版」(siOSRelease/os_release) 和「内核平台」(siPlatform/platform) 两个独立卡片;描述/目标路径/认证方式空值时隐藏行(style.display),目标路径用<code>标签
技术细节
_os_release()读取/etc/os-release,解析PRETTY_NAME=行,如文件不存在返回空字符串- health 端点中也有内联的 os_release 检测(与 heartbeat 的
_os_release()逻辑相同) - 前端拆分为两个独立卡片:发行版 (
os_release) + 内核平台 (platform),各自独立赋值
部署过程问题
- 机器人 (66.154.115.131) Agent 升级后因旧进程占用 8601 端口导致 crash loop
- 原因:旧 Agent 进程未被 kill,新进程无法绑定端口
- 修复:
kill -9 $(lsof -t -i :8601)后systemctl restart nexus-agent - 非代码 bug,是升级流程中端口释放竞争问题
需要迁移/重启
- 是:需升级 Agent(curl 新 agent.py + systemctl restart nexus-agent)
- 否:无数据库迁移,Nexus 后端无需重启(心跳 JSON 透传)
验证方式
- API
/api/servers/返回system_info.os_release = "Ubuntu 24.04 LTS"✅ - 浏览器 servers.html 点击机器人 → 系统信息面板显示 "Ubuntu 24.04 LTS" ✅
- 冲量银海显示 "Debian GNU/Linux 12 (bookworm)" ✅
- 机器人 Agent 心跳正常发送 ✅
- 空字段(描述/目标路径)整行隐藏 ✅
- 目标路径编辑保存成功后正确显示 ✅
- 后端 /health 返回
{"status":"ok"}✅
审计8步
- H1:
_os_release()只读本地文件 — ✅ 无注入风险 - H2:
os_release/platform字符串用textContent赋值 — ✅ 无 XSS - H3: /etc/os-release 为系统只读文件 — ✅ 无安全风险
- H4: 空字段隐藏用
style.display,值固定为空或 none — ✅ 无注入 - H5: Agent 端口占用非代码问题 — ✅ 运维处理
- H6: 审计文件
docs/audit/2026-05-27-servers-info-display.md— ✅ 0 FINDING - DoD: 无明文密码/命令注入/SQL注入/静默吞错/硬编码 ✅
进度条
☑实现 ☑WSL验证 ☑审计8步 ☑部署 ☑健康检查 ☑浏览器验证 ☑changelog