GitHub Trending 榜首:God's Eye View — 浏览器里跑间谍卫星,数据是真的

bilawalsidhu/gods-eye-view:开源空间情报可视化平台,13 个实时图层覆盖航班/船舶/卫星/地震/火点/CCTV 等,全部跑在浏览器里,配 GLSL 传感器视觉、7 种滤镜、OpenAI Realtime 语音操控、28 个语音工具,单日涨星 1,984+。

项目概览

God’s Eye View(直译"上帝之眼")是一个开源浏览器端空间情报(GEOINT/OSINT)可视化平台,由前 YouTube「WorldView」系列作者 Bilawal Sidhu 联合 Claude 于 8 月 24 日开源,8 月 28 日以 9,340 Star / 1,994 Fork / 单日涨星 1,984+ 登顶 GitHub Trending(MIT License)。

它的定位很直白——A spy-satellite simulator in your browser, except the data is real(浏览器里的间谍卫星模拟器,数据是真的)。在写实风格的 3D 地球上,叠加 13 层实时信号:航班、军事航班、船舶、卫星、地震、交通、CCTV、广播电台、共享单车、火点、太空任务、军事设施,再加 4,351 个数据中心、704 座水坝、712 条海底光缆这些打包静态基础设施。

Half the magic is that it looks like a forbidden cockpit. The other half is that every line of code is inspectable.

视觉风格走"机密作战室"路线,所有代码开源可审计,全部数据来自公开信号源——OpenSky ADS-B、AISStream、CelesTrak、USGS、NASA FIRMS、Radio Browser、GBFS、Launch Library 2 等。

为什么这件事值得做

开源情报往往是一堆浏览器标签页。信号本身丰富,接口是瓶颈。God’s Eye View 把这些信号变成"一个地方":

  • 屏幕上划过的客机正在广播遥测数据
  • 摄像头安装在公开坐标
  • 国际空间站位置从当前轨道根数外推

客户端故意比真实时间滞后一个轮询周期,便于插值平滑。某些体验是建模而非实时——比如无密钥的交通是标注"simulation"的近似模拟,摄像头姿态是估计先验,火箭上升回放标记 RECONSTRUCTED ESTIMATE。每一层都标注来源 + 新鲜度状态,包括部分、延迟、模拟、不可用四种。

核心能力一览

模块 实现
🛩️ Cockpit 视角 钻进被追踪的航班,相机锁定地表,全过程跟随
📡 Contacts 面板 250 km 范围内全部目标清单,逐一进入驾驶舱
🎯 点击追踪 镜头锁定对象、画衰减尾迹、弹出完整遥测卡;被追踪的火灾或船舶一键跳转到最近的实时摄像头
🖊️ 语音白板 说出注解绘制到地球上——真实边界多边形、标注、路线
🛫 3D 机库 真机模型:787、ATR-72、Citation、Bell 206、MQ-9;近距离从图标切换到 3D 模型
🎨 GLSL 传感器视觉 CRT / NVG / FLIR 热成像 / Noir / Snow 七种滤镜
🟩 检测网格 屏幕空间包围盒 + ID,覆盖视野内一切
🎖️ 军事 HUD 战术抬头显示,情报风格遥测
🌐 Global Context 一键切换全局态势图,回到原视角
🎥 Scene Director 电影感机位录制
🔗 Share Links 镜头、样式、图层、甚至一个被追踪目标都序列化进 URL——“分享的是活目标”
🏠 Reset Globe 一键(或一句"zoom out to a globe view")回到地球全貌

13 个实时图层

其中 10 个完全不需要任何密钥

图层 内容 来源 认证
🗺️ Map Stack Google 写实 3D + Bing 影像 + OSM Google / Ion / OSM 🔴 Google(必选)/ 🟡 Ion / 🟢 OSM
✈️ Live Flights 数千架实时航班 + 路线历史 OpenSky + adsb.lol 🟢
🎖️ Military Flights 琥珀色 ADS-B 军机 adsb.lol 🟢
🚢 Live Vessels 全球数千艘船舶 AISStream 🟡
🛰️ Satellites ~840 颗核心卫星目录 + Starlink 完整星座 CelesTrak 🟢
🌍 Earthquakes 全球 24 小时地震 USGS 🟢
🚗 Traffic 街道级实时拥堵(< 8 km) TomTom + OSM 🟢(🟡 TomTom 才是真数据)
📹 CCTV Mesh ~800 路公共摄像头,投影进 3D 空间 城市 API 🟢
📻 Radio 全球 750 电台,模拟调谐器,拖指针即飞行 Radio Browser 🟢
🚲 Bikeshare 共享单车实时可用性 GBFS 🟢
🔥 Active Fires NASA FIRMS 24 小时火点 NASA FIRMS 🟡
🚀 Space Missions 30 天滚动发射,含载荷/级/回收 Launch Library 2 🟢
🎖️ Mapped Installations 视口范围的军事设施(社区标注) OSM 🟢

Note:10 个 🟢 不用注册不用密钥;3 个 🟡 免费 key;2 个 🔴 计量计费(Google Maps 必选、OpenAI 可选)。

Talk to It:OpenAI Realtime 语音控制

启用麦克风按钮后,语音不再只是"遥控器",而是 28 个工具 + 4 类任务:

🧠 它知道自己在看什么 — Agent 回答前会拉取实时场景上下文:坐标、街道名、活动层、视角比例。飞行途中问 “what city is this?” 它真答得出。

👁️ 视觉锚定 — 街道尺度下,它会读 viewport 截图识别可读招牌和建筑名,并被指示绝不幻觉标签

🖊️ 白板注解“Outline the state of Texas” 画出的是真实州界多边形,不是圆圈;“How far is the Eiffel Tower from the Louvre?” 出现一条箭头连接线并读出距离。

🎬 电影感镜头“Show me the planes overhead” 自动拉远、倾斜、把实时流量框成导演视角。

🔒 诚实与安全 — Agent 只确认已成功的动作;OPENAI_API_KEY 不进浏览器,客户端拿到的是短期 session token

API 配额守护 — 付费 feed 跑在带缓存、配额代理后面:OpenSky credit governor、TomTom 每日瓦片预算、磁盘缓存的 TLE。一个下午的探索不会烧光 API 配额。

技术栈

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
src/
├── main.js                 # Bootstrap: Google 3D tiles, layer registration
├── ui.js                   # Runtime UI — panels, HUD, styles, control facade
├── hud.js                  # Intelligence HUD + AI scene summary
├── mapStackController.js   # Google 3D / Bing / OSM 切换
├── iconOrientation.js      # 屏幕投影的世界空间航向 + horizon cull
├── voice/                  # OpenAI Realtime session + 28 voice tools
├── data/                   # 每层一个模块 + management + context store
   └── local_data/         # 打包数据集(每目录独立 provenance)
└── scenes/                 # 电影感场景录制器

栈选型哲学:Vanilla JavaScript(无框架)+ CesiumJS + Vite + Google Photorealistic 3D Tiles + OpenAI Realtime API。易读、易改、不会被框架绑架

几个真正"接地气"的工程决策:

  • 世界稳定图标 — 飞机船舶按真实世界航向在每个相机角度都稳定朝向(屏幕空间 course projection),不转、不跟视角锁
  • 从抖动数据到平滑运动 — 实时 feed 15–30s 一次,地球渲染比真实时间滞后一个周期,在已知点间补间;航位推测填空隙
  • 诚实的卫星 — SGP4 传播 + GMST 重对齐锁定的轨道环,不漂移、不每秒闪烁
  • 站在真实地面上 — 实体高度走真实大地基准面,对已渲染地形 mesh 采样——飞机停机坪、摄像头立街角
  • 配额自管 — OpenSky 信用 governor、TomTom 每日瓦片预算、磁盘缓存 TLE

安装与运行

要求 Node.js 24.14.x 或 26.x(package.json 强制)。

1
2
3
4
5
6
7
8
9
# 1. 复制环境变量模板
cp .env.example .env
# 编辑 .env 设置 GOOGLE_MAPS_API_KEY

# 2. 安装并启动
npm install
npm run dev -- --host localhost --port 4173

# 3. 打开 http://localhost:4173

冷启动中位 ~1.86 s(M5/Chrome 抓拍,docs/PERFORMANCE.md),首次启动会弹一张任务卡——Live Contacts / Space Missions / Environmental 一键开局。

macOS 用户可走 ./scripts/dev-fresh.sh 清 Vite 缓存、从 Keychain 拉密钥。

不是开发者? 直接装一个 coding agent(Claude Code / Codex / Cursor / Antigravity),粘贴:

Clone https://github.com/bilawalsidhu/gods-eye-view and set it up on my machine. Install everything it needs, walk me through getting the required Google Maps API key step by step (plus any optional free keys I want), put the keys in .env, and help me set a billing alert and a usage quota on the Google key so I can’t overspend. Then start the dev server and open it in my browser. I’m not a developer — explain what you’re doing as you go, and ask me before any step that could cost money.

实际成本(诚实版本)

类别 数字
🟢 多数图层 $0,无需注册 — OpenSky anon / USGS / CelesTrak / adsb.lol / 城市 CCTV / Radio Browser / GBFS / Launch Library 2 / 打包数据集
🟡 可选免费开发者配额 AISStream / FIRMS / TomTom / Cesium ion / 认证 OpenSky,但配额与允许用途因计划而异
🔴 Google 3D tiles 慷慨:按根 tileset 请求计费,一个 root tileset 可渲染 3 小时,每月前 1,000 个免费,超出约 $6 / 1,000(美国定价)。个人用户很难用完免费额度——但务必限制 key、设预算告警
🔴 OpenAI voice Realtime 音频按用量计价,app 内显示实时估算、$2 警告、$5 session 上限,平台侧账单兜底

隐私与红线

God’s Eye View 跑在公开数据、明示来源、本地优先之上——不接私钥、不抓私密数据、不神秘爬取。涉及私钥的 provider 全部 server-side 代理。浏览器只暴露 Google Maps 和 Cesium ion 两个 key(两个都建议在 provider 端做 URL/资产限制)。

The line(作者明文写的红线)

This project models events, assets, infrastructure, and systems — aircraft, vessels, satellites, fires, cameras, cities. It does not build features for named-person search, face recognition, or tracking individuals, and pull requests that cross that line won’t be merged.

People are not a query type here.

安全模型与共享

  • 默认 server 绑 localhost,key 不外泄
  • 想局域网共享需显式 opt-in:npm run dev -- --host 0.0.0.0 --port 4173
  • ⚠️ 但 LAN 可见的 server 会把已配置 API key 代理给任何能访问到它的人
  • 应用层节流:GEV_RATELIMIT_OPENAI_PER_MINGEV_RATELIMIT_GOOGLE_PER_MIN
  • 不是账单上限:务必在 Google Cloud budget、OpenAI usage limit 设硬卡
  • 完整威胁模型见 SECURITY.md

状态与定位

Status:An evolving open-source client for exploration and learning — a fast, hackable foundation, not a hardened production service.

不是"上架即投产"的产品,而是一个快、可改的开源基础。MIT License,但打包数据集与第三方素材沿用各自条款(DATA_SOURCES.md)。

作者给的下一步提示(来自 README):

One heads-up from the inside: build in this space for a week and you learn that the present is the cheap part. The moment you try to go back in time — tiling, serving, and scrubbing what happened and what changed at any real resolution — the data gets expensive and the compute gets brutal. For that, we’re building something cool. More in the future — halfpixel.ai.

也就是说,「过去」的时序重建才是真正的硬骨头——tiling、serving、按时间 scrub 到任何真实分辨率。halfpixel.ai 正在做这个。

评估与适用场景

适合

  • GEOINT / OSINT 学习与探索
  • 飞行爱好者、船舶追踪爱好者
  • 城市尺度公共摄像头调度演示
  • 作为"3D 地球可视化"的起点项目,往上叠自有数据源

不适合

  • 飞行/航海导航
  • 应急响应、医疗、投资决策
  • 安全关键或操作关键场景

Important: God’s Eye View is an exploratory visualization of public and third-party data. Data may be delayed, incomplete, modeled, inferred, or wrong. Do not use it for flight or maritime navigation, emergency response, medical or health decisions, investment decisions, or other safety-critical or operational purposes. Verify important information with authoritative sources.

总结

优点

  • 13 个图层里 10 个零门槛,5 分钟看到全球实时信号
  • 代码可审计、数据来源公开、隐私边界清晰
  • 视觉极致 + GLSL 传感器风格 + 语音控制
  • “无框架"的栈选型,hackable

短板

  • 必选项 Google Maps 是唯一 🔴,免费额度对个人够用,重度使用要卡预算
  • 不支持时序回放(作者承认)
  • 高频民用 AIS 中段洋区数据稀疏(卫星 AIS 才补全,但贵)
  • 非生产级 SLA

Star 总数 9,340、单日 1,984+ 涨星 —— 作为一个 8 月 24 日才开源、4 天就破 9k Star 的项目,节奏非常激进。它不是"再一个世界地图"项目,而是把"开源信号 + 写实 3D 地球 + 语音 Agent"压成单一体验的样板工程

仓库地址:https://github.com/bilawalsidhu/gods-eye-view 作者:@bilawalsidhu · 合作:Claude 许可证:MIT 首次开源:2026-08-24 · 最近提交:2026-08-28