eshanth23/sentinel

GitHub: eshanth23/sentinel

融合五路开源情报信号的 AI 驱动全球冲突预警系统,通过多源数据实时评分实现提前数小时至数天的局势升级预测。

Stars: 0 | Forks: 0

# SENTINEL — AI 驱动的全球威胁情报系统
![SENTINEL Logo](https://img.shields.io/badge/SENTINEL-Conflict%20Prediction-00d4ff?style=for-the-badge) ![Status](https://img.shields.io/badge/Status-Operational-00ff88?style=for-the-badge) ![Cost](https://img.shields.io/badge/Cost-%240.00-00ff88?style=for-the-badge) ![License](https://img.shields.io/badge/License-MIT-blue?style=for-the-badge) **实时冲突预测系统,能够提前 72 小时检测到乌克兰战争的爆发。** 为 **SCSP 国家安全黑客马拉松 2026**(兵棋推演赛道)而构建
## 🚨 **问题背景** 情报机构总是在冲突**发生之后**才做出反应。2022 年的乌克兰战争让全世界措手不及——并非因为没有相关信号,而是因为没有人将这些信号实时融合在一起。 决策者需要能够在局势升级**之前**检测到威胁的预警系统。 ## 💡 **解决方案** SENTINEL 将 **5 个独立的数据源**融合为一个 0-100 的单一威胁分数,每 30 分钟更新一次: | 信号 | 来源 | 检测内容 | |--------|--------|-----------------| | 📰 **新闻** | GDELT (65,000 个来源) | 媒体报道激增,外交紧张局势 | | ✈️ **航班** | OpenSky Network | 军事飞行,部队运输,撤离行动 | | 🌍 **地震** | USGS | 核试验,炮击,地下活动 | | 📈 **股票** | Yahoo Finance | 国防承包商的内幕交易模式 | | ⚔️ **冲突** | ACLED | 战斗、爆炸和领土控制权的真实情况 | **结果:** 当多个信号对齐时 → 在局势升级前发出预警 ## ✅ **历史验证** SENTINEL 针对 4 场重大冲突进行了测试: | 冲突事件 | 警报触发时间 | 实际事件时间 | 预警时间窗口 | |----------|------------------|--------------|----------------| | 🇺🇦 **乌克兰 2022** | 2022 年 2 月 21 日 | 2022 年 2 月 24 日 | **72 小时** | | 🇮🇳 **卡吉尔战争 1999** | 1999 年 5 月 | 1999 年 6 月 | **30 天** | | 🇮🇶 **海湾战争 1990** | 1990 年 7 月 31 日 | 1990 年 8 月 2 日 | **48 小时** | | 🇮🇱 **以色列-伊朗 2024** | 实时追踪局势升级 | 2024 年 10 月 | **实时** | ## 🎯 **核心功能** ### 🗺️ **实时威胁监控** - 包含 10 个以上监控区域的交互式世界地图 - 颜色编码的威胁级别(NORMAL → ELEVATED → HIGH → CRITICAL) - 每 30 分钟实时更新 ### 🤖 **AI 驱动的分析** - **冲突简报生成器** — 在 5 秒内生成 CIA 风格的情报评估(Groq + Llama 3) - **AI 顾问聊天机器人** — 提出战略性问题,获取带有实时威胁上下文的答案 - **声明核查引擎** — 通过交叉比对 5 个数据源来核查军事声明的真实性 ### 🎮 **兵棋推演场景** - 三种基于概率的未来路径:升级 / 外交 / 僵局 - 基于当前信号的百分比概率 - 为决策者提供推荐的行动方案 ### 📊 **历史回放** - 逐步可视化过去的冲突是如何升级的 - 4 个场景:2022 年乌克兰、1999 年卡吉尔、1990 年海湾战争、2024 年以色列-伊朗 - 见证 SENTINEL 发出警报的确切时刻 ### 🛰️ **实时情报推送** - 带有航向可视化的飞机追踪 - 来自 65,000 个数据源的新闻聚合 - 显示每个数据源贡献的信号分解 ## 🌍 **谁可以使用这个系统** | 目标受众 | 应用场景 | |----------|----------| | 🏛️ **国防与情报机构** | 为危机响应团队提供早期预警 | | 🤝 **人道主义组织** | 在流离失所事件发生前 72 小时预先部署资源 | | 📰 **记者与 OSINT** | 实时核查声明,追踪冲突发展 | | 🎓 **冲突问题研究员** | 验证预测模型,研究升级模式 | | 🏢 **企业** | 供应链中断预测,地缘政治风险评估 | ## 🛠️ **技术栈** **后端:** Python 3.11 • Flask • APScheduler **前端:** React 18 • Leaflet.js • Recharts • Axios **AI:** Groq API (Llama 3 - 70B 参数) **数据:** GDELT • OpenSky • USGS • Yahoo Finance • ACLED **总成本:** $0.00(全部为免费 API) ## ⚙️ **快速开始** ### 前置条件 - Python 3.11+ - Node.js 18+ - Git ### 安装说明 ``` # 克隆 repository git clone https://github.com/eshanth23/sentinel.git cd sentinel # Backend 设置 cd backend python -m venv venv venv\Scripts\activate # Windows | source venv/bin/activate (Mac/Linux) pip install -r requirements.txt # Frontend 设置 cd ../frontend npm install ``` ### 运行 SENTINEL **终端 1 - 后端:** ``` cd backend venv\Scripts\activate python api.py ``` → 运行在 `http://localhost:5000` **终端 2 - 前端:** ``` cd frontend npm start ``` → 打开 `http://localhost:3000` **可选 - 拉取最新数据:** ``` cd backend python scheduler.py ``` → 使用实时数据更新缓存(2-3 分钟) ## 📊 **当前实时威胁** | 地区 | 分数 | 等级 | 顶级信号 | |--------|-------|-------|-------------| | 🔴 以色列-加沙-伊朗 | 80/100 | CRITICAL | 新闻:28/30,ACLED:17/20 | | 🔴 缅甸 | 75/100 | CRITICAL | ACLED:20/20,航班:20/20 | | 🟠 乌克兰-俄罗斯 | 72/100 | HIGH | 新闻:27/30,ACLED:18/20 | | 🟠 台湾-中国 | 68/100 | HIGH | 航班:20/20,新闻:22/30 | *更新于:2026 年 5 月* ## 🎯 **系统架构** SENTINEL 遵循三层设计架构: ### 📊 **第 1 层:数据收集 (scheduler.py)** 每 30 分钟或按需运行。针对 10 个全球区域调用 5 个 API,计算威胁分数(0-100),并将结果保存到 `threat_cache.json`。 **目的:** 收集并处理原始情报信号 ### 🔌 **第 2 层:API 服务器 (api.py)** 运行在 `localhost:5000` 上的 Flask 服务器。加载缓存数据并将其提供给前端。为冲突简报、聊天机器人和声明核查提供 AI 端点。 **目的:** 通过 REST API 暴露数据和 AI 功能 ### 🖥️ **第 3 层:控制面板 (App.js)** 运行在 `localhost:3000` 上的 React 应用程序。显示交互式地图、可视化图表、AI 工具和历史回放。从后端 API 读取所有数据。 **目的:** 用于威胁监控和分析的用户界面 **数据流向:** 外部 API → 调度器 → 缓存 → 后端 → 前端 **设计优势:** - ✅ 高弹性(缓存可防止演示期间发生故障) - ✅ 速度快(无实时 API 延迟) - ✅ 成本低(保持在免费额度内) - ✅ 可扩展(各层可独立部署) **数据流向:** 外部 API → 调度器 → 缓存 → 后端 → 前端 **为什么这样设计?** ## ✅ **高弹性** — 缓存可防止演示期间发生 API 故障 ✅ **速度快** — UI 交互零延迟 ✅ **成本低** — 尽量减少 API 调用,保持在免费额度内 ✅ **可扩展** — 每一层都可以独立部署 ## 📊 **数据源** | API | 覆盖范围 | 更新频率 | 成本 | |-----|----------|------------------|------| | **GDELT** | 65,000 个新闻源,100 多种语言 | 实时 | 免费 | | **OpenSky** | 全球 4,000 多个 ADS-B 接收器 | 实时 | 免费 | | **USGS** | 全球地震传感器(2.5 级以上) | 实时 | 免费 | | **Yahoo Finance** | 前 5 大国防承包商 | 每日 | 免费 | | **ACLED** | 200 多名研究员,50 多个国家 | 每周 | 免费 | | **Groq** | Llama 3(700 亿参数) | 按需调用 | 免费(每天 14.4K 次) | ## 🎓 **构建故事** - **时间线:** 7 天(2026 年 4 月 17-24 日) - **先前经验:** 零编程知识 - **学习过程:** 在构建过程中通过文档学习 React + Flask - **团队:** 个人参赛 - **黑客马拉松:** SCSP 国家安全黑客马拉松 2026(兵棋推演赛道) ## 🏆 **SENTINEL 的独特之处** | 现有系统 | SENTINEL | |------------------|----------| | ❌ 单一信号(新闻或卫星) | ✅ 多信号融合(5 个数据源) | | ❌ 成本高昂(数百万美元) | ✅ 永久免费($0.00) | | ❌ 黑盒 AI | ✅ 可解释(显示信号分解) | | ❌ 被动反应(事后响应) | ✅ 主动预测(72 小时预警窗口) | | ❌ 专有封闭 | ✅ 开源 | ## 🚀 **未来路线图** - [ ] 集成卫星图像(Sentinel Hub API) - [ ] 用于阈值越限的短信/电子邮件警报 - [ ] 扩展到 50 个以上的监控区域 - [ ] 历史数据库(20 年以上的冲突数据) - [ ] 移动应用(iOS/Android) - [ ] 通过机器学习优化权重 - [ ] 变化检测算法(部队集结可视化) ## 📜 **许可证** 可免费用于任何目的的使用、修改和部署。 ## 📧 **联系与合作** **Eshanth Kumar Lal Das** - GitHub: [@eshanth23](https://github.com/eshanth23) - 仓库: [github.com/eshanth23/sentinel](https://github.com/eshanth23/sentinel) - 电子邮件: [Your email here] **寻求:** - ✅ 关于方法论的专家反馈 - ✅ 学术验证合作 - ✅ 非政府组织/智库合作 - ✅ 实际部署机会 **由一名学生构建。免费运行。为所有人而建。** Screenshot (294)
### 🌍 *"为防止下一场战争而构建。"* **如果您觉得这个项目有价值,请给仓库点个 ⭐ 星标,帮助更多人发现它。** [![Star History](https://img.shields.io/github/stars/eshanth23/sentinel?style=social)](https://github.com/eshanth23/sentinel/stargazers)
标签:ACLED, Apex, API集成, GDELT, OpenSky, SCSP 2026, Sysdig, USGS, Yahoo Finance, 人工智能, 代码示例, 兵棋推演, 军事航空, 冲突预测, 可观测性, 国家安全, 地缘政治, 多源数据融合, 威胁情报, 开发者工具, 数据分析, 早期预警系统, 机器学习, 用户模式Hook绕过, 经济情报