intelligence_feed
Alur streaming kejadian intelijen real-time dari indeks Elasticsearch articles (diurutkan berdasarkan processed_at), pemetaan 5 tingkat keparahan risiko, skor kredibilitas sumber, dan penyajian live feed pada dashboard.
Pipeline Data: intelligence_feed (Aliran Kejadian Intelijen Real-Time)
Berbeda dari pipeline agregasi batch harian, intelligence_feed adalah aliran peristiwa intelijen berkelanjutan (real-time incident stream) yang menyajikan deteksi isu terkini secara langsung (live) kepada analis di Command Center.
Di platform Nexa, tidak ada worker agregasi terpisah yang menerbitkan dokumen buatan khusus bernama "event". Alih-alih demikian, setiap satu artikel berita siber yang selesai diproses dan diperkaya oleh worker AI kognitif (D1 AI Worker) langsung bertindak sebagai satu event intelijen di dalam feed.
Indeks ini menjadi pemasok data utama untuk widget Intelligence Feed di layar utama /dashboard/overview (GET /overview/intel-feed) yang terletak tepat di bawah visualisasi bola dunia (globe).
1. Ringkasan Arsitektur Alur
[Portal Berita Siber Nasional & Daerah]
│
▼ (Perayapan Kontinu via A1 & B1)
[Kafka: queue-scraping]
│
▼ (Sanitasi C1 & Deduplikasi C2)
[Kafka: queue-ai-inference]
│
▼
[D1 Deep NLP & AIOS Worker]
• Ekstraksi entitas tokoh, lembaga, & lokasi kejadian
• Pembedahan klausul gramatikal SPOK
• Evaluasi skor risiko keamanan (risk.level)
• Penetapan bobot kredibilitas penerbit media
│
▼ (Indeksasi Seketika / Instant Indexing)
[Elasticsearch: articles]
│
▼ (Query Real-Time: GET /overview/intel-feed)
[Widget Intelligence Feed]
• Pengurutan: processed_at DESC (waktu deteksi sistem)
• Pemetaan severity 1–5 (Aman s.d. Kritis)
• Resolusi klik modal detail: getArticle(id)2. Karakteristik & Logika Aliran (Feed Logic)
- Waktu Pengurutan Berbasis Waktu Deteksi (
processed_at): Feed diurutkan berdasarkanprocessed_at(waktu ketika kecerdasan buatan Nexa mendeteksi dan menyelesaikan analisis artikel), bukan tanggal penerbitan pers (publish_date). Hal ini menjamin kejadian yang baru saja terendus langsung meluncur ke urutan teratas linimasa. - Format Waktu Mutlak (ISO 8601
+07:00): Timestamp dikirim dalam format ISO baku dengan penanda zona waktu WIB (+07:00). Frontend Next.js merendernya secara dinamis menjadi teks waktu relatif (e.g., "3 menit yang lalu") menggunakan fungsitimeAgo()agar informasi tidak kedaluwarsa saat layar dibiarkan menyala. - Pemetaan 5 Tingkat Keparahan (Severity Levels):
Tingkat keparahan event dipetakan langsung dari atribut
risk.leveldokumen artikel:- Severity 1 (Aman): Peristiwa bernuansa positif, kegiatan sosial-budaya.
- Severity 2 (Rendah): Dinamika rutin birokrasi, pernyataan regulasi minor.
- Severity 3 (Sedang): Sengketa lokal, unjuk rasa damai, keluhan layanan publik.
- Severity 4 (Tinggi): Unjuk rasa anarkis, konflik antarkelompok, kecelakaan infrastruktur vital.
- Severity 5 (Kritis): Ancaman terorisme, bencana masif, eskalasi darurat keamanan.
3. Resolusi Wilayah Kejadian & Skor Kredibilitas Sumber
A. Resolusi Provinsi yang Disiplin (Strict Province Matching)
Untuk mencegah distorsi data geospasial:
- Lokasi provinsi hanya diambil dari entitas geospasial yang bertipe
Province. - Sistem sengaja menolak mengasumsikan nama kota sebagai provinsi jika hanya bertindak sebagai lokasi redaksi berita (dateline). Tanpa filter ini, 44% feed nasional akan keliru tertancap di DKI Jakarta karena dominasi kantor media di ibu kota.
- Artikel yang tidak menyebutkan provinsi secara spesifik diberi label
Nasionalatauprovince: nullsecara transparan.
B. Skor Kredibilitas Sumber (confidence)
Field confidence (articles.confidence.score * 100) menilai kredibilitas reputasi penerbit media sumber, bukan probabilitas deteksi kecerdasan buatan. Hal ini memberikan transparansi kepada pimpinan mengenai apakah suatu kabar berasal dari kantor berita nasional terverifikasi (Dewan Pers) atau portal anonim daerah.
4. Contoh Bentuk Data Respons API (GET /overview/intel-feed)
{
"total": 50,
"items": [
{
"id": "e987cba1-4567-4890-a123-bcdef0123456",
"timestamp": "2026-09-26T17:42:10+07:00",
"province": "Papua Tengah",
"category": "Keamanan & Ketertiban",
"title": "Aparat Gabungan Amankan Jalur Logistik Pasca Gangguan KKB di Intan Jaya",
"severity": 4,
"confidence": 85,
"source": "Antara News"
},
{
"id": "c1234567-89ab-4cde-0123-456789abcdef",
"timestamp": "2026-09-26T17:38:05+07:00",
"province": "Jawa Timur",
"category": "Pangan & Pertanian",
"title": "Operasi Pasar Murah Digelar di Surabaya Guna Stabilisasi Harga Minyak Goreng",
"severity": 2,
"confidence": 90,
"source": "Detikcom"
}
],
"meta": {
"limit": 8,
"confidence_basis": "source_credibility",
"without_province": 1
}
}5. Ringkasan Parameter Operasional Pipeline
| Parameter | Konfigurasi | Keterangan |
|---|---|---|
| Sumber Data | Indeks Elasticsearch articles | Mengalirkan data artikel yang baru saja selesai dianalisis AI. |
| Penyortiran | processed_at DESC | Mengutamakan peristiwa yang paling mutakhir terdeteksi sistem. |
| Endpoint API | GET /overview/intel-feed | Endpoint live stream konsumsi widget dashboard di bawah globe. |
6. Spesifikasi Payload Request Pipeline
Query pencarian real-time yang dieksekusi oleh backend ke indeks articles untuk mengambil aliran feed terkini:
POST /articles/_search
{
"size": 10,
"query": {
"bool": {
"filter": [
{ "range": { "severity": { "gte": 2 } } }
]
}
},
"sort": [
{ "processed_at": { "order": "desc" } }
],
"_source": [
"id", "title", "source_name", "url", "severity",
"confidence", "published_at", "processed_at",
"geo_location.province", "taxonomy.pillar", "sentiment"
]
}national_dashboard
Alur kompilasi rollup stabilitas nasional harian, sintesis narasi analisis intelijen 3 blok, dan pengisian indeks Elasticsearch national_dashboard.
taxonomy_correlation
Alur kalkulasi matriks korelasi ko-okurensi daun taksonomi lintas pilar strategis, sebaran wilayah irisan isu, dan pengisian indeks Elasticsearch taxonomy_correlation.