koala73/worldmonitor
GitHub: koala73/worldmonitor
一款开源的全球实时情报仪表板,整合新闻聚合、地缘政治监测和基础设施追踪,提供统一的态势感知界面。
Stars: 28916 | Forks: 4746
# 全球监控
**实时全球情报仪表板** —— 集成了 AI 驱动的新闻聚合、地缘政治监测和基础设施追踪的统一态势感知界面。
[](https://github.com/koala73/worldmonitor/stargazers)
[](https://github.com/koala73/worldmonitor/network/members)
[](https://www.gnu.org/licenses/agpl-3.0)
[](https://www.typescriptlang.org/)
[](https://github.com/koala73/worldmonitor/commits/main)
[](https://github.com/koala73/worldmonitor/releases/latest)
完整文档 ·
所有版本

## 为什么选择 World Monitor?
| 问题 | 解决方案 |
| ---------------------------------- | ---------------------------------------------------------------------------------------------------------- |
| 新闻分散在 100+ 个来源中 | **单一统一仪表板**,涵盖 15 个类别的 170+ 个精选订阅源 |
| 事件缺乏地理空间背景 | **交互式地图**,包含 45+ 个可切换的数据层和 CII 国家风险热力图 |
| 信息过载 | **AI 综合简报**,具备焦点检测和本地 LLM 支持 |
| 加密货币/宏观信号噪点 | **7 信号市场雷达**,提供综合性的 BUY/CASH 判定 |
| 昂贵的 OSINT 工具 ($$$) | **100% 免费且开源** |
| 静态新闻订阅源 | **实时更新**,包含直播视频流和 AI 驱动的推演 |
| 依赖云端的 AI 工具 | **本地运行 AI**,支持 Ollama/LM Studio —— 无需 API 密钥,数据不离开您的设备。可选的 **头条记忆 (Headline Memory)** 为每个头条构建本地语义索引,支持 RAG 驱动的查询 |
| 仅限 Web 的仪表板 | **原生桌面应用** (Tauri),支持 macOS、Windows 和 Linux + 可安装的 PWA,支持离线地图 |
| 平面 2D 地图 | **双地图引擎** —— 逼真的 3D 地球 (globe.gl + Three.js) 和 WebGL 平面地图 (deck.gl),拥有 45+ 个可切换的数据层,运行时可切换 |
| 仅限英语的 OSINT 工具 | **21 种语言**,提供原生语言 RSS 订阅源、AI 翻译摘要,以及阿拉伯语的 RTL 支持 |
| 孤立的金融数据 | **金融变体**,包含 92 个证券交易所、19 个金融中心、13 家中央银行、BIS 数据、WTO 贸易政策和海湾 FDI 追踪 |
| 无文档且脆弱的 API | **Proto-first API 合约** —— 22 个类型化服务,带有自动生成的客户端、服务器和 OpenAPI 文档 |
## 在线演示
| 变体 | URL | 重点 |
| ------------------- | ------------------------------------------------------------ | ------------------------------------------------ |
| **World Monitor** | [worldmonitor.app](https://worldmonitor.app) | 地缘政治、军事、冲突、基础设施 |
| **Tech Monitor** | [tech.worldmonitor.app](https://tech.worldmonitor.app) | 初创企业、AI/ML、云、网络安全 |
| **Finance Monitor** | [finance.worldmonitor.app](https://finance.worldmonitor.app) | 全球市场、交易、中央银行、海湾 FDI |
| **Happy Monitor** | [happy.worldmonitor.app](https://happy.worldmonitor.app) | 好消息、积极趋势、振奋人心的故事 |
所有四个变体均从单一代码库运行 —— 通过标题栏一键切换。
## 主要特性
### 本地化与区域支持
- **多语言 UI** —— 完全本地化的界面,支持 **21 种语言:英语、保加利亚语、罗马尼亚语、法语、西班牙语、德语、意大利语、波兰语、葡萄牙语、荷兰语、瑞典语、俄语、阿拉伯语、中文、日语、土耳其语、泰语、越南语、捷克语、希腊语和韩语**。语言包按需延迟加载 —— 仅获取活动语言,保持初始包体积最小化。
- **RTL 支持** —— 原生支持阿拉伯语 (`ar`) 和希伯来语的从右到左布局。
- **本地化新闻订阅源** —— 基于语言偏好的特定区域 RSS 选择(例如,以法语查看应用会加载 Le Monde、Jeune Afrique 和 France24)。21 个语言区域拥有专用的原生语言订阅源集:保加利亚语、罗马尼亚语、法语、阿拉伯语、德语、西班牙语、意大利语、荷兰语、瑞典语、土耳其语 (BBC Türkçe, Hurriyet, DW Turkish)、波兰语 (TVN24, Polsat News, Rzeczpospolita)、俄语 (BBC Russian, Meduza, Novaya Gazeta Europe)、泰语 (Bangkok Post, Thai PBS)、越南语 (VnExpress, Tuoi Tre News)、韩语 (Yonhap, Chosun Ilbo)、希腊语 (Kathimerini, Naftemporiki, in.gr, Proto Thema)、葡萄牙语 (O Globo, Folha)、日语、中文 (MIIT, MOFCOM) 和捷克语 (iDNES, Novinky)。对于非英语用户,首次加载时会进行一次性的语言区域增强,自动启用这些原生语言来源,而不会覆盖手动偏好设置。
- **AI 翻译** —— 集成 LLM 翻译用于新闻标题和摘要,实现跨语言情报收集。
- **区域情报** —— 针对非洲、拉丁美洲、中东和亚洲的专用监测面板,包含本地来源。
### 双地图引擎 —— 3D 地球 + 平面地图
提供两种渲染引擎,可通过设置或 `VITE_MAP_INTERACTION_MODE` 环境变量(`globe` 或 `flat`)在运行时切换。偏好设置保存在 localStorage 中。
**3D 地球 (globe.gl + Three.js)** —— 具有全俯仰和旋转功能的逼真 3D 地球:
- **地球纹理** —— 地形-水深测量日间表面 (`earth-topo-bathy.jpg`)、用于海洋反射的高光水面贴图,以及星空夜空背景
- **大气层着色器** —— Fresnel 边缘发光效果模拟地球边缘的大气散射
- **自动旋转** —— 空闲时地球缓慢旋转,任何用户交互时暂停,60 秒无活动后恢复
- **HTML 标记层** —— 所有 28+ 个数据类别(冲突、情报热点、AIS 船只、航班、抗议、火灾等)渲染为固定在地球表面地理坐标上的 HTML 元素
- **地缘政治多边形覆盖** —— 朝鲜非军事区 (DMZ) 和其他边界多边形直接渲染在地球上的冲突层下方
- **防抖标记刷新** —— 通过 `debounceFlushMarkers()` 合并快速数据更新,以防止高频数据刷新期间 Three.js 场景图崩溃
- **可配置的渲染质量** —— 设置下拉菜单提供五种像素比预设:自动(匹配设备 DPR,上限为 2×)、节能 (1×)、清晰 (1.5×)、4K (2×) 和极高 (3×)。该设置实时更新 Three.js 渲染器,无需重新加载页面。桌面 构建将默认值限制在 1.25×,以避免在没有独立 GPU 的机器上出现软件渲染回退
- **桌面优化默认值** —— Tauri 桌面构建请求高性能 GPU (`powerPreference: 'high-performance'`),禁用对数深度缓冲(节省着色器开销),并关闭自动旋转和相机阻尼,以消除空闲时连续的渲染循环唤醒 —— 解决了某些机器上 1 fps 性能的报告
- **后台暂停** —— 当桌面应用窗口失去焦点或地球面板被隐藏时,WebGL 渲染循环完全暂停,停止 Three.js 动画循环并取消自动旋转。暂停时收到的数据更新会排队,并在地球返回视图时一次性批量刷新,从而消除笔记本电脑上的后台 GPU 负载
- **Beta 指示器** —— 当地球激活时,会出现一个脉动的青色 "BETA" 徽章,表明该功能比平面地图更新
**平面地图 (deck.gl + MapLibre GL JS)** —— WebGL 加速的 2D 地图,具有流畅的 60fps 渲染和数千个并发标记:
- **图层类型** —— `GeoJsonLayer`、`ScatterplotLayer`、`PathLayer`、`IconLayer`、`TextLayer`、`PolygonLayer`、`ArcLayer`、`HeatmapLayer` 在单次渲染过程中合成
- **智能聚类** —— Supercluster 在低缩放级别对标记进行分组,放大时展开。聚类阈值根据缩放级别自适应
- **渐进式披露** —— 详细图层(基地、核设施、数据中心)仅在放大时出现;自适应透明度使标记从世界视图的 0.2 渐变到街道级别的 1.0
- **标签去冲突** —— 重叠标签(例如,多个 BREAKING 徽章)按优先级自动抑制,最高严重性优先
- **昼夜覆盖** —— 晨昏线根据当前 UTC 时间将地图分为阳光照射和黑暗的半球
**两个引擎共享:**
- **45+ 数据层** —— 冲突、军事基地、核设施、海底光缆、管道、卫星火灾探测、抗议、自然灾害、数据中心、人口流离失所、气候异常、网络威胁 IOC、GPS/GNSS 干扰区、CII 国家风险热力图、地缘政治边界(朝鲜非军事区)、证券交易所、金融中心、中央银行、商品枢纽、海湾投资、贸易路线、机场延误等。所有图层定义都维护在单个共享目录(`map-layer-definitions.ts`)中,供两个渲染器使用 —— 添加新图层只需修改单个文件
- **8 个区域预设** —— 全球、美洲、欧洲、MENA、亚洲、非洲、大洋洲、拉丁美洲
- **时间过滤** —— 1h、6h、24h、48h、7d 事件窗口
- **URL 状态共享** —— 地图中心、缩放、活动图层和时间范围编码在 URL 中,用于可共享视图(`?view=mena&zoom=4&layers=conflicts,bases`)
- **移动端触摸手势** —— 单指平移配合惯性速度动画(0.92 衰减因子,由 4 条目循环触摸历史计算)、双指捏合缩放配合中心点保留,以及可滑动关闭的底部弹出窗口。8px 移动阈值防止点击时的意外交互
- **基于时区的区域检测** —— 首次加载时,地图会根据从 `Intl.DateTimeFormat().resolvedOptions().timeZone` 派生的用户大概区域居中 —— 无网络依赖,无地理定位提示。在移动端,查询浏览器的 Geolocation API(5 秒超时),地图自动居中于用户在缩放级别 6 的精确 GPS 坐标。如果 URL 已包含共享坐标,则共享视图优先并跳过地理定位
- **Cmd+K 地图导航** —— 命令面板支持带 `Map:` 前缀的命令,可在任一引擎上飞至任何国家或地区
### AI 驱动的情报
- **全球简报 (World Brief)** —— LLM 综合的全球重大发展摘要,具有 4 层提供者回退链:Ollama (本地) → Groq (云端) → OpenRouter (云端) → 浏览器端 T5 (Transformers.js)。每一层尝试 5 秒超时后回退到下一层,因此 UI 永远不会被阻塞。结果通过 Redis 缓存(24h TTL)并进行内容去重,因此并发用户看到的相同头条仅触发一次 LLM 调用
- **本地 LLM 支持** —— Ollama 和 LM Studio(任何 OpenAI 兼容端点)完全在本地硬件上运行 AI 摘要。无需 API 密钥,数据不离开机器。桌面应用自动发现本地实例中的可用模型并填充选择下拉菜单,过滤掉仅用于嵌入的模型。默认回退模型:`llama3.1:8b`
- **AI 推演与预测** —— 交互式地缘政治分析工具,分析师输入自由文本查询(例如,“未来 24 小时中东会发生什么?”)并获得 LLM 生成的近期时间线推演。面板通过 `buildNewsContext()` 自动填充最近 15 条实时头条的上下文,因此 AI 始终掌握当前的态势感知。其他面板可以通过 `wm:deduct-context` 自定义事件预填充并自动提交查询,实现无缝的跨面板深度链接到上下文预测。结果查询哈希在 Redis 中缓存(1 小时 TTL),以避免重复的 LLM 调用
- **头条记忆 (RAG)** —— 可选的客户端检索增强生成系统。在设置中启用时,每个传入的 RSS 头条使用专用 Web Worker 中运行的 ONNX 模型(`all-MiniLM-L6-v2`,384 维 float32 向量)进行嵌入,然后存储在 IndexedDB 中(`worldmonitor_vector_store`,上限为 5,000 个向量,按摄取时间进行 LRU 淘汰)。任何组件都可以使用自然语言查询语义搜索头条存档 —— 结果按暴力余弦相似度排名并按分数顺序返回。整个流水线在浏览器本地运行,零服务器依赖,实现跨会话的持久语义智能
- **混合威胁分类** —— 即时关键词分类器,配合异步 LLM 覆盖以获得更高置信度的结果
- **焦点检测** —— 关联新闻、军事活动、抗议、中断和市场中的实体,以识别趋同点
- **国家不稳定指数 (CII)** —— 使用加权多信号混合为每个有传入数据的国家提供实时稳定评分。23 个精选一级国家拥有调整后的基线风险概况;所有其他国家在检测到任何事件数据(抗议、冲突、中断、流离失所、气候异常)时使用具有合理默认值的通用评分。**CII 分级统计图热力图**根据实时不稳定评分(0–100)在平面和 3D 地球视图上以五段渐变色(绿色 → 黄色 → 橙色 → 红色 → 深红色)绘制每个国家,使分析师能够一目了然地扫描全球风险分布。点击 CII 面板中的任何国家行可直接导航到该国的完整情报简报
- **趋势关键词峰值检测** —— 2 小时滚动窗口对比 7 天基线,标记 RSS 订阅源中的激增词汇,包含 CVE/APT 实体提取和自动摘要
- **战略态势评估** —— 结合所有情报模块的综合风险评分,带有趋势检测
- **国家简报页面** —— 点击任何国家可查看包含 CII 评分环、AI 生成分析、带引用锚点的热门新闻、预测市场、7 天事件时间线、活动信号芯片、基础设施暴露和股票市场指数的整页情报档案 —— 可导出为 JSON、CSV 或图像
### 实时数据层
地缘政治
- 具有升级追踪的活跃冲突区 (UCDP + ACLED)
- 具有新闻相关性的情报热点
- 社会动荡事件(双源:ACLED 抗议 + GDELT 地理事件,Haversine 去重)
- 来自 3 个来源的自然灾害(USGS 地震 M4.5+、GDACS 警报、NASA EONET 事件)
- 制裁制度
- 网络威胁 IOC(C2 服务器、恶意软件主机、钓鱼、恶意 URL)在地球上进行地理定位
- 来自 ADS-B 应答机分析的 GPS/GNSS 干扰区(H3 六边形网格,干扰 % 分类)
- 地缘政治边界覆盖 —— 朝鲜非军事区(基于朝鲜停战协定的 43 点闭合环多边形),具有类型化边界类别(非军事化、停火、争议、休战)和信息弹出窗口
- 天气警报和恶劣天气状况
军事与战略
- 来自 9 个运营商的 210+ 个军事基地
- 实时军用航班追踪 (ADS-B)
- 海军船只监测 (AIS)
- 核设施与伽马辐照器
- APT 网络威胁行为者归因
- 航天港与发射设施
基础设施
- 海底光缆,包含登陆点、光缆健康咨询(NGA 航海警告)和光缆维修船追踪
- 石油与天然气管道
- AI 数据中心(111 个主要集群)
- 6 种类型的 83 个战略港口(集装箱、石油、LNG、海军、混合、散货),带有吞吐量排名
- 互联网中断
- 关键矿产 deposits
- NASA FIRMS 卫星火灾探测(VIIRS 热点)
- 19 条全球贸易路线(集装箱、能源、散货),带有穿过战略咽喉要道的多段弧线
- 107 个受监测机场的延误和关闭状况 (FAA + AviationStack + ICAO NOTAM)
市场与加密情报
- 7 信号宏观雷达,提供综合性的 BUY/CASH 判定
- **海湾经济体面板** —— GCC 金融市场的实时数据,分为三个部分:**指数**(Tadawul/沙特、迪拜金融市场、阿布扎比、卡塔尔、WisdomTree 海湾股息、马斯喀特 MSM 30)、**货币**(SAR, AED, QAR, KWD, BHD, OMR 兑 USD)、以及 **石油**(WTI 原油、布伦特原油)。所有报价均从 Yahoo Finance 获取,采用交错批处理,Redis 缓存 8 分钟,每个报价带有迷你折线图,60 秒轮询
- 通过 CoinGecko 获取的实时加密货币价格(BTC、ETH、SOL、XRP 等)
- BTC 现货 ETF 流量追踪器(IBIT、FBTC、GBTC 等 9 个)
- 稳定币锚定健康监测(USDT、USDC、DAI、FDUSD、USDe)
- 恐惧与贪婪指数,包含 30 天历史
- 比特币技术趋势(SMA50、SMA200、VWAP、Mayer Multiple)
- 日元流动性信号、QQQ/XLP 宏观机制、BTC 算力
- 用于视觉趋势的内联 SVG 折线图和圆环仪表
科技生态系统 (Tech 变体)
- 科技公司总部(Big Tech、独角兽、上市公司)
- 带有融资数据的初创企业中心
- 云区域(AWS、Azure、GCP)
- 加速器(YC、Techstars、500)
- 即将举行的科技会议
金融与市场 (Finance 变体)
- 92 个全球证券交易所 —— 巨型(NYSE、NASDAQ、上海、泛欧、东京)、主要(香港、伦敦、NSE/BSE、多伦多、韩国、沙特 Tadawul)和新兴市场 —— 包含市值和交易时间
- 19 个金融中心 —— 按全球金融中心指数排名(纽约 #1 到离岸中心:开曼群岛、卢森堡、百慕大、海峡群岛)
- 13 家中央银行 —— 美联储、欧洲央行、日本央行、英国央行、中国人民银行、瑞士央行、澳洲联储、加拿大央行、印度储备银行、韩国银行、巴西央行、沙特央行,以及超国家机构(BIS、IMF)
- BIS 央行数据 —— 主要经济体的政策利率、实际有效汇率 (REER) 和信贷占 GDP 比率,数据来源于国际清算银行
- 10 个商品枢纽 —— 交易所(CME Group、ICE、LME、SHFE、DCE、TOCOM、DGCX、MCX)和实物枢纽(鹿特丹、休斯顿)
- 海湾 FDI 投资图层 —— 64 个沙特/阿联酋对外直接投资在全球范围内绘制,按状态(运营中、建设中、已公布)进行颜色编码,按投资金额确定大小
- WTO 贸易政策情报 —— 来自世界贸易组织的活跃贸易限制、关税趋势、双边贸易流以及 SPS/TBT 壁垒
### 实时新闻与视频
- **170+ RSS 订阅源**,涵盖地缘政治、国防、能源、科技和金融 —— 域名允许列表代理可防止 CORS 问题。每个变体加载其自己精选的订阅源集:地缘政治约 25 个类别,科技约 20 个,金融约 18 个。**服务器端订阅源聚合** —— 单个 `listFeedDigest` RPC 调用在服务器端获取所有订阅源(以 20 个并发请求分批,每个订阅源 8 秒超时,总截止时间 25 秒),将分类摘要缓存在 Redis 中 15 分钟,并提供给所有客户端。这消除了每个客户端的订阅源扇出,将 Vercel Edge 调用减少了约 95%。单个订阅源结果单独缓存 10 分钟,因此在该窗口内的重复摘要构建会重用先前获取的内容
- **智能默认来源与语言区域增强** —— 新安装以精选子集开始(约 101 个来源,每个面板一级+二级,每个面板最少 8 个),而不是所有 170+ 个订阅源。对于非英语用户,一次性的语言区域感知增强会自动启用与浏览器语言匹配的原生语言订阅源(例如,以韩语查看会启用 Yonhap 和 Chosun Ilbo;以希腊语查看会启用 Kathimerini、Naftemporiki 和 Proto Thema)。21 种语言拥有专用的原生语言订阅源集 —— 订阅源声明其 `lang` 字段,增强功能与浏览器语言区域进行匹配
- **9 个默认直播视频流** —— Bloomberg、Sky News、Al Jazeera、Euronews、DW、France24、CNBC、CNN、Al Arabiya —— 具有自动直播检测功能,每 5 分钟抓取一次 YouTube 频道页面以查找活跃流。可从可扩展库中获得 70+ 个额外频道(Fox、BBC、CNN Turk、TRT、RT、CBS、NBC、CNN Brasil 等),分布在 6 个区域选项卡中,包括 **大洋洲**(ABC News Australia)。在移动端,频道选项卡以原生触摸惯性和对齐按钮的吸附方式水平滚动,而不是换行到多行
- **HLS 原生流媒体** —— 18+ 个频道(Sky News、Euronews、DW、France24、Al Arabiya、CBS News、TRT World、Sky News Arabia、Al Hadath、RT、ABC News AU、Tagesschau24、India Today、KAN 11、TV5Monde Info、Arise News、NHK World、Fox News 等)通过原生 HLS `
标签:AGPL, AI风险缓解, ESC4, HTTP/HTTPS抓包, IPv6支持, OSINT, TypeScript, 人工智能, 仪表盘, 全球态势感知, 全球监控, 决策支持系统, 地缘政治分析, 基础设施追踪, 威胁情报, 安全插件, 实时处理, 密码管理, 库, 应急响应, 开发者工具, 态势感知, 情报收集, 情报监测, 技术监控, 搜索引擎查询, 新闻聚合, 漏洞研究, 用户模式Hook绕过, 自动化攻击, 自动化攻击, 金融监控