Nonarkara/globalmonitor-v3
GitHub: Nonarkara/globalmonitor-v3
一款基于 React 的地缘政治情报仪表盘,整合冲突追踪、航空航海监控、环境卫星数据和市场指标,为规划人员提供统一的全球态势感知视图。
Stars: 0 | Forks: 0
# Globalmonitor v3
全球政治仪表盘 / GlobeWatch v8.3:一款基于 React + Vite 的地缘政治情报仪表盘,配有轻量级 Node API 缓存层,用于对时效性要求最高的面板。
它整合了实时地图图层、航班与船舶追踪、市场环境、人道主义指标、区域新闻以及结构化情报简报,使规划人员能够将冲突、气候、流动性和政策信号作为一个统一的运营全局图景进行分析。
## 实时状态
- 当前源代码仓库:`Nonarkara/globalmonitor`
- 全新的 v3 镜像:`Nonarkara/globalmonitor-v3`
- 实时静态前端:`https://globalmonitor.pages.dev`
- API 后端:`https://globalmonitor.fly.dev`
截至 2026-06-20,Cloudflare Pages 前端已是最新版本,但 Fly 后端仍为较旧的部署状态,因为在添加账单/付款信息之前,Fly 会阻止发布新版本。在 Fly 解除限制之前,本地开发是权威的全栈验证途径。
## 追踪内容
- 通过 ACLED、精选后备数据源、UNHCR 和 ReliefWeb 追踪冲突与人道主义热点
- 通过 airplanes.live、OpenSky 以及可选的 aviationstack 补充数据追踪航班位置
- 通过 AIS/VesselFinder 数据源追踪船舶位置,并带有地图航向矢量
- NASA FIRMS 热异常和 NASA GIBS 环境/卫星叠加层
- 通过 Open-Meteo 获取天气和空气质量
- 通过 USGS 获取地震活动
- 市场雷达、能源/石油指标、制裁和国防面板
- 基于主题的情报简报,涵盖:
- 中东冲突、霍尔木兹、能源和外交
- 东南亚 / 印太安全及海洋问题
- 泰国安全、边境、depa、MDES 及技术生态系统监控
## 本地运行
```
npm install
npm run dev:stack
```
这将启动:
- 前端位于 `http://127.0.0.1:5180`
- API 缓存层位于 `http://127.0.0.1:4000`
主要评估方式:`npm run dev:stack`(前端 **5180**,API **4000**)。在 Fly 成功发布新版本之前,请勿将 `globalmonitor.fly.dev` 视为最新版本。
如果您想分别运行它们:
```
npm run api
npm run dev
```
构建生产环境:
```
npm run build
```
将当前的静态前端部署到 Cloudflare Pages:
```
VITE_API_BASE_URL=https://globalmonitor.fly.dev npm run build
npx wrangler pages deploy dist --project-name=globalmonitor --branch=main --commit-dirty=true
```
在解除账单限制后,将完整的后端/前端镜像部署到 Fly:
```
fly deploy --remote-only -a globalmonitor
```
## Copernicus Sentinel 入门指南
仪表盘现在包含一个侧边栏 Sentinel 控制,它会自动在以下选项之间进行选择:
- `LIVE`:当存在凭证时,使用 Copernicus Data Space Sentinel Hub Process API
- `PUBLIC`:当缺少凭证时,使用内置的公共 EO 后备图层来显示光学和植被视图
在启动 Node API 之前设置以下环境变量:
```
export COPERNICUS_CLIENT_ID=your-client-id
export COPERNICUS_CLIENT_SECRET=your-client-secret
```
后端提供以下接口:
- `GET /api/copernicus/preview?theater=middleeast&preset=true-color`
- `GET /api/copernicus/preview?bbox=99.65,13.2,101.55,14.45&preset=ndvi`
支持的查询参数:
- `theater`:`middleeast` 或 `depa`
- `bbox`:`EPSG:4326` 格式的 `west,south,east,north`
- `preset`:`true-color` 或 `ndvi`
- `from`, `to`:ISO 日期时间
- `lookbackDays`, `maxCloudCoverage`, `width`, `height`
注意事项:
- 它使用 `sentinel-2-l2a`。
- 结果会在本地 API 中缓存 20 分钟。
- 当缺少凭证时,UI 会切换到公共后备叠加层继续正常工作。
- 战略参考走廊/区域现在位于专门的 `Strategic Context` 开关之后。
- Copernicus 分支提供的是区域预览,而不是可滑动的地图切片服务。
## 当前架构说明
- 关键的实时面板现在优先使用位于 `/api/*` 的后端 API,这增加了缓存功能,并明确返回实时或过期的 payload。
- 前端仍然具有浏览器端的后备机制,因此当后端不可用时,仪表盘仍能继续工作。
- 航班流量采用保守的“缓存优先”策略,以保护免费的 API 配额。aviationstack 仅限于中东地区,并在服务器端进行缓存。
- 复杂面板和地图使用 `React.lazy` 进行了代码分割,因此初始应用 bundle 依然保持轻量,而地图数据块会单独加载。
标签:API缓存, GNU通用公共许可证, HTTP/HTTPS抓包, MITM代理, Node.js, Web前端, 地缘政治, 态势感知, 情报分析, 网络诊断, 自定义脚本, 高对比度