lina767/digital-war-room
GitHub: lina767/digital-war-room
一款结合 11 个专业 AI 智能体的地缘政治情报平台,通过多源 OSINT 数据的交叉关联分析将原始信号转化为可操作的情报评估。
Stars: 0 | Forks: 0
# 🛡️ Digital War Room
**AI 驱动的多智能体 OSINT 情报平台**
唯一结合了 11 个专业 AI 智能体与政治学方法论的开源地缘政治情报平台 —— 实时监控跨越 GEOINT、SIGINT、SOCMINT、FININT、CYBER 和 TECHINT 的全球冲突。
*构建于 AI 工程、国际关系与 OSINT 技术的交汇点。*
## 🔍 什么是 Digital War Room?
Digital War Room 是一个实时地缘政治情报平台,部署了 **11 个专业 OSINT 智能体** —— 由单个 Claude Sonnet 编排器监督 —— 从数十个开源中监控、分析和综合情报。与仅聚合新闻源的简单仪表板不同,DWR 应用结构化分析框架将原始信号转化为可操作的情报评估。
**为何这很重要:** 大多数 OSINT 仪表板只展示发生了什么。Digital War Room 告诉你 **这意味着什么** —— 通过将金融制裁数据与航班模式、抗议活动与互联网关闭、以及外交信号与大宗商品流向进行交叉对比。
## 🏗️ 架构
```
┌─────────────────────────────────────────────────────────────────┐
│ CLAUDE SONNET SUPERVISOR │
│ Orchestrates agents · Resolves conflicts · Briefs │
└──────────────┬──────────────────────────────────┬───────────────┘
│ │
┌──────────▼──────────┐ ┌──────────▼──────────┐
│ INTELLIGENCE LAYER │ │ MONITORING LAYER │
│ │ │ │
│ 📡 SIGINT Agent │ │ 🌍 GEOINT Agent │
│ 💰 FININT Agent │ │ 📱 SOCMINT Agent │
│ 🔒 CYBER Agent │ │ 📰 NEWS Agent │
│ 🏛️ DIPLO Agent │ │ ⚡ ENERGY Agent │
│ 🔬 TECHINT Agent │ │ ✊ PROTEST Agent │
│ │ │ 📍 PROXIMITY Agent │
└──────────┬───────────┘ └──────────┬───────────┘
│ │
┌──────────▼───────────────────────────────────▼──────────┐
│ DATA SOURCES │
│ ACLED · GDELT · OONI · IODA · Polymarket · ADS-B │
│ GreyNoise · OpenSanctions · OFAC · EU Sanctions List │
└─────────────────────────────────────────────────────────┘
```
## 智能体分类
| 智能体 | 职责 | 关键数据源 | 通信对象 |
|-------|--------------|------------------|-------------------|
| **SIGINT** | 监控飞行模式、空域关闭和 ADS-B 异常 | ADS-B Exchange, Flightradar24 | GEOINT, PROXIMITY |
| **FININT** | 追踪制裁合规性 (OFAC/EU/UN)、所有权链 (50% 规则)、大宗商品价格信号 | OpenSanctions, OFAC SDN, EU Consolidated List | ENERGY, DIPLO |
| **GEOINT** | 分析地理冲突数据,绘制打击事件和领土变化 | ACLED, GDELT | SIGINT, NEWS |
| **SOCMINT** | 处理社交媒体情报、叙事追踪和情绪分析 | X/Twitter feeds, Telegram channels | PROTEST, NEWS |
| **NEWS** | 聚合并分类多语种来源的突发新闻 | RSS feeds, wire services (Reuters, AP) | 所有智能体 |
| **CYBER** | 检测互联网中断、DDoS 攻击活动和黑客主义活动 | GreyNoise, OONI, IODA, Cloudflare Radar | SIGINT, TECHINT |
| **ENERGY** | 监控能源基础设施、大宗商品流向和霍尔木兹海峡航运 | Maritime AIS, Oil price APIs | FININT, GEOINT |
| **TECHINT** | 追踪军事技术部署、武器系统和国防工业信号 | SIPRI, defense wire services | SIGINT, DIPLO |
| **PROTEST** | 绘制内乱、抗议运动和政府镇压地图 | ACLED, SOCMINT feeds | SOCMINT, CYBER |
| **DIPLO** | 分析外交声明、联合国投票和条约活动 | Government press offices, UN records | FININT, ENERGY |
| **PROXIMITY** | 计算地理风险评分和基于邻近性的威胁评估 | Aggregated geolocation data | GEOINT, SIGINT |
## ✨ 主要特性
- **🗺️ 交互式战区地图** — 具有多层覆盖的实时冲突可视化 —— 在单个交互式地图上展示打击事件、飞行路径、海军动向和抗议热点。
- **📋 每日情报简报** — AI 生成的早间简报,将所有 11 个智能体的隔夜发展综合为带有置信度和来源归属的结构化评估。
- **🔮 预测展望** — 概率性预测,将 Polymarket 预测数据与结构化智能体评估集成用于情景分析。
- **📂 来源目录** — 每个数据点的透明来源归属 —— 每个声明都链接回其原始来源,并附带可靠性评级。
- **⚓ 霍尔木兹海峡监视器** — 专用模块,追踪通过世界最关键石油咽喉的航运交通、大宗商品流向和保险风险。
- **🛡️ 制裁合规引擎** — 自动化 OFAC/EU/UN 制裁筛查及 50% 所有权链分析 —— 采用与主要金融机构合规部门相同的方法论。
## 🛠️ 技术栈
| 层级 | 技术 |
|-------|------------|
| **Frontend** | React 18, TypeScript, Vite, Tailwind CSS, shadcn/ui |
| **Backend** | Python 3.12, FastAPI, Pydantic |
| **AI Orchestration** | Claude Sonnet (single supervisor), rule-based agent routing |
| **Hosting** | Vercel (frontend), Railway (backend) |
| **Analytics** | Vercel Analytics |
## 为什么选择基于规则 + Claude 监督器(而不是 LangGraph)?
DWR 最初运行在完整的 LangGraph 多智能体图上。我们迁移到了 **混合架构** —— 基于规则的智能体调度加上单个 Claude Sonnet 监督器进行综合 —— 在保持分析质量的同时将 token 成本降低了 **约 70%**。监督器处理规则无法完成的任务:解决矛盾信号、权衡来源可靠性以及生成自然语言简报。
## 🚀 快速开始
### 前置条件
- Node.js 18+
- Python 3.12+
### Frontend
```
git clone https://github.com/lina767/digital-war-room.git
cd digital-war-room
npm install
npm run dev
# → http://localhost:8080
```
### Backend
```
cd backend
pip install -r requirements.txt
# 可选,用于 lint/tests/type checks
pip install -r requirements-dev.txt
uvicorn main:app --reload
```
### 环境变量
在项目根目录创建一个 `.env` 文件:
```
VITE_API_URL=your_backend_url
```
对于环境分离,请使用:
- `.env.development.example`
- `.env.staging.example`
- `.env.production.example`
- `backend/.env.development.example`
- `backend/.env.staging.example`
- `backend/.env.production.example`
每个后端环境文件都应使用 `backend/.env.example` 中的所需密钥进行完善。
### 使用 Docker Compose 进行本地全栈部署
```
docker compose up --build
```
服务:
- Frontend: `http://localhost:8080`
- Backend: `http://localhost:8000`
- Postgres/pgvector: `localhost:5432`
## 🔌 API 快速参考
Backend 基础 URL: `http://localhost:8000`
| Endpoint | Method | 用途 |
|---------|--------|---------|
| `/health` | GET | 存活探针 |
| `/api/analyze/status?conflict=Iran` | GET | 冲突的缓存/错误状态 |
| `/api/analyze/latest?conflict=Iran` | GET | 最新缓存分析 |
| `/api/analyze/refresh?conflict=Iran` | GET | 触发后台刷新 |
| `/api/analyze/stream?conflict=Iran` | GET (SSE) | 流式传输每个智能体 + 监督器的事件 |
| `/api/agents/status` | GET | 最后一次每个智能体的状态快照 |
| `/api/agents/history` | GET | 最近的运行历史 |
OpenAPI 文档可在本地开发的 `http://localhost:8000/docs` 获取。
### Backend 请求流程
```
flowchart LR
A[Client] --> B[/FastAPI Routes/]
B --> C[Supervisor]
C --> D[Specialized Agents]
D --> E[(StateService Cache)]
E --> B
```
## ✅ 代码质量与测试
Backend 测试布局:
```
backend/tests/
├── test_agents/ # Unit tests for agent contracts and behavior
├── test_integration/ # Cross-module and orchestration contract tests
├── test_api/ # FastAPI endpoint tests
└── conftest.py # Shared fixtures and mock payloads
```
运行后端质量检查:
```
cd backend
pytest
mypy .
ruff check .
```
覆盖率使用 `pytest-cov` 强制执行,最低阈值为 **60%**。
Pre-commit hooks (`.pre-commit-config.yaml`) 运行:
- `ruff` (backend)
- `mypy` (backend)
- `prettier --check` (frontend/repo)
## 🗺️ 路线图
- [ ] 多战区支持(超越中东)
- [ ] 协作注释层
- [ ] 面向研究人员的 API 访问
- [ ] 基于 Webhook 的警报系统
- [ ] 移动端优化的简报视图
- [ ] 集成 Bellingcat 验证工具
## 📜 脚本
| 命令 | 描述 |
|---------|-------------|
| `npm run dev` | 启动前端开发服务器 |
| `npm run build` | 生产环境构建 |
| `npm run preview` | 预览生产环境构建 |
| `npm run lint` | 运行 ESLint |
| `npm run test` | 运行测试 (Vitest) |
| `npm run typecheck` | 运行 TypeScript 类型检查 |
| `npm run version:patch` | Bump patch 版本 (SemVer) |
| `npm run version:minor` | Bump minor 版本 (SemVer) |
| `npm run version:major` | Bump major 版本 (SemVer) |
## ⚙️ DevOps
- CI: `.github/workflows/ci.yml` 在 push 和 pull request 时运行后端 lint/tests/coverage、前端测试和类型检查。
- 依赖更新: `.github/dependabot.yml` 为 GitHub Actions、npm 和 pip 创建自动化更新 PR。
- 版本控制: 项目发布遵循语义化版本控制,记录在 `CHANGELOG.md` 中。
## 🤝 贡献
Digital War Room 是开源的。欢迎贡献 —— 无论是添加新智能体、改进现有数据管道,还是修复 UI 错误。
1. Fork 本仓库
2. 创建一个特性分支 (`git checkout -b feature/new-agent`)
3. 提交你的更改 (`git commit -m 'Add maritime intelligence agent'`)
4. 推送到该分支 (`git push origin feature/new-agent`)
5. 开启一个 Pull Request
## 📄 许可证
本项目是开源的。详见 [LICENSE](LICENSE)。
**由 Lina 构建 — 政治学与 AI 工程**
*在地缘政治与人工智能的交汇处,结合学术严谨性与工程执行力。*
[在线演示](https://digital-war-room.com) · [报告 Bug](https://github.com/lina767/digital-war-room/issues) · [请求功能](https://github.com/lina767/digital-war-room/issues)
标签:Claude, CVE检测, DLL 劫持, ESC4, FININT, GEOINT, HTTP/HTTPS抓包, OSINT, PyRIT, Python, SIGINT, SOCMINT, TECHINT, 人工智能, 冲突监测, 国际关系, 地缘政治, 地缘政治分析, 多智能体系统, 大语言模型, 威胁情报, 安全研发, 开发者工具, 态势感知, 情报收集, 数据融合, 无后门, 智能体编排, 测试用例, 漏洞研究, 用户模式Hook绕过, 网络情报, 舆情分析, 请求拦截, 逆向工具