AI 动态
← 回到首页

一个每天自己更新的 AI 动态档案

它做两件事:把散落在几十个源里的 AI 动态收进一个可回溯的本地知识库, 以及把这些数据变成可以被查到、被翻看的一层界面。 没有人工编辑,抓取、分类、归档、成页全部由流水线跑完。

—条归档
—天覆盖
—个信源
每小时自动更新

数据从哪来全部为公开 RSS / Atom / API

信源按「官方 → 学术与开源 → 行业媒体 → 社区」分层,官方源权重最高。当前生效的源与各自贡献:

怎么做的一条四段式流水线

  1. 抓取 19 个源并发拉取,单源超时 15 秒、失败重试两次,任何一个源挂掉都不影响整体。落一份原始快照到 data/raw/,任何时候都能重放。
  2. 归档与分类 URL 规范化后取哈希做主键,重复抓取不会产生重复数据。按关键词规则 + 来源先验打上分类和品牌,算一个热度分,写进 SQLite。
  3. 合并与切片 同一件事被多家报道时,用标题特征相似度合并成一条,标注「N 个来源」。再按北京时间的自然日切成「一天一个文件」。
  4. 原子发布 所有产物先写进临时目录,全部成功后才整体替换线上目录。构建中途失败时,访客看到的仍然是上一次的完整版本。

技术栈刻意保持零依赖

环节选型为什么
抓取与处理Python 3 标准库不装任何第三方包,服务器上不用维护虚拟环境
知识库SQLite单一事实源,分类规则改了可以拿原始数据重算全部历史
前端原生 JS,单文件没有构建步骤、没有框架、没有 CDN 依赖
托管Caddy 静态托管无后端进程,抗突发流量,自动 HTTPS
调度systemd timer有日志、有状态查询、断电后可补跑

更新节奏采集与成页解耦

时点动作
每小时 :10抓取 → 归档 → 重建页面。整点错开 10 分钟,避免和源站的高峰撞车
00:10就是「昨日成刊」那一次。按北京时间的自然日归档,不按抓取时间
09:10补采。欧美白天发布的内容和 RSS 收录延迟的稿件在这一轮被追回
为什么不只在 0 点抓一次?RSS 有收录延迟——很多媒体在 23:50 发的稿,0:10 时还没进 feed。 只跑一次的话,每天最后一两个小时的新闻会稳定丢掉,而 AI 圈的突发常常就在晚上。 改成持续增量采集后,任何一个时点进来看到的都是当下最全的版本。

检索怎么工作

边界与合规