Feat/gt analytics openclaw (#392)

* feat(telegram): auto-translate OSINT channel posts to English

Cherry-picked from @Bobpick PR #391 (telegram-only slice): server-side translation during fetch, SHOW ORIGINAL toggle in TelegramOsintPopup, and on-demand /api/telegram-feed?lang=.

Co-authored-by: Robert Pickett <bobpickettsr@yahoo.com>
Co-authored-by: Cursor <cursoragent@cursor.com>

* feat(gt): experimental Derived OSINT analytics with lean-node safeguards

Cherry-picked from @Bobpick PR #391 (GT + OpenClaw slice): Bayesian strategic-risk engine, map overlay, OpenClaw commands, and telegram_rhetoric watchdog. Off by default (GT_ANALYTICS_ENABLED=false, gt_risk layer false). 1 vCPU nodes get cgroup detection, UI warning on layer toggle, and lean profile that skips scheduled ingest/Louvain unless GT_ANALYTICS_ACK_LOW_CPU=true. Backtest HUD removed from dashboard (OpenClaw/API regression only).

Co-authored-by: Robert Pickett <bobpickettsr@yahoo.com>
Co-authored-by: Cursor <cursoragent@cursor.com>

---------

Co-authored-by: Robert Pickett <bobpickettsr@yahoo.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Shadowbroker
2026-06-16 17:05:46 -06:00
committed by GitHub
co-authored by Robert Pickett Cursor
parent 9c5a4054f6
commit cfbeabda1e
69 changed files with 8101 additions and 77 deletions
+77 -2
View File
@@ -208,7 +208,79 @@
"malwareC2": "Malware C2",
"scmSuppliers": "SCM Suppliers",
"cyberThreats": "Cyber Threats",
"telegramOsint": "Telegram OSINT"
"telegramOsint": "Telegram OSINT",
"strategicRisk": "Strategic Risk Heatmap",
"derivedOsint": "Derived OSINT (Strategic Risk)",
"derivedOsintSource": "Experimental · off by default"
},
"gtLean": {
"title": "Enable Derived OSINT on a lean node?",
"message": "Shadowbroker detected a 1 vCPU cap on this node. Turning on the Strategic Risk map layer is safe for display, but enabling the backend engine (GT_ANALYTICS_ENABLED) may slow Telegram, GDELT, and other OSINT fetches. Use OpenClaw watchdog alerts without the full engine on fleet nodes.",
"confirm": "Turn on layer anyway",
"cancel": "Cancel"
},
"gtHud": {
"title": "GT ANALYTICS",
"dragHint": "drag to move",
"collapse": "Collapse panel",
"expand": "Expand panel"
},
"gtAlerts": {
"title": "TOP ALERTS",
"counts": "{plotted} on map · {tracked} tracked (max {max})",
"empty": "No plottable regions yet — need geotagged intel (Telegram/GDELT/news).",
"ignition": "IGNITE",
"line": "risk {risk} · conflict {conflict}",
"hint": "500 = max tracked regions, not individual events. Click to fly there."
},
"gtRisk": {
"popupTitle": "STRATEGIC RISK",
"region": "REGION",
"composite": "POSTERIOR RISK",
"financial": "FIN",
"unrest": "UNREST",
"conflict": "CONFLICT",
"contagion": "CONTAGION",
"costlySignals": "COSTLY SIGNALS",
"loadingSignals": "Loading feed matches…",
"noSignals": "No costly-signal text matched in recent Telegram/GDELT/news for this region. Scores can rise from domain priors or nearby contagion.",
"unknownSource": "unknown source"
},
"gtBacktest": {
"title": "GT Backtest",
"layerOff": "Off — enable Strategic Risk Heatmap in Data Layers.",
"disabled": "GT analytics disabled (set GT_ANALYTICS_ENABLED=true).",
"loading": "Running historical validation…",
"refresh": "Refresh backtest",
"accuracy": "ACCURACY",
"confidence": "WILSON 95% LB",
"cases": "{count} labeled cases",
"threshold": "alert ≥ {value}",
"target": "target {value}",
"pass": "PASS",
"fail": "FAIL",
"collecting": "COLLECTING",
"meetsTarget": "Meets confidence target",
"belowTarget": "Below confidence target",
"misclassified": "{count} misclassified",
"tabBenchmark": "Benchmark",
"tabOperational": "Operational",
"benchmarkNote": "Static labeled corpus — regression test, not live forecasting.",
"operationalLoading": "Loading rolling operational trend…",
"operationalEmpty": "No weekly snapshots yet — freeze runs Mondays 00:05 UTC or via OpenClaw.",
"operationalWeeks": "{stored} weeks stored · {scorable} scorable",
"operationalLabeled": "{labeled} labeled · {pending} pending",
"operationalTrend": "Week-over-week accuracy",
"operationalImproving": "Improving vs prior scorable week",
"operationalFlat": "Flat or down vs prior scorable week",
"operationalMinLabels": "Need ≥{count} labels/week to score",
"microTitle": "3-day micro",
"microWindow": "{days}-day rolling avg · ignition Δ ≥ {delta}",
"microIgnitions": "{count} ignition(s)",
"microAlerted3d": "{count} above threshold on 3d avg",
"microEmpty": "Collecting daily readings — refreshes with GT ingest.",
"microRegionLine": "{region}: spot {spot} · 3d {avg} · Δ {delta}",
"microIgnitionBadge": "IGNITION"
},
"roadCorridor": {
"analyzeHere": "ANALYZE HERE",
@@ -273,6 +345,9 @@
"loadMedia": "VIEW MEDIA (TELEGRAM)",
"openOriginal": "OPEN ON TELEGRAM →",
"embedTitle": "Telegram post embed",
"postsAtLocation": "{count} posts at this location — scroll for more"
"postsAtLocation": "{count} posts at this location — scroll for more",
"translatedFrom": "Translated from {lang}",
"showOriginal": "SHOW ORIGINAL ({lang})",
"showTranslation": "SHOW TRANSLATION"
}
}
+77 -2
View File
@@ -208,7 +208,79 @@
"malwareC2": "Malware C2",
"scmSuppliers": "Fournisseurs SCM",
"cyberThreats": "Cybermenaces",
"telegramOsint": "OSINT Telegram"
"telegramOsint": "OSINT Telegram",
"strategicRisk": "Carte de risque stratégique",
"derivedOsint": "OSINT dérivé (risque stratégique)",
"derivedOsintSource": "Expérimental · désactivé par défaut"
},
"gtLean": {
"title": "Activer l'OSINT dérivé sur un nœud limité ?",
"message": "Shadowbroker a détecté une limite de 1 vCPU. La couche carte peut s'afficher, mais activer le moteur backend peut ralentir les flux OSINT.",
"confirm": "Activer la couche",
"cancel": "Annuler"
},
"gtHud": {
"title": "ANALYTIQUE GT",
"dragHint": "glisser pour déplacer",
"collapse": "Réduire le panneau",
"expand": "Développer le panneau"
},
"gtAlerts": {
"title": "ALERTES TOP",
"counts": "{plotted} sur carte · {tracked} suivies (max {max})",
"empty": "Aucune région plottable — intel géolocalisée requise.",
"ignition": "IGNITE",
"line": "risque {risk} · conflit {conflict}",
"hint": "500 = régions max suivies, pas des événements. Cliquer pour voler."
},
"gtRisk": {
"popupTitle": "RISQUE STRATÉGIQUE",
"region": "RÉGION",
"composite": "RISQUE POSTÉRIEUR",
"financial": "FIN",
"unrest": "TROUBLES",
"conflict": "CONFLIT",
"contagion": "CONTAGION",
"costlySignals": "SIGNAUX COÛTEUX",
"loadingSignals": "Chargement des correspondances…",
"noSignals": "Aucun signal coûteux récent pour cette région dans Telegram/GDELT/news.",
"unknownSource": "source inconnue"
},
"gtBacktest": {
"title": "Backtest GT",
"layerOff": "Désactivé — activez la carte de risque stratégique dans Couches.",
"disabled": "Analytique GT désactivée (GT_ANALYTICS_ENABLED=true).",
"loading": "Validation historique en cours…",
"refresh": "Actualiser le backtest",
"accuracy": "PRÉCISION",
"confidence": "BORNE INF. WILSON 95%",
"cases": "{count} cas étiquetés",
"threshold": "alerte ≥ {value}",
"target": "cible {value}",
"pass": "OK",
"fail": "ÉCHEC",
"collecting": "COLLECTE",
"meetsTarget": "Objectif de confiance atteint",
"belowTarget": "Sous l'objectif de confiance",
"misclassified": "{count} mal classés",
"tabBenchmark": "Référence",
"tabOperational": "Opérationnel",
"benchmarkNote": "Corpus historique étiqueté — test de régression, pas prévision live.",
"operationalLoading": "Chargement de la tendance opérationnelle…",
"operationalEmpty": "Aucun instantané hebdomadaire — gel chaque lundi 00:05 UTC ou via OpenClaw.",
"operationalWeeks": "{stored} semaines · {scorable} exploitables",
"operationalLabeled": "{labeled} étiquetés · {pending} en attente",
"operationalTrend": "Précision semaine après semaine",
"operationalImproving": "En hausse vs semaine précédente",
"operationalFlat": "Stable ou en baisse vs semaine précédente",
"operationalMinLabels": "≥{count} étiquettes/semaine requis",
"microTitle": "Micro 3 jours",
"microWindow": "Moy. glissante {days} j · ignition Δ ≥ {delta}",
"microIgnitions": "{count} ignition(s)",
"microAlerted3d": "{count} au-dessus du seuil (moy. 3j)",
"microEmpty": "Lecture quotidienne en cours — mis à jour à chaque ingest GT.",
"microRegionLine": "{region}: spot {spot} · 3j {avg} · Δ {delta}",
"microIgnitionBadge": "IGNITION"
},
"roadCorridor": {
"analyzeHere": "ANALYSER ICI",
@@ -273,6 +345,9 @@
"loadMedia": "AFFICHER LE MÉDIA (TELEGRAM)",
"openOriginal": "OUVRIR SUR TELEGRAM →",
"embedTitle": "Intégration Telegram",
"postsAtLocation": "{count} posts à cet endroit — faites défiler"
"postsAtLocation": "{count} posts à cet endroit — faites défiler",
"translatedFrom": "Traduit depuis {lang}",
"showOriginal": "AFFICHER L'ORIGINAL ({lang})",
"showTranslation": "AFFICHER LA TRADUCTION"
}
}
+77 -2
View File
@@ -208,7 +208,79 @@
"malwareC2": "恶意软件 C2",
"scmSuppliers": "供应链供应商",
"cyberThreats": "网络威胁",
"telegramOsint": "Telegram OSINT"
"telegramOsint": "Telegram OSINT",
"strategicRisk": "战略风险热力图",
"derivedOsint": "衍生 OSINT(战略风险)",
"derivedOsintSource": "实验功能 · 默认关闭"
},
"gtLean": {
"title": "在低配节点上启用衍生 OSINT",
"message": "Shadowbroker 检测到该节点 CPU 上限为 1 vCPU。开启地图图层通常安全,但启用后端引擎可能会拖慢 Telegram、GDELT 等 OSINT 抓取。",
"confirm": "仍要开启图层",
"cancel": "取消"
},
"gtHud": {
"title": "GT 分析",
"dragHint": "拖动移动",
"collapse": "收起面板",
"expand": "展开面板"
},
"gtAlerts": {
"title": "重点警报",
"counts": "地图 {plotted} · 跟踪 {tracked}(上限 {max}",
"empty": "尚无可绘制区域 — 需要带地理标签的情报。",
"ignition": "点火",
"line": "风险 {risk} · 冲突 {conflict}",
"hint": "500 = 最大跟踪区域数,非事件数。点击飞往。"
},
"gtRisk": {
"popupTitle": "战略风险",
"region": "区域",
"composite": "后验风险",
"financial": "金融",
"unrest": "动荡",
"conflict": "冲突",
"contagion": "传染",
"costlySignals": "成本信号",
"loadingSignals": "正在加载情报匹配…",
"noSignals": "该区域最近在 Telegram/GDELT/新闻中未匹配到成本信号文本。",
"unknownSource": "未知来源"
},
"gtBacktest": {
"title": "GT 回测",
"layerOff": "已关闭 — 请在数据图层中启用战略风险热力图。",
"disabled": "GT 分析未启用(需设置 GT_ANALYTICS_ENABLED=true)。",
"loading": "正在运行历史验证…",
"refresh": "刷新回测",
"accuracy": "准确率",
"confidence": "Wilson 95% 下界",
"cases": "{count} 个标注案例",
"threshold": "警报阈值 ≥ {value}",
"target": "目标 {value}",
"pass": "通过",
"fail": "未通过",
"collecting": "采集中",
"meetsTarget": "达到置信目标",
"belowTarget": "低于置信目标",
"misclassified": "{count} 个误分类",
"tabBenchmark": "基准测试",
"tabOperational": "运营验证",
"benchmarkNote": "静态标注语料 — 回归测试,非实时预测。",
"operationalLoading": "正在加载滚动运营趋势…",
"operationalEmpty": "尚无周快照 — 每周一 00:05 UTC 自动冻结,或通过 OpenClaw。",
"operationalWeeks": "已存 {stored} 周 · {scorable} 周可评分",
"operationalLabeled": "已标注 {labeled} · 待标注 {pending}",
"operationalTrend": "逐周准确率",
"operationalImproving": "较上一可评分周有所提升",
"operationalFlat": "较上一可评分周持平或下降",
"operationalMinLabels": "每周需 ≥{count} 条标注才可评分",
"microTitle": "3日微观",
"microWindow": "{days}日滚动均值 · 点火 Δ ≥ {delta}",
"microIgnitions": "{count} 个点火",
"microAlerted3d": "{count} 个区域 3日均值超阈值",
"microEmpty": "正在采集日读数 — 随 GT 摄入更新。",
"microRegionLine": "{region}:即时 {spot} · 3日 {avg} · Δ {delta}",
"microIgnitionBadge": "点火"
},
"roadCorridor": {
"analyzeHere": "分析此处",
@@ -273,6 +345,9 @@
"loadMedia": "查看媒体(Telegram",
"openOriginal": "在 Telegram 打开 →",
"embedTitle": "Telegram 帖子嵌入",
"postsAtLocation": "此位置 {count} 条帖子 — 向下滚动查看更多"
"postsAtLocation": "此位置 {count} 条帖子 — 向下滚动查看更多",
"translatedFrom": "由 {lang} 翻译",
"showOriginal": "显示原文({lang}",
"showTranslation": "显示译文"
}
}