MorelAvraham/FocusNews
GitHub: MorelAvraham/FocusNews
一个基于 Gemini 2.5 Flash 的 OSINT 仪表板,从实时信源聚合新闻并通过 AI 生成经过验证的执行摘要。
Stars: 0 | Forks: 0
# FocusNews 🌎 📰
**FocusNews** 是一个先进的、AI 驱动的新闻聚合器,旨在应对信息过载。它被设计为一个“执行新闻与 OSINT 仪表板”,系统地直接从实时来源提取原始情报报告,使用先进的自然语言处理技术从噪音中提取有效信号,并呈现全面的概览。其重点是提供冷静、基于事实且经过严格验证的摘要,而非混乱的更新流。
  
## 🛠️ 技术栈与工程决策
FocusNews 在战略上没有使用重型框架,以保持极高的灵活性,最大化性能,并展示深厚的基础工程能力。
### 前端
- **原生 HTML5 & CSS3**:利用纯 HTML 和 CSS 创建轻量级、极速的客户端体验。
- **Glassmorphism UI**:使用先进的 CSS backdrop-filters、自定义动态背景层和响应式 CSS Grid 架构,渲染出身临其境的高端“玻璃态 (Glassmorphic)”界面。现代的样式和流畅的微动画构建了高级的美感。原生支持深色和浅色主题。
- **原生 JavaScript**:管理异步数据获取、DOM 注水、动态本地化(希伯来语和英语)、基于 DOM 的 WhatsApp 分享生成以及历史时间线下拉状态。
### 后端基础设施
- **Serverless Python (Vercel)**:实现自定义 `BaseHTTPRequestHandler` 结构,利用 Vercel 的 serverless 生态系统。高并发抓取循环使用 `concurrent.futures.ThreadPoolExecutor` 并行处理千兆字节的非结构化数据流。
- **Google Gemini 2.5 Flash**:作为认知引擎。来自受监控 OSINT 组的原始按时间顺序排列的拦截数据被直接传输到 Gemini 模型。Gemini 使用严格的 JSON-schema 约束来剔除冗余、翻译内容、生成详尽的执行摘要,并构建分类数组和经过验证的时间线。
- **Upstash Redis**:用作快速读取操作的主要数据存储:
1. **历史归档 (ZSET)**:维护滚动的 24 小时历史索引,使用 `zremrangebyscore` 丢弃 24 小时 TTL 之外的记录,同时按需返回精确的一小时前快照。
2. **实时观众遥测**:支持实时仪表板分析,同步跟踪活跃用户,而无需启动庞大的单体数据库。
## 🏗️ 架构与数据流
FocusNews 架构的核心是**运营效率**和**成本优化**。
1. **触发与获取**:当用户访问仪表板时,Edge Network 将请求路由到 Python Serverless 实例。
2. **并行收集**:后端启动多达 8 个并行后台线程,直接从受监控的 Telegram 来源抓取过去 60 分钟内的最新原始更新。
3. **认知解析**:合并的数据集(为优化上下文窗口管理而进行防御性截断)通过高度结构化的多语言提示指令传输到 Gemini 2.5 Flash。
4. **Edge Caching 与成本节约**:
- 系统的一个关键方面依赖于 Vercel 的 Edge Caching 标头 (`Cache-Control: s-maxage=3600, stale-while-revalidate=600`)。
- 这一架构决策确保繁重的 LLM 摘要计算**每小时仅精确运行一次**。该小时内的所有后续流量直接从全球边缘节点提供超快(以毫秒计)服务,从而消除了对 Google 的冗余 API 成本,同时为最终用户确保了即时加载时间。
5. **历史账本**:每一个成功的整点生成都会将最终编译的 JSON 推送到由 Unix 时间戳索引的 Upstash Redis 有序集合中。专用的 `/api/history` serverless 端点处理向后查找的请求,从而无需重新处理历史 OSINT 数据块。
## ✨ 核心功能
* **双语动态支持**:在希伯来语和英语之间一键切换,呈现由 LLM 结构化生成的完整翻译,无需硬编码字典。
* **24 小时时间机器**:下拉 UI 直接与 Redis 历史状态集成,可回溯并查看最多 24 小时前生成的快照。
* **智能 WhatsApp 分享**:无缝构建格式精美的 WhatsApp 文本,包含 AI 概览、时间线快照和热门分类事件——直接从活动 DOM 生成。
* **实时分析**:自定义基于 session-id 的 ping 机制与 Redis 存储通信,以反映当前正在观看 Feed 的活跃用户。
* **分类去重**:引擎将关于同一事件的 50 条不同的冗余帖子逻辑上融合为特定模块(安全、政治、经济等)中的单行简洁条目。
*此应用展示了全栈专业知识,结合了现代 UI/UX 原则、直接 serverless 集成、LLM 驱动的后端处理、有状态缓存优化以及高性能 serverless 架构。*
标签:AI 新闻聚合器, DLL 劫持, Gemini 2.5 Flash, Glassmorphism, IPv6支持, NLP, OSINT 仪表盘, OSV, Python 无服务器架构, Vanilla JS, Vercel, 事实核查, 信息过载, 信息验证, 前端原生开发, 多语言支持, 大语言模型, 安全测试框架, 实时处理, 并发抓取, 开源网络情报, 情报分析, 情报摘要, 数据可视化, 毛玻璃 UI, 深度学习, 网络安全, 网络诊断, 舆情分析, 逆向工具, 隐私保护