这套系统如何把新闻变成判断
RSS Agent 不是普通新闻站,而是一条 LLM 驱动的新闻处理流水线。它会先从 Folo 主信源和多类 RSS 源里抓取信息,再经过 Gate-Keep 过滤、Score 打分、Insight 洞察,最后生成日报、周报、播客和发布内容。
它的价值不在于把更多资讯堆给你,而在于把噪音压成判断,把零散信号组织成连续观察,并把结果沉淀成可回看、可比较、可执行的研究档案。
这不是一个“抓到什么就展示什么”的前端壳子。它的核心是先把 多源信息做去重、编务判断、评分和结构化解读,再输出到日报、周报、播客和平台摘要。 因此你在首页看到的是编辑结果,在详情页看到的是原始 Markdown 报告。
这套系统的目标不是替代媒体,而是替代手工筛选新闻的重复劳动。 它把“海量输入 → 去噪 → 判断 → 输出”的路径固定下来,确保每天都能产出一份结构稳定的研究日报。
所有输入源都在 configs/feeds.json里显式配置。系统不会在运行时临时抓陌生来源,而是基于已知信源做持续追踪。
Folo 列表
旧的 `Follow AI 列表` 现在已经迁移到 Folo,这也是整套系统最重要的一层新闻发现入口。 为了兼容早期配置,源码里的旧别名仍然叫 “Follow AI 列表”,但界面和说明统一按 Folo 来表达。
这是整套系统最重要的一级发现层。它不只是一个单独 RSS,而是一份在 Folo 里持续维护的高优先级主题列表,用来优先捕捉 AI、开发者工具、宏观、投资和热点交叉区域里的高价值信号。
- 它位于抓取链最前面,承担“先发现,再验证”的角色。
- 列表里可以同时混合媒体、博客、热榜、社区和研究源,覆盖面明显大于单一 RSS。
- 单源更新太慢或太窄时,Folo 列表能更早把异动推到日报主输入池里。
- 后续系统再用独立 RSS 和补源逻辑做交叉验证,避免只靠单条热榜直接成稿。
这里的权重 100 不是在给单篇新闻打分,而是在告诉抓取系统:Folo 这份列表是最优先的发现入口。只要列表里出现高价值异动,它就应该比普通单源更早进入日报主输入池,再交给后续节点做去重、过滤和评分。
高优先级、可信度更高、适合直接进入主输入池。
用来补充覆盖面和外部信号,帮助日报不被单一来源主导。
主要用于趋势观察或热榜补充,默认不一定进入日报主池。
AI
模型、产品形态、研究进展和行业动态的高优先级信号池。
科技
大公司、基础设施、消费科技和平台格局的外部变量。
软件工程
开发者工具、开源、框架和工程效率变化。
商业
公司战略、财报、市场结构和产业链变化。
政策
监管、地缘、出口限制和制度性变量。
社会
热榜、舆论和公共事件,用于补充观察而不是主导日报。
第一目标不是“抓更多”,而是先把重复、稀薄、无判断价值的噪音压掉,再补齐需要覆盖的类别。
抓取主输入池
fetchPrimary会按信源优先级和限制抓取过去 24 小时的原始条目,包含 RSS、Folo 列表和观察源。
预筛与事件压缩
preFilter把相似标题和相同事件压成 event candidates,减少重复报道对后续打分的干扰。
覆盖补源
如果某些类别当天不够,fetchCoverage会定向补抓,避免日报被单一赛道完全占满。
编务议程 + Gate-Keep
editorialAgenda先决定当天主线,再由 gateKeep输出 PASS / DROP / MERGE,把真正值得进入日报主战场的条目留下来。
通过 Gate-Keep 之后,系统不是简单按热度排序,而是按 6 个维度和类目策略综合算分。
判断它是不是会改变你对行业或市场走势的看法。
关注这条信息能影响未来几天到几周,而不是只在今天热闹。
是否与 AI、产品、研发、投资这些核心关注面直接相关。
能不能帮助后续行动,例如继续跟踪、建立假设或修正判断。
来源质量、信息完整度和可验证性。
过去 24 小时内的优先级,以及对当期日报的必要性。
从过去 24 小时的海量资讯中提炼最有价值、最能帮助判断未来形势的信息。
必须持续跟踪的主题
- AI 模型能力与产品形态变化
- 金融市场风险偏好与资金流向
- 关键政策与监管变化
- 科技平台与芯片格局变化
- 开发者工具和工程效率跃迁
选题原则
- 允许重大政策、金融、宏观、地缘事件在当天压过 AI
- 优先选择能帮助判断未来几天到几周走势的信号
- 单条新闻不追求面面俱到,日报开头和结尾负责趋势判断
- 避免热闹但无判断价值的流量型内容
当高分条目被确认后,系统才开始把它们从“新闻”转成“可读的日报结构”。
1. 抓取与预筛
先从 feeds 配置里抓当天原始内容,再把明显重复和碎片化事件压成候选池。
- `fetchPrimary` 先抓核心源和主输入源,保留过去 24 小时的原始条目。
- `preFilter` 会把相似标题压成 observed events,再挑出代表性候选。
- 每个信源都带 `tier`、`weight`、`dailyCap`,控制优先级和单源注水问题。
2. 覆盖补全与编务议程
如果某些类别当天信息不足,系统会主动补抓,避免日报被单一领域淹没。
- `fetchCoverage` 根据 deficit categories 回补类别,保证多类别覆盖。
- `editorialAgenda` 从候选池里生成当天主线、必须覆盖主题、观察信号和 category boost。
- 这一步决定当天日报更像哪一版编辑手稿,而不是纯按热度排序。
3. Gate-Keep 与打分
先做去噪和合并,再做多维度评分,尽量把真正有判断价值的条目留下来。
- `gateKeep` 会批量让模型输出 PASS / DROP / MERGE,内容安全触发时退回启发式过滤。
- `score` 对每条通过条目做 6 维打分,并叠加类目权重、当日 boost、must-cover bonus。
- 最终会保住最小分类覆盖,并限制单一类别过度挤占日报版面。
4. 聚合生成与分发
高分条目继续做结构化解读,再生成日报、播客和平台分发内容。
- `insight` 把标题变成 one-liner / event / interpretation,筛出真正值得深挖的 deep dives。
- `generateDaily` 按分类写成 Markdown 日报,保留更多 24h 候选池和后续观察变量。
- `podcastGen`、`platformsGen`、`publish`、`notify` 负责播客脚本、平台内容、发布和通知。
日报详情页直接渲染生成好的 Markdown,周报延续同样结构,首页则负责浏览和回看。 这意味着前端不解释内容本身,只负责把生成结果组织成可读界面。
从噪音中提取可执行、可判断的内容,并持续追踪高价值信号。