桌面端升级

小匠实战约 4 分钟读完更新于 2026-06-19

admin「桌面端升级管理」页 cheat sheet:外网/内网模式怎么切、离线包怎么传/激活/删。只有 super_admin 可见。

10.1 用户视角

用户那侧很简单,本章操作都在 IT 侧。

  1. 桌面端启动定期问 agent「有没有新版」
  2. 有 → 弹「发现新版本」对话框,用户点确认就下载
  3. 下载完自动安装、自动重启;客户端用内置 minisign 公钥验签,签名不对直接拒装

10.2 进入页面 + 切换模式

super_admin 登 admin → 侧栏「桌面端升级管理」。顶栏中间「外网 / 内网」分段开关点一下立即生效。

  1. 外网ops_direct):agent 直接代理 ops 中心发布清单。agent 服务器能出公网就选这个。
  2. 内网intranet_manual):离线机房用,从本地「离线升级包仓库」当前生效行下发。

小贴士: 外网模式下离线包仓库整块灰态:上传按钮禁用,表格仍能看历史包但不下发。切回内网立刻恢复,包不会丢。

10.3 上传离线升级包

仅内网模式可上传。包必须是 ops 端导出的 zip,含 latest.json + installer.exe + installer.exe.sig 三个文件。

  1. 切到「内网」→ 右上角「上传升级包」选 .zip
  2. 后端按序校验:合法 zip → 必需文件齐 → latest.json 可解析 → 有 version → 同 (target, version) 未重复
  3. 通过 → 落盘到 data/desktop-upgrade-bundles/<bundle_id>/,新行出现在表格顶部,状态「待激活」

注意: 校验失败 4 种 toast:① 不是合法 zip;② 缺必需文件;③ latest.json 解析不了 / 缺 version;④ 同 target+version 已存在(HTTP 409)。99% 失败是 zip 不是正版 ops 导出,重导一份即可。

10.4 激活与删除

同 target 可多版本共存(v1.2/v1.3/v1.4 并排),任意时刻只有一行「当前生效」。

  1. 激活:待激活行点「设为生效」→ 同 target 其它行自动变「待激活」,本行变「当前生效」→ toast 弹「已激活 vX.Y.Z」
  2. 删除:行尾垃圾桶图标 → 确认 → 数据库删行 + 目录 rmtree
  3. 当前生效不可删:图标置灰;想删先把同 target 另一行设为生效,原行变「待激活」就能删

小贴士: 回退就是点旧版「设为生效」。其它 target(如 macos-aarch64)的当前生效行不受影响。

10.5 排错速查

用户反馈「检查更新没反应 / 一直旧版」时的两条主线索:

  1. 模式:当前是内网但你忘了把目标 target 的包「设为生效」→ agent 没东西返回
  2. target 对不上:上传包的 target 字段必须匹配客户端平台架构(windows-x86_64 / macos-aarch64 等)

提示: 4 类操作都进审计日志:desktop_upgrade.mode_set / bundle_upload / bundle_activate / bundle_delete,在「系统日志」里查。本页不支持编辑包内字段、不带「强制升级」开关 — 要改在 ops 端重导 zip 重传。

相关

没解决你的问题?

直接问学院 AI 助教小帅 —— 他读过全部学院文档,会带着步骤和文档链接回答;也可以让工程师一对一讲解。