这是一个自动爬取新闻并生成报表的agent,它还处在初期阶段
Go to file
yixuanchen f1ecf90449 Initial import 2026-05-09 10:46:52 +08:00
crawler Initial import 2026-05-09 10:46:52 +08:00
rag Initial import 2026-05-09 10:46:52 +08:00
report Initial import 2026-05-09 10:46:52 +08:00
static Initial import 2026-05-09 10:46:52 +08:00
templates Initial import 2026-05-09 10:46:52 +08:00
.env.example Initial import 2026-05-09 10:46:52 +08:00
.gitignore Initial import 2026-05-09 10:46:52 +08:00
CCGP_CRAWLER_GUIDE.md Initial import 2026-05-09 10:46:52 +08:00
CHANGELOG.md Initial import 2026-05-09 10:46:52 +08:00
EMAIL_GUIDE.md Initial import 2026-05-09 10:46:52 +08:00
GITEA_SYNC_GUIDE.md Initial import 2026-05-09 10:46:52 +08:00
MAIN_USAGE_GUIDE.md Initial import 2026-05-09 10:46:52 +08:00
PROJECT_STRUCTURE.md Initial import 2026-05-09 10:46:52 +08:00
README.md Initial import 2026-05-09 10:46:52 +08:00
UNIFIED_REPORT_GUIDE.md Initial import 2026-05-09 10:46:52 +08:00
USAGE.md Initial import 2026-05-09 10:46:52 +08:00
WECHAT_CRAWLER_GUIDE.md Initial import 2026-05-09 10:46:52 +08:00
WECHAT_IP_WHITELIST_GUIDE.md Initial import 2026-05-09 10:46:52 +08:00
auto_report_and_email.py Initial import 2026-05-09 10:46:52 +08:00
ccgp_integration_example.py Initial import 2026-05-09 10:46:52 +08:00
check_ip.py Initial import 2026-05-09 10:46:52 +08:00
email_sender.py Initial import 2026-05-09 10:46:52 +08:00
email_web_app.py Initial import 2026-05-09 10:46:52 +08:00
generate_report_from_db.py Initial import 2026-05-09 10:46:52 +08:00
main.py Initial import 2026-05-09 10:46:52 +08:00
rebuild_vector_db.py Initial import 2026-05-09 10:46:52 +08:00
requirements.txt Initial import 2026-05-09 10:46:52 +08:00
wechat_integration_example.py Initial import 2026-05-09 10:46:52 +08:00

README.md

交通新闻自动报表系统

这是一个围绕交通行业情报的自动化项目,当前主流程是:

多源抓取 -> 文本清洗 -> FAISS 向量入库 -> RAG 检索 -> 千问生成报告 -> 邮件发送

当前能力

  • 支持四类数据源:
    • 赛文交通网
    • 微信公众号(高德地图)
    • 微信公众号(百度地图)
    • 中国政府采购网
  • 使用本地 FAISS + JSON records 持久化向量库
  • 嵌入方式:Ollama API -> paraphrase-multilingual:latest
  • 支持综合报表与主题报表
  • 支持 QQ 邮箱发送报告
  • 提供收件人管理 Web 界面

当前主入口

1. 主流程入口

python main.py --mode full --sources all

支持模式:

  • crawl:抓取并写入向量库
  • report:基于已有向量库生成综合报告
  • topic:生成主题报告
  • full:抓取 + 入库 + 报告

2. 收件人管理 Web 界面

python email_web_app.py

默认地址:

http://127.0.0.1:7860

当前页面支持:

  • 管理发送对象(新增 / 删除)
  • 手动触发一次完整发送
  • 保存每周定时发送配置

说明:当前页面中的“单次发送”会执行:

全站抓取一次 -> 更新本地向量库 -> 生成最新报告 -> 发送邮件

环境变量

请基于 .env.example 创建本地 .env

最少需要:

QWEN_API_KEY=你的API密钥
QWEN_MODEL=qwen-max
DATA_DIR=./data
VECTOR_DB_DIR=./vector_db

如果启用公众号抓取:

WECHAT_MP_COOKIE=你的微信公众号后台登录态 Cookie

如果启用邮件:

EMAIL_SENDER=你的QQ邮箱@qq.com
EMAIL_PASSWORD=你的QQ邮箱SMTP授权码
EMAIL_RECIPIENTS=收件人1@qq.com,收件人2@qq.com

数据源说明

赛文交通网

  • 实现:crawler/news_crawler.py
  • 特点:抓取新闻列表和正文,保存为 news_*.json
  • 说明:独立运行爬虫只会保存 JSON不会自动写入向量库通过 main.py --mode crawl/full 才会统一入库

微信公众号(高德 / 百度)

  • 入口实现:crawler/wechat_crawler.pycrawler/baidu_map_crawler.py
  • 共用基类:crawler/wechat_mp_crawler_base.py
  • 底层后台接口:crawler/wechat_mp_backend_client.py
  • 当前主流程依赖 WECHAT_MP_COOKIE

中国政府采购网

  • 实现:crawler/ccgp_crawler.py
  • 当前逻辑:优先走搜索接口,若被限流或阻断,则自动回退到公告栏目扫描并按关键词过滤
  • 支持诊断文件输出:ccgp_probe_*.json

报告与向量库

向量库

  • 目录:vector_db/
  • 形式:本地持久化 FAISS + records.json
  • 去重方式:以 url 为业务唯一键,更新时删除旧片段后重新写入

报告

  • 输出目录:data/
  • 文件格式:当前统一为 .txt
  • 常见文件名:
    • report_summary_*.txt
    • report_topic_*.txt
    • report_comprehensive_*.txt
    • report_source_*.txt

当前综合报告逻辑:

  • std_timestamp 读取最近 15 天新闻
  • 综合报告按来源均衡取样
  • 尽量保证每个来源至少纳入 5 条新闻

文档索引