1.5 KiB
1.5 KiB
爬虫数据流水线
数据流
RSS 抓取
↓ 翻译、清洗
↓ news_storage.save_and_dedup() → 历史去重
↓
news_content(资讯独立表,供后续消费)
↓
↓ 去重后的新数据
↓
situation_update(面板展示用)
↓
↓ AI 提取(阿里云 DashScope)
↓
combat_losses / retaliation / key_location / wall_street_trend
↓
↓ notify Node
↓
前端 WebSocket + 轮询
阿里云 DashScope API Key
设置环境变量 DASHSCOPE_API_KEY 后,爬虫使用阿里云通义千问进行 AI 提取。不设置时回退到规则提取(extractor_rules)或 Ollama(若可用)。
# 本地
export DASHSCOPE_API_KEY=sk-xxx
# Docker
docker compose up -d -e DASHSCOPE_API_KEY=sk-xxx
# 或在 .env 中写入 DASHSCOPE_API_KEY=sk-xxx
表说明
| 表 | 用途 |
|---|---|
news_content |
资讯原文,独立存储,支持去重(content_hash),供后续消费 |
situation_update |
面板「近期更新」展示 |
combat_losses |
战损数据(AI/规则提取) |
key_location |
基地状态 |
gdelt_events |
地图冲突点 |
去重逻辑
根据 content_hash = sha256(normalize(title) + normalize(summary) + url) 判断,相同或高度相似内容视为重复,不入库。
消费资讯
- HTTP:
GET /api/news?limit=50 - 调试:
/db面板查看news_content表
链路验证
运行脚本一键检查全链路:
./scripts/verify-pipeline.sh
支持环境变量覆盖:API_URL、CRAWLER_URL