God's Eye View:把开源情报变成一张可交互的 3D 地球
posts posts 2026-09-03T03:15:00+08:00God's Eye View 是一个浏览器里的开源情报模拟器:航班、船舶、卫星、地震、天气与公共摄像头实时铺在写实 3D 地球上,无密钥即可启动,还能通过 MCP 接入 Claude 与 Codex。本文基于 v0.2.1 介绍其图层结构、核心机制、数据真实边界与商用许可边界。技术笔记OSINT, WebGL, 地理空间, 3D 可视化, MCP, 开源一句判断
开源情报(OSINT,Open Source Intelligence)的瓶颈从来不是数据匮乏,而是界面:信号散落在几十个浏览器标签页里,聚合靠人肉。God’s Eye View 把这件事做成了一张可交互的 3D 地球——航班、船舶、卫星、地震、天气、公共摄像头实时铺在地球上,浏览器里直接跑,不配密钥也能启动。
这个项目把"看起来像电影里的军用 HUD"和"每一行代码都能查"两件事叠在了一起。前者是体验,后者是它作为开源项目的底气。九月中旬之后它又多了一层身份:一个 MCP 服务器,让 Claude、Codex 这类编码代理能在对话里直接调起这张地球。
本文基于 2026 年 10 月 3 日的 v0.2.1 核查。文章初版发表于 9 月 3 日(v0.1.x 时代),此后项目从 13 个图层扩到 19 个、摄像头从约 800 路涨到约 3,600 路,并新增了 MCP 接入与卫星影像回看,正文均已按现状重写。
它是什么,从哪来
God’s Eye View 是一个跑在浏览器里的地球可视化应用,技术栈刻意朴素:原生 JavaScript 加 CesiumJS 和 Vite,没有前端框架,行星表面用 Google Photorealistic 3D Tiles,语音走 OpenAI Realtime API。作者 Bilawal Sidhu 凭同名 YouTube 系列走红(README 称该系列播放量超 500 万,全社交平台累计超 2,500 万),2026 年 6 月 23 日建仓,8 月底发布 v0.1.0 正式开源,当周登顶 GitHub Trending 日榜与周榜;截至 10 月 3 日为 46,700 stars(本文初版发表次日实拍 16,943,一个月间翻了一倍多)。目前在维护者名单里的还有 Sameh Khamis,两人同属 Halfpixel——官方已在 README 预告将推出托管版,理由是开源发布后听到的最响亮请求不是新功能,而是"给我一个链接就行"。
它的数据不是模型渲染出来的假数据,而是真实公共信号,每一层都能在仓库的 DATA_SOURCES.md 里查到来源与条款:
- 航班:ADS-B(广播式自动相关监视)应答机信号,主源 OpenSky,备用 adsb.lol,11,000+ 架在飞飞机
- 船舶:船载 AIS(船舶自动识别系统)信标,来自 AISStream.io
- 卫星:CelesTrak 的 838 个目标轨道根数(TLE),客户端用 SGP4 算法推算位置
- 地震:USGS 过去 24 小时全球事件
- 公共摄像头:各交通局公开的城市摄像头,约 3,600 路,特拉华州的 DelDOT 是实时视频流
- 发射任务:Launch Library 2 的滚动 30 天发射清单
地图:19 个图层怎么分
应用内的 Data Layers 面板把图层分成六组,这张表也是理解整个项目的最快入口——19 个图层与地图源里有 17 个有无密钥路径,只有船舶、火灾这类要注册拿免费钥匙:
| 分组 | 图层 | 数据源 | 密钥 |
|---|---|---|---|
| 移动目标 | 航班、军机、船舶、公交、共享单车 | OpenSky、adsb.lol、AISStream、GTFS-RT、GBFS | 船舶需免费 AISStream 密钥,其余无密钥 |
| 摄像头 | 城市摄像头、ALPR 车牌识别器位置 | 各地交通局 API、OpenStreetMap 标注 | 无密钥 |
| 基础设施 | 数据中心 4,351 个、大坝 704 座、海底光缆 712 条、军事设施 | 随包分发 + OSM | 无密钥 |
| 事件 | 地震、火灾、发射任务 | USGS、NASA FIRMS、Launch Library 2 | 火灾需免费 FIRMS 密钥 |
| 天气 | 风场、雨雷达、卫星云图、闪电、气旋 | NOAA GFS/ECMWF、nowCOAST、NHC | 全部无密钥 |
| 工具 | 地图底座、路线规划、无线电、Recent Imagery | Esri/Google/OSM、OSRM、Radio Browser、NASA | 底座高档位才需要密钥 |
无密钥启动时,地球上已经在动的是航班、军机、卫星、地震、公共摄像头、无线电和发射任务;底座是 Esri 卫星影像加无密钥地形,Esri 不可达时自动切 OSM。想要 Google 级别的写实 3D 城市,配一把免费的 Cesium ion 密钥即可。
上手:两条路径
路径一:Pinokio 一键安装。需要 Pinokio 8.2 或更高版本——8.0.40 的原生 Configure 表单对这类嵌套应用会把密钥写错文件还留下日志,官方 README 和 SECURITY.md 都专门警告过这一点。在 Pinokio 里打开应用页,点 Install 再点 Start,适合不想碰终端的用户。
路径二:终端或编码代理。Node.js 要求 24.x(不低于 24.14.0)或 26.x,package.json 的 engines 字段写得很精确(>=24.14.0 <25 || >=26 <27),25 已 EOL,setup doctor 会主动提醒:
git clone https://github.com/bilawalsidhu/gods-eye-view.git
cd gods-eye-view
npm ci
npm run doctor
npm run dev打开 http://localhost:4173(端口在 build/vite.js 里默认写死)。性能基线来自 docs/PERFORMANCE.md:2026 年 8 月 22 日在 M5 + Chrome 上捕获,首屏稳定中位数 1.86 秒——官方明确说这是对照基线,不是你机器上的承诺,也不是最低配置要求。同一个文档里还有个容易被忽略的数字:摄像头图层是冷激活最慢的一层,约 19.6 秒才完全就位,等它加载不是你的机器不行。
有一条升级警告值得单独说:旧版本查询的公共 OpenStreetMap Overpass 服务器现在已拒绝旧客户端,不升级的话交通、军事设施和 ALPR 三个图层会一直空白。
首次启动会弹任务卡让你选 Live Contacts(实时目标)、Space Missions(太空任务)、Environmental(环境数据)或 Explore Manually(手动探索)。键盘快捷键:1–7 切换视觉风格,H HUD,D 检测框,C 座舱,` 帧率,Esc 退出。
核心机制:四条主线
追踪链是骨架。点任意目标,镜头锁定、画出渐隐航迹、弹出完整元数据卡;锁定一架在飞航班后按 C 切进座舱,镜头跟着飞机走,地形始终压在机身下方,途中可以随时切传感器。Contacts 面板维护着目标周围 250 公里的名单,可以在飞机之间直接跳座舱。底层的工程细节 README 写得很诚实:实时数据每 15–30 秒才到一批,地球渲染的是滞后一个区间的画面,靠插值和航位推测补平滑——你看到的是推算出来的流畅,不是逐秒的真实。
传感器滤镜是皮肤。1–7 共七档:正常、CRT、NVG 夜视(PVS-14 像增强器模拟)、FLIR 热成像、Noir 黑白、Snow、Anime,全部是 GLSL 着色器,整个地球实时重渲染。3D 机库按机型加载真实模型(787、ATR-72、Citation、Bell 206、MQ-9 等,GLB 文件就在 public/models/ 里),追踪目标靠近后从图标切换成模型。
语音是豪华配置。对着地球说话,可以把州界多边形、标记、路线实时标注上去,也能问"德州上空现在有多少航班"这类分析师查询。官方口径是 29 个语音工具,分导览、标注、查询、操作四类;同一把 OpenAI 密钥还驱动 AI HUD 摘要——每移动一次就重新生成一句五个词的情报风格战况。语音是唯一持续花钱的功能,应用自带花费控制:麦克风旁边有实时会话花费读数,默认 2 美元弹出警告、5 美元硬性断开会话(voiceCost.js 里的 warnUsd: 2, capUsd: 5),这在同类项目里少见地体贴。
绘制与路线不需要麦克风。DISPLAY 面板的 Draw 可以在地球上画面、线、钉并持久保存;Directions 输入 A、B 两点,OSRM 给出步行、骑车、驾车路线并逐转向提示,还能让镜头沿着路线飞一遍——无密钥、无地理编码器。Recent Imagery 是 9 月新增的重磅功能:框选任意区域,拿到过去 30 天无密钥的 NASA 影像(HLS Sentinel-2/Landsat,30 米分辨率),支持两个日期 A/B 对比,选中的那一天会自动铺到地球上。
所有状态——相机姿态、风格、图层、甚至一个正在追踪的目标——都能序列化进分享链接。README 对此有一句很准的话:一个活的目标是"交接"(handoff),不是"书签"。
一个任务流:追问一架绕圈的军机
README 的 Field Missions 清单里最能把整条链串起来的是"Ask the planet":
你在军机图层看到一群直升机在原地绕圈。点选其中一架,客户端静默回填它过去约 24 小时的真实轨迹历史——绕圈在 3D 里解析成一摞叠起来的环形航线,它在做什么一目了然。按 C 跳进它的座舱,1–7 切到 NVG,打开检测网格让 HUD 读整个场景。想知道地面视角,去摄像头面板点 NEAREST,最近的公共摄像头立刻接管同一片区域。最后把分享链接发给同事——他打开的不是截图,是同一个还在动的追踪目标。
航班、船舶、火灾的交接是同构的:追踪目标→座舱或战术卡→最近摄像头→分享链接。这套"信号→视角→交接"的动线,是整个产品的核心交互。
从应用到编码代理:MCP 与 40 个工具
10 月 3 日的 v0.2.0 把 God’s Eye View 变成了一个 MCP 服务器:在 Claude Desktop、Codex 或 ChatGPT 桌面端里说"给我看东京",对话右侧会直接打开一个可交互的地球面板,带着正确的图层和风格,甚至能跟某架飞机的座舱——面板由 MCP 服务器自己伺服,本地运行,不需要 HTTPS 或内网穿透。每个回答还附带一个链接,点开就是完整应用。
工具目录与语音共用一套定义,src/tools/ 下实测恰好 40 个:find_aircraft、get_aircraft_track、find_cctv_cameras、get_recent_imagery、plan_route、next_satellite_pass、get_cyclones、situation_brief 等,覆盖飞机、船舶、卫星、火灾、摄像头、无线电、路线、天气、基础设施和态势简报。接入方式照 docs/MCP_SETUP.md 做:npm run build:panel 之后,把 server/mcp/stdio.js 注册进 Claude Code、Codex CLI 或 Claude Desktop 即可。另有 ?embed=1 嵌入模式,让第三方页面只框住地球本身。
对持有编码代理的团队来说,这可能是比"又一个可视化 demo"更实际的入口:代理负责问数据,地球负责给空间直觉,两边共享同一份本地数据面。
数据真实边界:哪些是实况,哪些是估计
这一点 README 自己做了区分,写文章不能含糊:
- 真实且实时/准实时:航班、船舶、卫星、地震、公共摄像头、天气与发射任务。
- 模拟或粗略估计:道路交通是沿真实道路、用聚合位置数据模拟的——配了 TomTom 密钥会有实时流速和拥堵配色,但单个车辆的位置始终不是实测;公共摄像头的机位朝向是估计值,界面上会标 ESTIMATED,你可以在摄像头本体上拖拽 gizmo 校准;火箭发射的上升轨迹标注
RECONSTRUCTED ESTIMATE,可 0.25–4 倍速回放,但它是重建,不是遥测。
这不是一个"全真"的地球——信号是真的,视觉呈现里掺了模拟成分。README 尾部的免责声明把边界划得更硬:数据可能延迟、缺失、建模、推断或出错,不得用于航行、应急响应、医疗或投资决策。把它当军用级实时态势系统用会高估它,当"公共信号的可视化教学台"来理解则恰到好处。
密钥与成本:不花钱能到哪一步
六把密钥,四把有免费档,两把按量计费。全部通过应用右下角的 POWER UP 面板配置,粘贴保存后应用自动重启生效;没有一把是启动前提。
| 密钥 | 打开什么 | 成本 |
|---|---|---|
| Cesium ion | Google 写实 3D 城市与全球地形 | 免费档限个人非商业用途,有配额 |
| Google Maps | 直连 3D 影像 + 应用内地点搜索 | 计费;每月前 1,000 个 3D Tiles 会话目前免费 |
| OpenAI | 语音、AI HUD 摘要 | 按量,实时语音约每活跃分钟几美分,有 $2/$5 会话闸 |
| AISStream | 全球船舶 | 免费注册 |
| NASA FIRMS | 活跃火灾 | 免费 |
| TomTom | 交通实时流速 | 有免费档 |
另外两把"锦上添花"的钥匙(OpenSky、Launch Library 2)只是提高轮询配额。无密钥状态的开箱体验已经覆盖了 OSINT 该有的基本盘。
安全模型可以一句话概括:带密钥的请求全部由本地服务端代理转发,浏览器永远拿不到真密钥——OpenAI 走短时效的临时会话令牌,唯一的例外是 Google Maps 和 Cesium ion 这两把必须进浏览器的钥匙(Vite 注入,devtools 里可见),SECURITY.md 要求在提供方控制台做域名与 API 双重限制。密钥文件写入前先设为仅属主可读(源码里是 openSync(tmp, 'wx', 0o600)),macOS 上 dev-fresh.sh 还能把密钥收进钥匙串。默认只绑定 localhost;如果你主动开 LAN 共享,要知道任何能访问到服务器的人都能消耗你配置的密钥——v0.2.1 已给花钱的端点加了默认限流(OpenAI 每分钟 30 次、Google 120 次),但应用层限流不等于账单上限,提供方侧的预算告警仍然要自己设。
许可与商用边界
初版曾把许可写成"自定义 Other、未挂标准开源协议"——那是 GitHub API 对这段免责附注的机器识别结果,不是事实。源代码是标准 MIT 协议(LICENSE 文件正文即 MIT 文本)。但 MIT 只覆盖代码:随包分发的数据集和运行时拉取的第三方数据各按各的条款来,DATA_SOURCES.md 逐项列了清单。对商用最要紧的两条:海底光缆数据来自 TeleGeography,CC BY-NC-SA 非商业许可,商用部署必须删掉这个数据集(官方明说它是一个自包含目录,删起来不难);航班主源 OpenSky 的数据许可限定非商业研究/教育用途。也就是说"代码能商用"和"整套应用能商用"是两个问题,后者取决于你留哪些图层。
项目还有一条产品红线,写在 README 的 “The line” 一节:只建模事件、资产、基础设施和系统,不做指名道姓的人物搜索、人脸识别或个人追踪,“People are not a query type here”,越线的 PR 不会被合并。对一个长得像情报工具的开源项目来说,这条边界本身就是它能不能被严肃采用的前提。
谁该现在用
现在就上:OSINT 爱好者和地理空间可视化开发者。前者得到的是免费的全球信号沙盘,后者得到的是一个"原生 JS + Cesium + 单层模块化数据源"的参考实现——想加一层自己的数据源,README 的原话是"开个 issue 或直接发 PR"。
值得认真评估:已经在用 Claude、Codex 或 ChatGPT 桌面端的团队。MCP 接入成本是一次配置,换来的空间问答能力没有同类替代——项目这一个月从 1.7 万星涨到 4.7 万,MCP 发布(10 月 3 日 v0.2.0)与 v0.2.1 的密集迭代都落在这个窗口里。
先等等:需要可靠性承诺的生产场景。官方自己的定性是"探索与学习用的开源客户端,不是加固的生产服务",本地单机运行、靠 localhost 边界而非账号体系隔离访问,托管版还没上线。等 Halfpixel 的托管版落地再评估不迟。
用之前删掉或关掉的:商用部署删 TeleGeography 海缆数据集;认真场景里把交通层当模拟看;不要拿任何图层做导航或应急决策——这条是项目方写的,不是本文替它谦虚。
延伸
- 仓库:https://github.com/bilawalsidhu/gods-eye-view
- 主页与作者通讯:https://maptheworld.ai/
- MCP 接入步骤:仓库内
docs/MCP_SETUP.md - 性能基线:仓库内
docs/PERFORMANCE.md(2026-08-22 M5 捕获) - 安全模型:仓库内
SECURITY.md;数据条款逐项清单:DATA_SOURCES.md
参与讨论
使用 GitHub 登录。欢迎补充事实、异议与实践。
讨论暂时无法加载。