God's Eye View:一个在浏览器里的实时全球QB项目

77 阅读7分钟

God's Eye View 是个跑在浏览器里的"间谍卫星模拟器",把航班、船只、卫星、地震、交通和公共摄像头这些公开数据,实时铺在一颗照片级真实的 3D 地球上。它解决的是一个很具体的问题:开源qb从来不缺数据,真正缺的是能一眼看懂的界面。作者 bilawalsidhu 把它在 YouTube 上做成了数百万播放的系列,四天前正式开源,目前还是个快速演进、用于探索学习的客户端,不是打磨好的生产服务。

它用原生 JavaScript 加 CesiumJS 和 Vite 搭建,地球本体来自 Google Photorealistic 3D Tiles,语音控制走 OpenAI Realtime API。 后端代理负责中转各家密钥,只有 Google Maps 和 Cesium ion 的凭证会暴露给浏览器。实体按真实朝向每帧投影,实时馈送每 15 到 30 秒到达一次,渲染故意落后一个间隔再做插值,所以画面是平滑的。

这个地球能做的事比看起来多。你可以骑乘追踪某架航班看驾驶舱视角,点任意目标拉出轨迹,并接力到附近摄像头,用语音在白板上画边界和路线,切 CRT、夜视、红外等传感器皮肤,还能把当前视角序列化成链接分享给别人。它甚至接了 OpenAI 的语音接口,能用嘴控制 28 个工具。 这些都不是截图特效,是本地跑出来的实时图层。

语音控制是它和一般地球可视化拉开差距的地方。多数同类项目一般只给你鼠标拖拽,它却能让你用自然语言指挥:标一条边界、切一套皮肤、追一个目标,背后是 OpenAI Realtime API 接的 28 个工具在跑。

它还内置一个qb HUD,会用 AI 把当前画面里看到的实体做成一句话摘要,方便你边看边讲。场景导演模式能排电影级镜头,把一次追踪过程变成可回放的短片。分享链接会把视角、图层和目标都序列化进去,别人打开就是同一颗地球。

视觉上它给了好几套传感器皮肤,CRT、夜视、红外都是用 GLSL 着色器做的,切过去整个地球的气质都变。检测叠加层能在屏幕上画边界框,军事风 HUD 把关键读数顶在角落。这些不是装饰,而是把"看qb"这件事做得像真在盯一块作战大屏。

项目对数据的诚实程度值得单独说。模拟的流量会明确标成"simulation",相机位姿在校准前是估算,火箭上升过程标成"RECONSTRUCTED ESTIMATE"。每个图层都保留自己的来源和新鲜度状态,包括部分、延迟、模拟和不可用。这种"不假装实时"的态度,在同类可视化里不多见。

和它构成竞争关系的不是某个成品,而是它脚下的地基。CesiumJS 是那套 3D 地球引擎,Apache-2.0,GitHub 上约 1.56 万 Star,几乎是所有网页 3D 地球项目的底座。另一个开源同类项是 TerriaJS,用来搭网页地理数据浏览器,Apache-2.0,约 1,358 Star,偏数字地球和空间孪生。在"实时航班船只追踪"这个窄场景里,商业产品 Flightradar24、ADS-B Exchange、MarineTraffic 数据更全,但它们是闭源服务,没有开源仓库可比。God's Eye View 的差异化,是把这些公开信号汇成一个可交互、可分享、本地优先的单一界面。

数据层的覆盖面是它底气所在。除了必选的 Google 3D 地球,它还能叠 OpenSky 和 adsb.lol 的航班、AISStream 的全球船只、CelesTrak 的卫星、USGS 的地震、NASA FIRMS 的火点、Radio Browser 的电台、GBFS 的共享单车,以及 Launch Library 2 的航天发射。图层多到需要靠分类和限速来管理,但也因此能讲出完整的态势故事。

如果只想要一颗能转的地球,CesiumJS 自己就能搭出来。God's Eye View 真正省下的功夫,是把十几路实时数据接进来、做成可交互图层、再补上那套诚实标注。对大多数开发者来说,这层集成才是拦路虎,而它已经替你趟平了。

在隐私上它的取舍很清晰:OpenAI 的密钥从不下发到浏览器,客户端只拿到一个短期会话令牌。只有 Google Maps 和 Cesium ion 的凭证会故意暴露给前端,而且都建议你在服务商后台做限制。这种本地优先、密钥中转的思路,让它比很多直接在前端塞密钥的可视化项目更让人放心。

作者还划了一条清楚的伦理线:它建模的是事件、资产、基础设施和系统,不提供针对具体个人的搜索、人脸识别或人员追踪,人在这个项目里不是一个可查询的对象。这条边界让它在"态势感知"和越界监控之间站对了边。

这类"实时地球态势"工具近来明显升温,God's Eye View 算是这波空间智能热潮里一个很有认知度的开源客户端。它不追求替代专业 GIS,而是把复杂的数据流压成一个普通人能玩、能讲、能分享的玩具兼教具。对一个刚开源四天的项目来说,这种定位反而让它比很多重资产平台更容易被人记住。

它脱胎自爆火的 God's Eye View 视频系列,前身叫 WorldView。作者 bilawalsidhu 先靠一系列演示把概念讲火,再把它开源成可自己跑的客户端,算是"先有观众、再有产品"的典型路径。

装起来不复杂,前置是 Node.js 24.14.x 或 26.x,由 package.json 强制要求。先把密钥填进 .env,再跑两行命令:

npm install
npm run dev -- --host localhost --port 4173

打开 http://localhost:4173 即可。语音和 AI HUD 需要 OpenAI 密钥,飞机会用 OpenSky 匿名模式直接拉,不强制要 Key。

想要完整体验,密钥分三档。 必需的是 Google Maps(计量,提供 3D 星球)和 OpenAI(语音与 AI 摘要,计量);免费档有 AISStream 的全球船只、NASA FIRMS 的活跃火点、TomTom 的真实路况;可选的有 Cesium ion 的 Bing 影像和 OpenSky 的更多航班轮询额度。零密钥也能看航班、地震、卫星、摄像头这些实时层,只是地球没那么好看。

头一个要小心的坑是密钥和配额。想要完整体验,Google Maps 的 3D 瓦片接口是必需的计量服务,OpenAI 语音按次计费,项目内置了 5 美元的会话上限,但真正兜底的是你在服务商那边设的预算封顶。把服务开在 0.0.0.0 做局域网共享时,你的密钥会被能连上的人共用,所以先设好每 IP 限速和预算告警再说。

另一些现实边界:远洋的 AIS 信号会中断,卫星 AIS 要真金白银,高级影像和 SAR 在商业合同后面。README 把一句话写得很重——别拿它做飞行、航海、应急、医疗或投资判断,重要信息去权威源核对。

它适合想直观感受"实时地球"的人:航空迷看航班轨迹,OSINT 学习者练态势感知,老师拿它做地理与安全的演示。不适合把它当导航或监控生产系统的人,也不适合不想碰 API 密钥、只想打开就用的纯浏览用户——这个项目的门槛,就卡在那几把密钥上。

项目地址:https://github.com/bilawalsidhu/gods-eye-view
CesiumJS:https://github.com/CesiumGS/cesium
TerriaJS:https://github.com/TerriaJS/terriajs