ahmtakcm/RiskRadarAI

GitHub: ahmtakcm/RiskRadarAI

模块化的 Telegram 告警机器人,聚合官方、社交及 OSINT 来源的风险信号,通过双重验证和 AI 分级机制提供高可信度实时态势告警。

Stars: 0 | Forks: 0

# RiskRadarAI [![Ask DeepWiki](https://deepwiki.com/badge.svg)](https://deepwiki.com/ahmtakcm/RiskRadarAI) [![RepoWiki](https://repowiki.com/badge.svg)](https://repowiki.com/ahmtakcm/RiskRadarAI) 一个模块化的 Telegram 告警机器人,从官方、社交媒体及 OSINT 来源收集风险信号,并使用**双重验证**逻辑标记信任等级。 ## 功能特性? - 同时扫描官方(企业)来源、RSS、HTML 列表页以及社交媒体的“早期信号” - 将社交媒体/OSINT 信号作为独立类别处理,而非“确定警报”;如果与官方信号重合,则会升级为 **✅ 双重验证** - 可生成基于日历的“即将到来 / 已发布”警报 - 与 AI 提供商(GitHub Models / Groq / 可选 Gemini)协作,以分级且容错的方式执行分类/摘要/匹配工作 ## 快速开始(本地) 建议使用 Python 3.11+。 ``` python -m venv venv source venv/bin/activate # Windows: .\venv\Scripts\activate pip install -r requirements.txt cp .env.example .env ``` 在 `.env` 文件中至少填写以下两项: - `BOT_TOKEN`:Telegram bot token - `CHAT_ID`:接收消息的群组/频道/聊天 ID 运行: ``` python main.py ``` ## 生产环境(Ubuntu + systemd) 安装步骤位于 `ops/SYSTEMD.md` 中。 ## 配置 - **规则/来源**:`rules/` - **配置文件**:`profiles/`(例如 `ACTIVE_PROFILE=...`) - **运行时状态**:`storage/` 和 `user_inputs/`(不提交到 GitHub) ## 项目结构(简述) - `main.py`:应用程序入口(带有单实例锁) - `workflows/`:扫描/处理流程 - `fetchers/`、`parsers/`、`filters/`:收集 → 解析 → 过滤 链路 - `services/`:Telegram/AI 提供商等 - `ops/`:systemd 和运维脚本 ## 详细信息(当前备注) ## 新增功能 - `rules/social_feeds.json`:社交媒体来源保存在单独的文件中。 - `rules/calendar_watch.json`:即将到来和已发布的日历警报。 - 新的配置文件:`ekonomi_resmi`、`guvenlik_resmi`、`saglik_resmi`、`stratejik_karma` - `listing_html` 类型:用于扫描非 RSS 的官方/企业页面 - 针对 PDF 链接的基础检测(`description: PDF rapor bağlantısı`) ## 来源类型 - `news` / `rss`:标准新闻源 - `official_html`:自定义解析器或企业 HTML 源 - `listing_html`:基于链接列表逻辑的企业页面扫描 - `rss_social`:社交早期信号来源 ## 社交早期信号是什么? 社交账号有时会比官方网站更早发出信号。因此它们被单独管理。核心警报引擎仍基于官方来源运行;社交媒体来源是可选的加速层。 ## 日历警报 `calendar_watch.json` 中的每个事件可以生成两种警报类型: - `yaklasiyor`(即将到来) - `yayinlandi`(已发布) `yayinlandi` 警报通过发布信号的文本搜索工作;它并非百分之百准确,而是出于实用的自动化目的。 ## 双重验证逻辑 在此版本中,社交媒体来源和官方来源是分开扫描的。 - `rss_social` 来源生成早期信号。 - `official_html`、`listing_html`、`rss` 及类似企业来源作为官方渠道处理。 - 如果社交信号与官方信号在共同关键词上相交,消息将打上 `✅ 双重验证 / 社交 + 官方` 标签。 - 如果社交信号先到达,会显示为 `⚡ 社交早期信号 / 等待官方确认` 并进入等待状态。 - 随后如果同一主题出现了官方来源,将发送 `✅ 官方确认已到达` 消息。 ### 新的 .env 选项 ``` VERIFICATION_WINDOW_MINUTES=360 PENDING_SOCIAL_TTL_MINUTES=720 SEND_UNVERIFIED_SOCIAL_ALERTS=true ``` ## 新的处理层 - `rules/osint_feeds.json`:LiveUAMap、OSINT 及快速现场信号 - `rules/analysis_feeds.json`:Crisis Group、Security Council Report、PDF/报告及战略分析源 - `filters/ai_agent.py`:基于规则的类似 AI-agent 的分类器 - `services/assistant_output.py`:生成发送到个人助手的干净消息 流程模型: 1. 官方来源 2. 社交来源 3. OSINT/快速现场来源 4. 分析/PDF/报告来源 非官方来源不会直接被视为确定警报;如果可能,与官方来源匹配后将被标记为**双重验证**。 ## Gemini 此版本首先尝试使用 `google-genai` SDK;如果 SDK 不可用,则通过 REST fallback 继续。 ## 社交镜像故障转移 针对社交 RSS 源使用 `rules/social_mirrors.json`。如果某个镜像返回 503/访问错误,系统将尝试其他镜像。在连续失败的情况下,该源将被临时置入冷却期,并在 `storage/source_health.json` 中受到监控。 ## 新鲜度门槛 在此版本中,社交/OSINT/官方内容将根据存在时间限制进行过滤。过期内容不会进入 Telegram 警报。时间限制可通过 `.env` 进行管理。 ## 快速更新 完整备份加全新安装是最安全的方法。为了更便捷地更新,您可以使用补丁 ZIP 包,仅将更改的文件解压到同一文件夹中。`.env` 和 `storage/` 将被保留。 ## Groq 集成 本项目可与 Groq 兼容 OpenAI 的 API 协同工作。在 `.env` 中添加 `GROQ_API_KEY`、`GROQ_ENABLED=true` 和 `AI_PROVIDER_PRIMARY=groq`。如果需要,可以通过 `AI_PROVIDER_SECONDARY=gemini` 将 Gemini 保留为备用提供商。 ## 最新质量更新 - 评论/分析/视频页面将从警报流中剔除。 - 新闻网站内容中使用 URL 类型过滤。 - CENTCOM Press Releases 来源已添加至主要官方来源中。 - 支持将 Groq 作为主提供商,Gemini 作为辅助提供商。 ## 官方来源红色警报 - 如果在 CENTCOM、Truth Social、Iran MFA、IRNA、领导层和总统府等官方来源中匹配到关键词,警报级别将提升。 ## 工程规则 项目的技术决策契约保存在 [docs/ENGINEERING_RULES.md](docs/ENGINEERING_RULES.md) 文件中。简而言之:警报信任度优先于速度,来源被视为脆弱,中继来源会被透明标记,运行时状态不进入 GitHub,且每项更改都需通过针对性测试进行验证。
标签:AI文本分析, ESC4, Linuxsystemd, OSINT, Python, RSS订阅, Telegram机器人, URL抓取, 交叉验证, 信息聚合, 双重验证, 大模型集成, 威胁预警, 实时处理, 情报收集, 情报研判, 数据抓取, 无后门, 消息通知, 漏洞研究, 自动化监测, 舆情监控, 逆向工具, 风险信号