Skip to content

Web 终端实验

1. 能力定位

Web 终端实验是在报告型实验之外提供的环境型实验能力。教师可以发布 TERMINAL 类型实验,学生在浏览器中启动专属实验环境,并通过 Web 终端完成命令行操作。

首版聚焦 Linux shell 类实验,不包含远程桌面、教师接管终端、命令录屏、多人协作环境和持久卷快照。

2. 用户路径

2.1 教师

  1. 在教师实验中心选择课程和教学班。
  2. 创建实验时选择“Web 终端实验”。
  3. 选择环境模板,例如“Linux Shell 基础环境”。
  4. 填写实验说明和环境说明。
  5. 发布实验。
  6. 查看学生环境会话列表,确认状态、启动时间、最后活跃时间、到期时间和失败原因。

2.2 学生

  1. 在学生实验项目中打开已发布的 Web 终端实验。
  2. 阅读实验说明和运行环境说明。
  3. 点击“启动环境”,等待状态进入“运行中”。
  4. 点击“打开终端”,通过浏览器终端操作实验环境。
  5. 可停止环境;重置环境前必须确认,重置会删除当前临时环境。
  6. 环境停止、过期或启动失败后,页面显示明确状态和后续操作入口。

2.3 教师会话查看

教师会话列表只提供状态查看,不提供连接学生终端或接管学生环境。会话数据用于课堂巡视、排障和实验进度判断。

3. 数据与权限边界

  • REPORT 实验继续使用实验报告、附件、评阅和发布评阅流程。
  • TERMINAL 实验使用独立的环境模板、环境会话和连接票据概念,不把终端环境字段塞入实验报告。
  • 学生只能启动、停止、重置自己的实验环境。
  • Web 终端连接使用短期 token,浏览器不直接接触 Kubernetes API、Pod IP、NodePort 或 kubeconfig。
  • 教师创建、编辑、发布终端实验沿用实验管理权限;班级范围权限仍按既有课程成员边界裁剪。

4. 环境模板

环境模板描述终端实验的运行基础,包括镜像、shell 命令、CPU、内存、临时存储、TTL、空闲超时和网络策略。

首版由后端提供默认可用模板,不要求平台管理员维护完整模板 UI。后续可扩展为课程或平台级模板管理。

5. 验收要点

  • 教师创建表单必须能区分报告实验和 Web 终端实验。
  • Web 终端实验发布前必须绑定启用的环境模板。
  • 学生环境面板必须显示模板、资源摘要、状态、时间和失败原因。
  • 终端区域必须有稳定高度,输出内容不能撑乱页面。
  • 重置环境必须有确认弹窗,并说明临时环境会被删除。
  • fake runtime 可用于本地联调和 E2E 验证;生产 Kubernetes runtime 需要单独配置和实测。