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 需要单独配置和实测。