上 GitHub Trending 第一的那个"上帝之眼",到底是什么

2026 年 9 月,一张 3D 地球把 GitHub Trending 顶到了第一位。bilawalsidhu/gods-eye-view 在最近一周里日均 2,000+ 星,截至发稿 28,268 ★、5,776 fork(数字取自 GitHub 仓库页)。Brendan Eich(JavaScript 和 Mozilla 的创始人)在 X 上转了它,Product Hunt 上 Product of the Day #8,Pitch 作者 Chris Messina 点的名。

但这个项目最值得讲的不是它的热度,是它对普通读者意味着什么:

  • 零账号、零 API Key,Node 24 装好之后一条命令就跑起来
  • 默认就能看到 11,000 架实时飞机、千艘实时船、838 颗真卫星轨道、地球过去 24 小时地震、全世界 750 个电台、奥斯汀/伦敦/加州的 800 个公共摄像头实时画面
  • 想用嘴指挥它看哪、问它问题、让它画线、量距离?加一个 OpenAI Key 就行——$5 硬上限,超了自动停

如果你是 GEOINT/OSINT 爱好者,这是过去半年最值得花一个下午玩的东西。如果你是建站/AI 工具链玩家,这是一个把 CesiumJS、OpenAI Realtime、Vite 全用上的现代前端范例,代码可读、不绕。

一句话定位 + 为什么最近火

God’s Eye View 是 Halfpixel 公司(创始人 Bilawal Sidhu 是 Google Earth 影像 3D Tiles 早期负责人,和 Unity 出身的 Sameh Khamis 一起)做的开源实时空间情报客户端。一句话:

在你的浏览器里叠一张真实 3D 地球,上面覆盖 13 层公开数据源,可以用语音指挥它、问它、量它、画它,所有数据来自公开信号、所有代码可读、所有数据源可换。

它最近火起来是三个原因撞到了一起:

  • 8 月 26 日 Bilawal Sidhu 在社区投了一次"要不要开源"的票,94% 用户投 YES(原数据见 README §What’s Next),9 月初代码直接放出来
  • README 第一天就冲到 #1 GitHub Trending,延续到现在
  • 他在 YouTube 上 God’s Eye View 系列本身就有 500 万+ 播放,粉丝基本盘很大

但更重要的是内容本身——下面这一节是全文最厚的部分,13 层图层的细节我都给你扒出来。

它能叠什么:13 层数据源,11 层零 Key

README §What’s on the Globe 把这 13 层数据源摊开列了出来。我按"完全不用账号就能跑"和"需要 key 才能开"两类整理成表:

🟢 零 Key 就能看到(6 层)

图层数据内容频率真实来源
Live Flights全球 11,000+ 架真飞机 + 航线历史15-30s 更新OpenSky + adsb.lol
Military Flights琥珀色标记的军用 ADS-B 流量15-30sadsb.lol
Satellites838 颗卫星目录,按类型上色,带轨道环(ISS/星链/侦察/气象)SGP4 实时推算CelesTrak TLE
Earthquakes全球地震过去 24h实时USGS
Radio750 个地理定位电台,带模拟调谐盘静态列表Radio Browser + 各家电台
Bikeshare全球共享单车实时可借/可还实时GBFS 标准
Mapped Installations视图范围内的军事设施底图静态OpenStreetMap 社区标注

🟡 拿个免费 Key 就能开(4 层)

图层Key 在哪拿额度
Live Vessels 实时船舶aisstream.io 注册免费免费档
Active Fires NASA FIRMS 实时火点firms.modaps.eosdis.nasa.gov/api/map_key/免费
Traffic 实时路况(TomTom 流量驱动模拟车辆)developer.tomtom.com免费档
Google Photorealistic 3D + Cesium ion 世界地形cesium.com/ion 个人非商用 tokenCommunity 计划有额度上限

🔴 收费 Key,作者做了一层硬护栏

触发场景实际成本硬护栏
OpenAI 语音 + 28 个工具Realtime 音频"几美分/分钟"自带 $2 警告 + $5 硬上限自动停
Google Maps 直接 3D + 地点搜索1000 次/月 Photorealistic 3D Tiles 渲染免费,之后按量自带速率限制,作者仍要求你在 GCP 自己加 budget alert

打包好的静态基础设施(也不需要 Key)

  • 4,351 个数据中心(从 README 直接读出来)
  • 704 个大坝
  • 712 条海底光缆

这意味着你打开应用的第一秒,地球就已经叠好海底电缆、退役飞机坟场、三峡大坝这些底图,不用任何注册。

真正杀手的功能:能"说"的地球

数据层是地基,真正的产品差异在语音 + 28 个工具。README §Talk to It 列得很细,我把它压成你能直接用的形态。

先讲机制(我读过 README 之后给你的人话版):

  • 浏览器拿到你按 “GEV MIC” 时,只向本地 server 申请一个短时 session token
  • 你的 OpenAI API Key 永远不到浏览器,Key 全在本地 server 的 .env 里(默认 chmod 600)
  • server 端跑 OpenAI Realtime API,带 28 个工具,4 类工作:Direct / Annotate / Interrogate / Operate

下面这几条都是 README 给的原话命令,所有原话命令我都是从源码核过来的,不是猜:

🎥 Direct it(操作相机)

“Take me to Tokyo.” / “Orbit around this area slowly.” / “Draw the walking route from the Capitol to Zilker Park.” → “Fly the route we just drew.” / “Zoom out to a globe view.”

🖊️ Annotate it(在地球上画图)

“Outline the state of Texas.” —— 画的是真实边界多边形,不是圈

“Annotate the Texas State Capitol and its grounds” —— 围着真实地物画边界

“How far is the Eiffel Tower from the Louvre?” —— 出现一条带箭头的距离线,语音播报距离

🔎 Interrogate it(问数据)

“How many flights are over Texas right now?” / “Which ships are headed to Oakland?” / “What is the biggest fire near Los Angeles?” / “Is anything flying above forty thousand feet?” / “When does the ISS pass over next?”

🎛️ Operate it(开/关图层、切换传感器)

“Switch to night vision and turn on the flights layer.” / “Play a news radio station near Austin.” / “Track that plane.” → “Enter Cockpit.”

单句快速档

“Show me global infrastructure.” / “Play Orbital Watch.” / “Set detection density to fifty percent.” / “Next contact — helicopters only.” / “What’s turned on right now?”

它能回答"为什么这片军用直升机一直盘旋"这种问题——会自动回放过去 24 小时真实航迹,叠成 3D 环状显示,你点一下就进驾驶舱视角。

怎么把它跑起来(两条路,二选一)

注意:本文是双数日正常介绍,没有实测(本周实测额度 9/8 已被 HeyGen Hyperframes 用掉)。下面所有步骤严格按 README §Quick Start 写。

路径 1:一键,零终端(给非开发者)

  1. 装 Pinokio 到 8.2 或更新(8.2 修了 launcher 安装失败的问题,见 Pinokio 维护者公告)
  2. 打开 God’s Eye View on Pinokio
  3. 点 Install,再点 Start

支持 Windows / macOS / Linux。Pinokio 自己会处理依赖、找空闲端口、开浏览器。

路径 2:终端 / Coding Agent(给开发者)

1
2
3
4
5
6
# 要求 Node.js 24.x(24.14.0+) 或 26.x;Node 25 EOL,setup doctor 会警告
git clone https://github.com/bilawalsidhu/gods-eye-view.git
cd gods-eye-view
npm ci
npm run doctor    # 检查 Node/npm + 主要 provider 路由,不打印 key 值
npm run dev

打开 http://localhost:4173,从首启面板选 Live Contacts 或 Space Missions。

README 报告的冷启动基线(M5/Chrome 实测)中位 1.86 秒,见 docs/PERFORMANCE.md。这是开发者机器的样本,不代表所有人。

想上语音?加一个 OpenAI Key 就行

进应用,右下角点 POWER UP → Provider Settings → 选 OpenAI → 粘 Key → SAVE KEYS → 应用自动重启加载能力。Key 落到 pinokio/ENVIRONMENT(Pinokio 路径)或 repo 根目录 .env(终端路径),都先 chmod 600 再写。

macOS 的硬核玩家还能用 Keychain:./scripts/dev-fresh.sh 会清掉 Vite 缓存、直接从 Keychain 拉 key。命令模板 README 里给了:

1
security add-generic-password -U -s "openai-api" -a "api-key" -w

同类比亮点在哪

我挑几个真能改变使用形态的差异点,不放嘴炮:

1. 数据是"真的",不是模拟

大多数"地球可视化"产品要么是动画(GOES-X 那种炫的、但数据是预设动画),要么是手动喂数据。God’s Eye View 把OpenSky / ADS-B Exchange / USGS / CelesTrak / GBFS / NASA FIRMS 这些权威公共数据源接进来了,15-30 秒刷新一次。README 明确写:traffic 是"simulated along real roads using aggregate location data",CCTV 姿态是"estimated priors you calibrate by dragging a gizmo"——作者主动告诉你哪是模拟、哪是真数据。

2. 服务器只绑 localhost,Key 永远不上浏览器

README §API Keys 写得很硬:“the only keys the browser sees are Google Maps and Cesium ion (restrict both at the provider)"。OpenAI、AISStream、OpenSky OAuth、相机画面帧全部由服务端代理,带 SSRF 防护、响应体积上限、错误脱敏。要开 LAN 共享?自己跑 npm run dev -- --host 0.0.0.0 --port 4173,但作者警告:⚠️ “a LAN-visible server brokers your configured API keys to anyone who can reach it”——这是好事,他没美化风险。

3. 13 个图层是松耦合,想加新的直接 PR

src/ 目录结构 README 直接给:

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
├── keySetup.js             # POWER UP panel — in-app provider keys (dev server only)
├── mapStackController.js   # Basemap switching
├── voice/                  # OpenAI Realtime session + 28 voice tools
├── data/                   # One module per layer + orchestration
│   ├── iconOrientation.js  # Screen-projected headings + horizon cull
│   └── local_data/         # Bundled datasets (per-folder provenance)
└── scenes/                 # Cinematic scene director

每个数据源一个模块、每个 voice tool 一个工具。要加城市 CCTV、加新的卫星目录、加 SAR 图像——是接新数据源 + 注册新图层的工作量,不需要碰核心架构。

4. Vanilla JS + CesiumJS + Vite,不绑 React/Vue

README §Under the Hood 直接写:“No framework.” 纯 vanilla JS + CesiumJS + Vite。这意味着:

  • 读代码快,改图层不用先过 React 生命周期
  • CesiumJS 是 GEOINT 行业的事实标准
  • Vite 启动快,HMR 可用

对想学"一个现代 Web GIS 应用长什么样"的人来说,这个仓库是个干净的范例,不是被框架绑死的"学习项目”。

真实成本:读完你才知道这玩意真的几乎免费

README §What it actually costs 这一段写得非常诚实,我直接压成表:

档你能拿到的能力实际花多少钱
🟢 默认OpenSky anon + USGS + CelesTrak + adsb.lol + 城市 CCTV + Radio Browser + GBFS + Launch Library 2 + 打包静态数据$0,不需要注册
🟡 注册免费 Key+ AISStream 实时船 + FIRMS 实时火 + TomTom 路况 + Cesium ion Google 3D 城市$0,但要注册
🟡 Cesium ion Community 计划个人非商用 Google Photorealistic 3D + 世界地形$0,看 ion 当下条款和额度
🔴 OpenAI 语音(自选)28 个 voice tools + AI HUD 摘要每分钟几美分;作者给了 $2 警告 + $5 硬上限自动停
🔴 Google Maps 直接路线跳过 ion,直连 Google 3D + 地点搜索1000 次/月 Photorealistic 3D 渲染免费;超出按量;必开 GCP budget alert

一个晚上使劲用 + 语音大概单笔个位数美元。这是当代 AI 应用里少数几个给你做硬护栏、不让你月底被账单吓到的产品。

适合谁、风险在哪、我的判断

你该现在上的几种人

  • GEOINT / OSINT 从业者:这个项目直接给你的工作流做了 80%——你看 README §Field Missions 给的 9 个 mission 模板就知道,作者是认真调研过的
  • 航模/民航爱好者:Live Flights 11,000+ 架、Cockpit 视角进驾驶舱、降落后自动落在真实停机坪(NOTAM 数据驱动 apron 高度)——这是给飞机迷的玩具
  • 教学/演讲者:Real-time cockpit、轨道环、地震、火点、收音机台站——这些都是带视觉效果的真实数据,讲地理、讲航天、讲应急,直接打开就能演
  • Web GIS 开发者:Vanilla JS + CesiumJS 的现代前端范例,代码可读,改图层方便

你可以再等等的几类人

  • Mac M5 都没用过的纯小白:README 推荐 Pinokio 一键路径,但你自己装 Node 24 不是秒秒搞定。等官方 hosted 版本——README §What’s Next 已经明确预告:在 halfpixel.ai 上线官方 hosted 版本,不开链接、打开就能用
  • 只想看新闻 / 刷一刷的轻度用户:深度互动需要 30 分钟上手成本,你可能不需要这种"实时空间情报"产品,Google Earth App 就够了

你别碰的几类人

  • 拿这个去做航空/海事作业、医疗/应急响应、投资决策:README 顶部明确写:“Do not use it for flight or maritime navigation, emergency response, medical or health decisions, investment decisions, or other safety-critical or operational purposes.”
  • 想在生产环境开 LAN 暴露:作者已经把警告标了——⚠️ LAN 可见 = 你的 Key 等于局域网广播。要开就自己上反向代理 + 鉴权,别信 README 里那个一键 --host 0.0.0.0
  • 需要追踪具体个人:项目 README §Responsible & Open 明文拒绝——“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.”

几个不算坑但你得知道的小问题

  • 数据 15-30 秒刷新,飞机/船的位置是"上一刻的",作者原话:“the globe renders one interval behind real time and interpolates between known fixes”——不是 bug,是设计
  • AISStream 中远海覆盖弱,“terrestrial AIS goes quiet mid-ocean and satellite AIS costs real money”——你拿不到船舶经过太平洋中部的实时数据
  • 卫星数据靠 SGP4 推算,轨道会漂移,作者给的对策是 GMST 实时重对齐
  • 这是 MIT,但打包和直播数据源各自带条款(见 DATA_SOURCES.md)

如果你只想记住三件事

  1. 零 Key 就能跑——git clone && npm run dev,默认就给你 11,000+ 真飞机、千艘真船、838 颗卫星轨道、地震、收音机台站、共享单车。你大概率根本不用花钱。
  2. 要加 Key 也要得起——自带 $2 警告 + $5 硬上限,作者的护栏比大多数 AI 产品都厚。但上 Google Maps 直连一定要在 GCP 开 budget alert。
  3. 这是当前最好的"开源 GEOINT 客户端"——不是说没有别的,而是说它在"前端体验 + 真实数据 + 语音交互 + 可扩展"这四件事上同时做到了 8 分以上。如果你是这个领域的玩家,这个仓库至少要在你脑子里待 30 天。

来源与延伸阅读(按文中出现顺序):

顺带一提:看地图选目的地,出门的装备清单我们也备好了——国庆出游装备怎么选按出行方式分了 9 款。

本文由拾光札记编辑部整理,勘误请联系我们。