「系统」分组下 3 项菜单——管理员、系统设置、桌面端升级。管账号、看产品身份 / 导入导出 bundle / 查订阅状态、给客户端推升级包,全在这里。其中「桌面端升级」仅 super_admin 可访问;「管理员」「系统设置」普通 admin 也能开。
11.1 「系统」分组:3 项菜单 + 角色边界
左侧菜单「系统」分组下 3 项:管理员 / 系统设置 / 桌面端升级。按路由 requireSuper 配置,仅「桌面端升级」限定 super_admin;另外两项普通 admin 也可访问(业务接口本身另有校验)。super_admin 由 setup 向导首个账号自动获得,后续可在「管理员」菜单里手动授予。
| 菜单 | 路径 | 可见角色 | 用途 |
|---|---|---|---|
| 管理员 | /admin/admins | admin / super_admin | 管 admin 账号 / 角色 / 密码 |
| 系统设置 | /admin/system-settings | admin / super_admin | 系统信息 / 数据迁移 / 检查更新 |
| 桌面端升级 | /admin/desktop-upgrade | super_admin | 外网 / 内网双模式 + 离线包仓库 |

注意: 日常运维按「最小权限原则」优先建普通 admin 账号,只有需要 Prompt / 模型 / 审计等独占能力时才用 super_admin;员工离职优先「停用」(保留审计可追溯),确认不再回归再删除。
11.2 管理员 /admin/admins:账号 + 角色 + 密码
「管理员」菜单管理后台账号本身,列表列为 管理员(用户名 + 显示名 + 邮箱 + 创建时间合并展示)/ 角色 / 最近登录 / 启用 / 操作。两个角色:admin(普通管理员:能力配置 / 知识库 / 概览可见,Prompt / 模型 / 审计 / 调用日志等不可见)和 super_admin(全部菜单可见)。重置密码不需要旧密码(super_admin 视角强制重置),并可一键填入默认初始密码 jecloud@123。
- 左菜单「系统 → 管理员」打开
/admin/admins - 右上「新增管理员」填登录名 / 显示名 / 邮箱(可选)/ 密码 / 角色 → 创建
- 列表行操作列「重置密码」(钥匙图标)打开 modal,明文输入新密码或点「填入默认初始密码 jecloud@123」
- 「启用」列开关切换可/停用(停用比删除更利于审计追溯)
- 「删除」二次确认后移除——角色无法在列表内联修改,需要重建账号
| 字段 | 说明 | 校验 |
|---|---|---|
| 登录名 | 登录凭据,创建后不可改 | 必填,小写字母开头 3-32 位 |
| 显示名 | 菜单右上角 / 审计日志显示 | 必填 |
| 邮箱 | 密码找回 / 通知收件 | 选填,邮箱格式 |
| 密码 | 初始密码 / 重置后新密码 | 必填,≥ 8 位 |
| 角色 | 普通管理员 / 超级管理员 | 默认 admin(普通管理员) |

小贴士: 账号操作(新建 / 重置密码 / 启停 / 删除)由后端写入审计日志,可在审计日志按操作人和时间回溯。
11.3 系统设置 /admin/system-settings:3 个 tab
「系统设置」是 SystemSettingsView 单页 3 个 tab(左侧导航):系统信息 / 数据迁移 / 检查更新。系统信息聚合产品身份 + 订阅鉴权状态;数据迁移做能力配置 bundle 导入导出;检查更新对接 ops 拉最新发版(桌面端会多出一个 DesktopUpdaterPanel)。
11.3.1 系统信息
展示产品身份信息(ProductInfoCard,由产品编码 / 名称等组成)+ 内嵌的订阅鉴权面板。订阅鉴权部分含两张卡:「订阅鉴权总开关」(开/关业务接口拦截,操作进审计日志)+「AI 服务订阅状态」(按已配置的业务服务器逐个列状态)。
11.3.2 数据迁移:导入导出 bundle
把当前 agent 库导出成 agent-config-<ISO 时间戳>.zip(一键导出全部能力配置,涉及菜单:Skill 管理 / MCP 管理 / 模型管理 / 服务器管理 / 提示词管理 / 界面配置),用于灾备 / 跨环境复制 / ops 母版下发。导入支持合并 / 覆盖两种模式(覆盖前需输入「覆盖」二字确认;导入前自动备份到 .jecloud/backup/ 保留最近 5 份)。
- 「数据迁移」tab → 卡片「能力配置」→ 「导出能力配置」按钮一键下载(无需勾选模块)
- 另一台机器登 admin → 在同一卡片选「导入模式」(合并 / 覆盖)
- 覆盖模式下需在红框内键入「覆盖」二字才能启用按钮
- 点击或拖拽 .zip 到文件区 → 「导入能力配置」
- 导入结果按模块标题显示「受影响表 / 新增行 / 技能」清单;API Key 始终被强制擦除,需到「模型管理」重新配置
agent-config-2026-06-16T10-30-00.zip
├─ manifest.json # 模块列表 + 版本
├─ skills/ # 上传的 skill 文件树
├─ mcp/seed.sql
├─ model/seed.sql # API Key 已擦除
├─ server/seed.sql
├─ prompts/seed.sql
├─ branding/seed.sql # 「界面配置」底层模块之一
└─ welcome/seed.sql # 「界面配置」底层模块之二
11.3.3 订阅鉴权(已合入「系统信息」)
位于「系统信息」tab 下方,校验按业务会话绑定的服务器逐个判定——登 A 服务器证书不放行 B 请求。状态列展示「服务器 / 状态 / 订阅到期 / 最近校验」四列;右上「立即重新验证」按钮可手动触发刷新。无 key 或过期时业务请求 fail-closed,登录页仍可访问。
| 状态码 | 含义 | 处理 |
|---|---|---|
| active | 订阅有效,正常使用 | 留意到期日提前续期 |
| idle / pending | 尚未校验 / 校验中 | 等待自动 1h 轮询或手动「立即重新验证」 |
| expired | 主订阅已到期 | 找平台方续期 |
| plugin_expired | 插件订阅已到期 | 续 AI 套件订阅 |
| no_ai_plugin | 当前业务服务器无 AI 套件授权 | 找平台方采购 AI 套件 |
| mismatch | 订阅信息与产品编码不匹配 | 核对授权对应产品后重新签发 |
| ws_failed | 校验通道(WebSocket)不可用 | 检查服务器是否配置了 WebSocket |
11.3.4 检查更新(最新可用发版)
位于「检查更新」tab,由 SystemVersionPanel 展示「最新可用发版」+「发版历史」两张卡;顶部 channel 下拉可切 stable / beta / archived。最新版卡显示:版本号 / 发布时间 / 大小 / SHA256 / 下载链接,并标注「已是最新」或「有更新」徽标。桌面端会在下方多出 DesktopUpdaterPanel(Tauri Updater 一键更新);Web 部署只能拉到元数据,后端镜像/容器升级仍属运维范畴,手册监控章节给出标准 docker 操作。

注意: 导出 bundle 含 prompts / branding 等业务数据,模型 API Key 始终被强制擦除(无论导出或导入回显都会标红提示);新机器导入后需到「模型管理」重新配置 key。
11.4 桌面端升级 /admin/desktop-upgrade:双模式 OTA
这里管「客户桌面端 .exe / .dmg」的 OTA 升级——不是后端。顶部一个 pill 分段开关二选一(投在 admin top-bar 中间):
- 外网(
ops_direct,自动从 ops 拉取):agent 充当中转层,客户端经 agent 转发到 ops 公网仓库;零客户配置(customer_id 自动注入、API key 留空即可);适合能上公网的部署。 - 内网(
intranet_manual,用离线升级包):agent 仅供应本地仓库里激活的离线包,外网请求不外发;适合纯内网部署。切到外网模式时下方「离线升级包仓库」整体置灰、不可上传。
两种模式共用同一份 minisign 公钥校验,包内 .sig 文件由 ops 发版时签发,agent 不重签、纯透传。
| 对比项 | 外网(ops_direct) | 内网(intranet_manual) |
|---|---|---|
| 升级源 | 原厂 ops 仓库(经 agent 中转) | 本 agent 本地离线包仓库 |
| 需要操作 | 不需要——原厂出新版自动有 | 下载 ops 导出的 .zip 上传到「离线升级包仓库」+ 设为生效 |
| 适合 | 能访问公网的部署 | 纯内网 / 离线环境 |
| 签名校验 | minisign(原厂签发) | minisign(原厂签发,agent 透传) |

小贴士: customer_id 客户端启动时自动注入,API key 留空即可——客户端不需要任何手动配置就能拉 latest.json。
11.5 离线升级包仓库:上传 / 设为生效 / 删除
切到「内网」模式后,主体是一个离线包列表,每行列:# / 状态(当前生效 / 待激活)/ 版本 / 平台(target,如 win/mac/linux)/ 上传时间 / 上传者 / 操作。每个 target 同时只能有一个生效包——客户端经 agent 拉到的就是当前生效那个;其它包留在仓库做回滚备用。
- 从 ops 后台导出本期发布的桌面端升级 zip(内含原厂签发的 minisign 签名)
- 右上「上传升级包」选 .zip 文件(仅校验扩展名 .zip;后端再做内容校验)
- 列表多出一行新包,状态「待激活」
- 点该行「设为生效」按钮——同 target 下旧生效包自动转「待激活」(不删除)
- 客户端下次启动 / 手动检查时拉到新版本,按弹窗流程走完
- 有问题需要回滚 → 点旧包行「设为生效」即可秒回
| 操作 | 说明 | 同 target 影响 |
|---|---|---|
| 上传 | 选择 .zip 入仓,默认「待激活」 | 不影响当前生效包 |
| 设为生效 | 设为该 target 的「下发包」 | 同 target 旧生效包自动转「待激活」 |
| 删除 | 从仓库移除(含磁盘文件);二次确认 | 当前生效包不能删(按钮禁用),需先把别的包设为生效 |

注意: 同 target 互斥:每个 target 同时只一个生效包;设为生效时旧包自动转「待激活」(不删),方便随时回滚。
注意: 不重签:agent 不重签 .sig 文件,只透传原厂签名——所以上传的 .zip 必须包含原厂签发的 .sig,自制包客户端会拒装。
11.6 用户端看到的:弹窗 → 下载 → 重启
客户在桌面端实际体验:启动时(或菜单「检查更新」)客户端按当前模式拉 latest.json,发现高版本就弹「发现新版本 x.y.z」对话框。点「立即升级」后客户端在后台下载 → 校验 minisign → 提示「下载完成,重启应用」→ 用户点确认重启即完成升级。整个过程客户不感知是外网还是内网包,体验一致。
- 桌面端启动 / 菜单「检查更新」→ 后台 GET latest.json
- 发现高版本 → 弹「发现新版本 x.y.z」对话框 + 发布说明
- 用户点「立即升级」
- 客户端后台下载 .zip + 校验 minisign 签名
- 下载完成 → 提示「重启应用以完成升级」
- 用户点重启 → 客户端自动替换二进制 → 启动新版本

小贴士: 下发回滚:把旧版本包重新「激活」即可——客户端下次检查会拿到回滚的 latest.json,按相同弹窗流程「升级」到旧版本(但语义上是回滚)。
提示: 下一步:本章是管理手册最后一章。配完所有这些,建议回手册门户看业务用户应该怎么用(第一次登录小匠)→ 或翻运维手册做服务器和升级运维(部署前置要求)。