WorldMonitor:实时全球情报仪表板

一个实时 AI 驱动的全球情报仪表板,聚合新闻、地缘政治事件和基础设施追踪。59K star。Palantir Gotham 的开源替代品。

  • ⭐ 1000
  • 更新于 2026-08-27
WorldMonitor:实时全球情报仪表板 #

PageIndex:29K⭐ 无向量 RAG 系统AI-Trader:14K⭐ 全自动 AI 交易智能体

WorldMonitor 是一个开源的实时全球情报仪表板,把新闻、地缘政治事件和基础设施数据聚合到统一的情境感知界面。凭借 59,524 个 GitHub star,它已成为 Palantir Gotham 等商业平台在地缘政治监测和 OSINT 分析领域的主要开源替代品。

本文涵盖安装、配置、数据源、API 用法、部署选项,以及记者、研究员和安全分析师的实战应用。

TL;DR #

WorldMonitor 把碎片化的全球数据流转换成单一、可操作的情报仪表板。它从 50+ 新闻源摄取内容、实时追踪地缘政治事件、监控全球关键基础设施,并提供 AI 驱动的分析和可定制告警。非常适合任何需要全面、实时全球事件视图又不想付企业价格的人。

什么是 WorldMonitor? #

WorldMonitor 是一个自托管情报仪表板,把多个数据源组合成全球事件的统一视图。与传统只收集标题的新闻聚合器不同,WorldMonitor 应用 AI 分析来关联事件、检测模式、浮现可操作的情报。

平台为记者、研究员、政策分析师和安全专业人士设计,他们需要跨多个地理区域和数据类别的实时情境感知。既支持个人分析师的单实例部署,也支持团队级运营的分布式架构。

关键能力包括:

  • 多源新闻聚合,来自 RSS 订阅、API 和网页爬虫,覆盖 50+ 全球新闻源
  • 地缘政治事件追踪,带实时地图和时间线可视化
  • 基础设施监控,覆盖电网、电信塔和交通枢纽等关键设施
  • AI 驱动关联引擎,识别看似无关事件之间的关系
  • 可定制告警,按关键词、区域、事件类型或严重度阈值
  • 历史分析,带可搜索归档,覆盖数月聚合数据
  • API 访问,用于与其他情报工具的程序化集成

安装指南 #

前置条件 #

  • 操作系统:Ubuntu 22.04 LTS、Debian 12 或 macOS 14+
  • CPU:最低 4 核(生产推荐 8 核)
  • 内存:最低 8GB(推荐 16GB)
  • 存储:50GB SSD(随数据保留期增长)
  • 网络:出站互联网访问用于数据收集
  • 依赖:Node.js 20+、Python 3.11+、PostgreSQL 15+

方案 1:Docker Compose 部署(推荐) #

最快的入门方式是使用提供的 Docker Compose 配置:

git clone https://github.com/koala73/worldmonitor.git
cd worldmonitor

# 复制示例配置
cp config.example.yaml config.yaml

# 启动所有服务
docker compose up -d

这会启动应用服务器、PostgreSQL 数据库、Redis 缓存和 Web 前端。默认凭据在 .env 文件中——生产环境请立即修改。

方案 2:手动安装 #

# 克隆仓库
git clone https://github.com/koala73/worldmonitor.git
cd worldmonitor

# 安装后端依赖
pip install -r requirements.txt

# 安装前端依赖
cd frontend && npm install && cd ..

# 设置数据库
createdb worldmonitor
psql worldmonitor < migrations/001_init.sql

# 配置应用
cp config.example.yaml config.yaml
# 编辑 config.yaml

# 运行数据库迁移
python manage.py migrate

# 启动应用服务器
python manage.py runserver 0.0.0.0:8000

# 启动前端(另一个终端)
cd frontend && npm run start

方案 3:Kubernetes 部署 #

apiVersion: apps/v1
kind: Deployment
metadata:
  name: worldmonitor
spec:
  replicas: 3
  selector:
    matchLabels:
      app: worldmonitor
  template:
    metadata:
      labels:
        app: worldmonitor
    spec:
      containers:
      - name: worldmonitor
        image: ghcr.io/koala73/worldmonitor:latest
        ports:
        - containerPort: 8000
        envFrom:
        - configMapRef:
            name: worldmonitor-config
        resources:
          requests:
            memory: "2Gi"
            cpu: "1000m"
          limits:
            memory: "4Gi"
            cpu: "2000m"

配置深入 #

数据源配置 #

WorldMonitor 支持多种数据源类型。在 config.yaml 中配置:

data_sources:
  rss_feeds:
    enabled: true

AI 分析管道 #

AI 驱动分析引擎分多个阶段处理输入数据:

from worldmonitor.ai.pipeline import AnalysisPipeline
from worldmonitor.ai.models import EventClassifier, CorrelationEngine

# 初始化分析管道
pipeline = AnalysisPipeline(
    classifier=EventClassifier(model="worldmonitor/classifier-v3"),
    correlation=CorrelationEngine(model="worldmonitor/correlation-v2"),
    embedding_model="worldmonitor/embedding-multilingual"
)

# 处理一批新闻文章
results = await pipeline.process_batch(
    articles=batch_data,
    min_confidence=0.7,
    include_correlations=True
)

# 获取特定区域的关联事件
correlated = await pipeline.get_correlated_events(
    region="east_asia",
    time_window="24h",
    event_types=["political", "economic"]
)

告警配置 #

按你的监控优先级设置自定义告警:

alerts:
  rules:
    - name: "重大冲突检测"
      conditions:
        - field: "event_type"
          operator: "eq"
          value: "armed_conflict"
        - field: "severity"
          operator: "gte"
          value: 7
      actions:
        - type: "notification"
          channels: ["email", "telegram"]
          template: "high_severity_conflict"
        - type: "dashboard_highlight"
          duration: "3600"

    - name: "基础设施中断"
      conditions:
        - field: "infrastructure_type"
          operator: "in"
          value: ["power_grid", "telecom", "transport"]
        - field: "status"
          operator: "eq"
          value: "disrupted"
      actions:
        - type: "notification"
          channels: ["email", "slack", "pagerduty"]
          template: "infrastructure_alert"
        - type: "geopoint_map"
          zoom_level: 12

    - name: "关键词激增检测"
      conditions:
        - field: "keywords"
          operator: "contains_any"
          value: ["sanctions", "embargo", "tariff", "trade_war"]
        - field: "volume_change"
          operator: "gte"
          value: 200
      actions:
        - type: "notification"
          channels: ["email"]
          template: "keyword_surge"
          cooldown: "1800"

核心功能详解 #

全球新闻聚合引擎 #

WorldMonitor 的新闻聚合引擎从 50+ 来源、多种语言拉取内容。系统使用智能去重避免同一新闻被多个媒体重复报告,同时保留重大事件的区域视角。

# 带过滤器查询聚合新闻
curl -X GET "https://your-worldmonitor/api/v1/news" \
  -H "Authorization: Bearer ***" \
  -d "region=east_asia&categories=politics,economy&min_severity=5&hours=24"

# 获取去重新闻
curl -X GET "https://your-worldmonitor/api/v1/news/deduplicated" \
  -H "Authorization: Bearer ***" \
  -d "cluster_window=3600&language=en"

地缘政治事件地图 #

事件绘制在交互式世界地图上,带颜色编码的严重度级别。用户可按事件类型、区域、日期范围和来源置信度过滤。时间线视图显示事件进展并识别级联效应。

基础设施追踪模块 #

基础设施模块维护全球关键设施数据库,包括:

  • 发电厂和电网
  • 电信塔和光纤路由
  • 交通枢纽(机场、海港、火车站)
  • 水处理设施
  • 数据中心和云基础设施

每个设施标记所有权、容量和风险等级。状态变化触发自动告警和地图更新。

AI 关联引擎 #

关联引擎识别表面上无关事件之间的关系。例如,它可能检测到一个国家的政治声明与另一个国家的市场波动相关,或 A 区域的基础设施中断先于 B 区域的类似事件。

from worldmonitor.correlation import CorrelationEngine

engine = CorrelationEngine()

# 查找近期事件之间的关联
correlations = engine.find_correlations(
    events=event_list,
    max_lag_hours=72,
    min_strength=0.6,
    correlation_types=["temporal", "geographic", "thematic"]
)

for corr in correlations:
    print(f"强度: {corr.strength:.2f}")
    print(f"类型: {corr.type}")
    print(f"事件: {corr.event_ids}")
    print(f"解释: {corr.explanation}")

API 参考 #

WorldMonitor 提供全面的 REST API 用于程序化访问:

认证 #

# 获取 API token
curl -X POST "https://your-worldmonitor/api/v1/auth/login" \
  -H "Content-Type: application/json" \
  -d '{"username": "admin", "password": "${WM_PASSWORD}"}'

新闻 API #

# 带分页列出近期新闻
curl "https://your-worldmonitor/api/v1/news?page=1&per_page=50" \
  -H "Authorization: Bearer ***"

# 按区域获取新闻
curl "https://your-worldmonitor/api/v1/news?region=south_asia&date_from=2026-06-01" \
  -H "Authorization: Bearer ***"

# 按关键词搜索
curl "https://your-worldmonitor/api/v1/news/search?q=trade+sanctions" \
  -H "Authorization: Bearer ***"

事件 API #

# 列出地缘政治事件
curl "https://your-worldmonitor/api/v1/events?type=political&severity_gte=6" \
  -H "Authorization: Bearer ***"

# 获取事件详情
curl "https://your-worldmonitor/api/v1/events/EVT-2026-0625-001" \
  -H "Authorization: Bearer ***"

# 获取事件时间线
curl "https://your-worldmonitor/api/v1/events/EVT-2026-0625-001/timeline" \
  -H "Authorization: Bearer ***"

告警 API #

# 列出活跃告警
curl "https://your-worldmonitor/api/v1/alerts?status=active" \
  -H "Authorization: Bearer ***"

# 确认告警
curl -X PUT "https://your-worldmonitor/api/v1/alerts/ALT-001/acknowledge" \
  -H "Authorization: Bearer ***" \
  -H "Content-Type: application/json" \
  -d '{"acknowledged_by": "analyst@example.com", "notes": "Investigating"}'

# 创建自定义告警规则
curl -X POST "https://your-worldmonitor/api/v1/alerts/rules" \
  -H "Authorization: Bearer ***" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Custom Rule",
    "conditions": {
      "regions": ["east_asia"],
      "event_types": ["political"],
      "severity_min": 5
    },
    "actions": {
      "channels": ["email"],
      "recipients": ["team@example.com"]
    }
  }'

部署选项 #

单实例(个人分析师) #

对独立记者或研究员,4 核 VPS 上的单个 Docker Compose 部署就足够:

服务器: 4 vCPU, 8GB RAM, 100GB SSD
成本: ~$20/月 (DigitalOcean / HTStack)
容量: ~1,000 事件/天, 30 天保留

团队部署 #

对 5-20 人的分析师团队,添加 Redis 集群和 PostgreSQL 读副本:

应用服务器: 3x 4 vCPU, 16GB RAM (负载均衡后)
数据库: PostgreSQL 主 + 2 读副本
缓存: Redis Cluster (3 节点)
存储: 500GB SSD + S3 归档
成本: ~$200/月
容量: ~10,000 事件/天, 90 天保留

企业/分布式 #

对政府或大型组织部署:

多区域部署,带数据主权控制
跨 10+ 应用节点水平扩展
PostgreSQL + Patroni 自动故障转移
对象存储用于历史数据归档
与现有 SIEM/SOC 平台集成
成本: 定制报价
容量: 无限制,带地理分布式数据收集

与其他工具集成 #

WorldMonitor 与流行的情报和通信工具无缝集成:

Slack 集成 #

# 安装 Slack 应用
curl -X POST "https://your-worldmonitor/api/v1/integrations/slack" \
  -H "Authorization: Bearer ***" \
  -H "Content-Type: application/json" \
  -d '{
    "channel": "#global-events",
    "alert_rules": ["major_conflict", "infrastructure_disruption"],
    "digest_frequency": "hourly"
  }'

Telegram 机器人 #

# 创建 Telegram 机器人集成
curl -X POST "https://your-worldmonitor/api/v1/integrations/telegram" \
  -H "Authorization: Bearer ***" \
  -H "Content-Type: application/json" \
  -d '{
    "bot_token": "${TELEGRAM_BOT_TOKEN}",
    "chat_id": "${TELEGRAM_CHAT_ID}",
    "alert_rules": ["all_high_severity"]
  }'

Grafana 仪表板 #

# 导出指标给 Grafana
curl -X POST "https://your-worldmonitor/api/v1/metrics/grafana" \
  -H "Authorization: Bearer ***" \
  -H "Content-Type: application/json" \
  -d '{
    "datasource": "prometheus",
    "dashboard_template": "worldmonitor-overview"
  }'

ELK Stack / Elasticsearch #

# WorldMonitor Elasticsearch 输出配置
output:
  elasticsearch:
    hosts: ["https://es-cluster.internal:9200"]
    index: "worldmonitor-%{+yyyy.MM.dd}"
    username: "${ES_USER}"
    password: "${ES_PASS}"
    template_overwrite: true
    bulk_size: 500
    flush_interval: 5

对比:WorldMonitor vs 商业替代品 #

特性WorldMonitorPalantir GothamMeltwaterBrandwatch
开源✅ MIT
自托管
新闻聚合✅ 50+ 源部分
基础设施追踪
AI 事件关联部分部分
定制告警
API✅ REST
定价免费自托管企业级天价$$$$$$

加入社区:Telegram

披露:本文提到的工具可能带有联盟关系。我们不接受付费评测。所有观点均为我们自己的。

💬 留言讨论