ahmtakcm/RiskRadarAI
GitHub: ahmtakcm/RiskRadarAI
模块化的 Telegram 告警机器人,聚合官方、社交及 OSINT 来源的风险信号,通过双重验证和 AI 分级机制提供高可信度实时态势告警。
Stars: 0 | Forks: 0
# RiskRadarAI
[](https://deepwiki.com/ahmtakcm/RiskRadarAI)
[](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抓取, 交叉验证, 信息聚合, 双重验证, 大模型集成, 威胁预警, 实时处理, 情报收集, 情报研判, 数据抓取, 无后门, 消息通知, 漏洞研究, 自动化监测, 舆情监控, 逆向工具, 风险信号