这个项目能做什么
该项目是一个基于浏览器(另可选Windows课堂环境)的训练模拟器,用于练习有监督的多无人机搜救任务。一切都是模拟的:它不连接飞行器、空中交通系统、Remote ID、调度系统或摄像头,并且明确不适用于真实飞行、真实紧急情况或监管用途。
核心理念:确定性。相同场景配合相同输入,每次都会产生相同的任务——相同的天气、探测结果和结局——并记录在可回放、可审计的哈希链事件日志中。这使得不同学员之间的运行结果可以相互比较,并可逐动作复盘。
它提供的内容:
- 31个场景:25个事件任务(海岸与山地搜救、野火、洪水、历史灾害),外加6个受NIST测试方法启发的技能演练(被描述为教育性模拟,并非官方设备或认证)。
- 面向三到八架飞行器的编队指挥:航线规划、起降场地、重新分配任务、悬停、改航、恢复、充电、返航。
- 每个场景的天气、地形、空域、GNSS、热成像和电池输入均被冻结,因此运行可重复,而非随机。
- 任务记录包含防篡改事件日志,以及KML、GeoJSON、回放和事后复盘导出。
- 三种呈现目标(移动网页、桌面网页、课堂)共享完全相同的模拟数学;一个产物一致性测试框架强制要求模拟模块、场景数据、评分、事件和回放哈希不因目标不同而变化。
- 本地账户存储在浏览器中,采用基于密码派生的加密;不会同步到任何服务器。
- 可选课堂模式:一台Windows教员主机运行本地中继,使用生成的校园本地证书颁发机构和局域网叶证书,提供HTTPS/WSS服务,默认拒绝不安全的非回环流量,并且不会在学生机器上安装其CA。
工程说明:地形准备完成后,模拟循环采用固定时间步长且同步执行;缺失已声明地形会阻止启动,而不是用平面替代。场景输入在创作时即被冻结,运行时从不获取实时数据。每个已部署目标都会在/build-info.json中暴露版本、目标和Git SHA,deploy:status脚本会报告相对于main的已部署SHA。文档化的发布门禁包括类型检查、lint、带覆盖率阈值的测试、各目标构建、包/夹具/一致性/训练范围断言以及npm audit;README指出,所设计的晋升路径并非总能被触发,生产环境有时是通过给预览构建起别名来更新的。
项目声明的安全性与限制:未获得真实航空、公共安全、调度、监管或应急作业认证;监管、Remote ID以及空域/交通界面均为脚本化训练层;热建模不会生成真实辐射测量图像;回放存储有容量上限,并非飞行数据记录器;本地加密无法保护已解锁设备、被入侵的浏览器、恶意扩展、屏幕捕获、键盘记录器或导出的明文;课堂使用需要经批准的专用网络、受管理的CA安装、保留策略、管理员负责人和有监督的名单;仓库测试并不意味着独立的渗透测试、无障碍认证或法律审查;地图瓦片通常来自第三方,可能会暴露普通请求元数据。
本地开发需要Node.js 24.x和npm 11.12.1,使用npm ci和npm run dev。许可为源码可得的专有许可,并非开源。
评论
0 评分人数达到10人后显示
登录后参与讨论。