Real-time Global Conflict Intelligence Platform
Argos is a sophisticated Open Source Intelligence (OSINT) platform designed for real-time monitoring and analysis of global military conflicts, arms trades, and geopolitical events. It combines automated data ingestion, AI-powered analysis, and interactive visualization to provide comprehensive intelligence insights.
- Multi-source ingestion: RSS feeds, news APIs, social media, institutional sources
- Real-time monitoring: Continuous scanning of 500+ conflict-related queries
- Automated processing: AI-powered content analysis and fact extraction
- Media analysis: Image processing, steganography detection, reverse image search
- Active conflict zones: Ukraine-Russia, Israel-Palestine, Syria, Yemen, Myanmar, Sudan, Ethiopia
- Escalation tracking: Time-weighted scoring with asymmetric behavior (quick escalation, slow de-escalation)
- Event clustering: AI-powered grouping of related events with similarity scoring
- Geospatial intelligence: Coordinate extraction, location verification, conflict zone mapping
- Comprehensive tracking: Buyer/seller analysis, weapon system classification
- Strategic assessment: Risk analysis, proliferation assessment, regional impact
- Market intelligence: Deal classification, pricing analysis, competitive assessment
- Automated ingestion: Twice-daily updates via GitHub Actions
- 3D Globe visualization: Interactive conflict mapping with real-time data
- Timeline views: Chronological event tracking and analysis
- Real-time alerts: Configurable notification system for critical events
- Advanced filtering: By region, severity, time range, and event type
- Frontend: Next.js 14, React 18, TypeScript, Tailwind CSS
- Backend: Node.js, Express, Supabase (PostgreSQL)
- AI/ML: OpenAI GPT-4, Anthropic Claude, custom NLP pipelines
- Visualization: React Globe GL, Mapbox GL, Three.js
- Database: PostgreSQL with pgvector for embeddings
- Deployment: Docker, Vercel, GitHub Actions
argos/
βββ osint-ingestion/ # Backend pipeline services
β βββ services/ # Core OSINT services
β βββ models/ # Data models
β βββ sql/ # Database migrations
β βββ scripts/ # Utility scripts
βββ osint_app/ # Next.js frontend application
β βββ src/
β β βββ app/ # App router pages
β β βββ components/ # React components
β β βββ lib/ # Utility libraries
β β βββ hooks/ # Custom React hooks
β βββ public/ # Static assets
βββ services/ # Core OSINT services
βββ docs/ # Documentation
βββ cli-enhanced.js # Command-line interface
- Node.js 18+
- PostgreSQL database (Supabase recommended)
- OpenAI API key
- Mapbox access token
git clone https://github.com/your-username/argos.git
cd argos# Install backend dependencies
npm install
# Install frontend dependencies
cd osint_app
npm installCreate .env.local in the osint_app directory:
# Database
NEXT_PUBLIC_SUPABASE_URL=your_supabase_url
NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key
SUPABASE_SERVICE_KEY=your_supabase_service_key
# AI Services
OPENAI_API_KEY=your_openai_api_key
ANTHROPIC_API_KEY=your_anthropic_api_key
# External APIs
NEXT_PUBLIC_MAPBOX_ACCESS_TOKEN=your_mapbox_token
GOOGLE_API_KEY=your_google_api_key
GOOGLE_SEARCH_ENGINE_ID=your_search_engine_id
NEWSAPI_KEY=your_newsapi_key
# Application
NEXT_PUBLIC_APP_URL=http://localhost:3000
NODE_ENV=development# Run database migrations
cd osint_app/osint-ingestion
node scripts/check-and-migrate.js# Start frontend
cd osint_app
npm run dev
# Start backend pipeline (in separate terminal)
cd ..
npm startVisit http://localhost:3000 to access the application.
The OSINT pipeline can be configured via osint-ingestion/core/config.js:
export const config = {
// Ingestion settings
ingestion: {
batchSize: 50,
maxConcurrentRequests: 10,
retryAttempts: 3,
deduplicationWindow: 24 * 60 * 60 * 1000 // 24 hours
},
// Processing settings
processing: {
minRelevanceScore: 0.3,
minConfidenceScore: 0.5,
similarityThreshold: 0.8
},
// Alert settings
alerts: {
enabled: true,
minAlertScore: 7,
slackWebhook: process.env.SLACK_WEBHOOK_URL
}
};Configure active conflict zones in the configuration:
conflictZones: {
active: [
{ name: 'Ukraine-Russia', countries: ['Ukraine', 'Russia'], priority: 'critical' },
{ name: 'Israel-Palestine', countries: ['Israel', 'Palestine', 'Gaza'], priority: 'critical' }
]
}The main dashboard provides:
- Interactive 3D Globe: Real-time conflict mapping
- Timeline View: Chronological event tracking
- Escalation Monitoring: Real-time conflict escalation scores
- Arms Deals: Global weapons trade tracking
# Manual ingestion trigger
POST /api/ingest
# Get events
GET /api/events
# Get arms deals
GET /api/arms-deals
# Health check
GET /api/health# Run enhanced ingestion cycle
node cli-enhanced.js ingest
# Monitor mode with alerts
node cli-enhanced.js monitor --interval 15 --alerts
# Initialize database
node cli-enhanced.js init-db- Connect your GitHub repository to Vercel
- Configure environment variables in Vercel dashboard
- Deploy automatically on push to main branch
# Build Docker image
docker build -t argos-osint .
# Run container
docker run -p 3001:3001 argos-osint- Environment variables configured
- Database migrations applied
- SSL certificates installed
- Monitoring and alerting configured
- Backup strategy implemented
Enable advanced media analysis capabilities:
# Enable media analysis
node cli-enhanced.js ingest --enable-media-analysis
# Enable steganography detection
node cli-enhanced.js ingest --enable-media-analysis --enable-steganographyAdd custom RSS feeds and APIs:
// Add to config.js
customSources: [
{
name: 'Custom Intelligence Feed',
url: 'https://your-feed.com/rss',
type: 'rss',
priority: 0.8
}
]Configure real-time alerts:
alerts: {
enabled: true,
minAlertScore: 7,
channels: {
slack: process.env.SLACK_WEBHOOK_URL,
email: process.env.ALERT_EMAIL,
webhook: process.env.WEBHOOK_URL
}
}# Check pipeline health
npm run health-check
# Monitor ingestion stats
npm run monitor-ingestion-stats- Response time tracking
- API usage monitoring
- Database performance metrics
- Error rate monitoring
- OpenAI API usage
- External API costs
- Infrastructure costs
- Storage costs
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
- Use TypeScript for frontend code
- Follow ESLint configuration
- Write meaningful commit messages
- Add documentation for new features
# Run frontend tests
cd osint_app
npm test
# Run backend tests
cd ../osint-ingestion
npm test- Encrypted data storage
- Secure API endpoints
- Role-based access control
- Audit logging
- GDPR compliance
- Data retention policies
- User consent management
- Privacy controls
This project is licensed under the MIT License - see the LICENSE file for details.
- OpenAI for GPT-4 integration
- Supabase for database infrastructure
- Mapbox for mapping services
- Vercel for deployment platform
- Documentation: docs.argosintel.org
- Issues: GitHub Issues
- Discussions: GitHub Discussions
Argos - Global Conflict Intelligence Platform