auto-news
用 LLM 将 RSS/Twitter/YouTube 等多源信息自动聚合,5 分钟掌握一天 AI
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
用 LLM 将 RSS/Twitter/YouTube 等多源信息自动聚合,5 分钟掌握一天 AI
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
图1:项目作者 Yuzhang Hu 的 GitHub 头像
你有没有这种感觉——打开 Twitter,刷了半小时,好像看了很多,又好像什么都没记住?朋友圈、RSS 订阅、YouTube、Reddit……信息来源越来越多,但真正沉淀下来的知识却越来越少。
这就是 AI 时代的信息过载困境。来自纽约大学的神经科学家 Maryanne Wolf 提出了一个概念——"Cognitive Cannon"(认知大炮):现代人每天接收的信息量已经远超大脑的处理极限,长期下去会导致浅层阅读习惯的固化,甚至损害深度思考能力。
面对这个问题,一位独立开发者 Yuzhang Hu(GitHub @hyzwowtools)动手造了一个轮子——Auto-News。这是一套用 LLM 驱动的个人新闻聚合系统,核心理念是:「让 AI 帮你过滤噪音,只留下值得阅读的内容」。
项目 Star 数 885,在 GitHub 上获得了不错的社区认可,并在 2024-2025 年间持续活跃更新,配套推出了 iOS/Android 应用和 Web 版本 dotsfy.com。
Auto-News 最早是 Yuzhang Hu 为解决自身信息焦虑而开发的个人工具。他在博客中写道:「我希望每天用 5 分钟,就能掌握 AI 领域的重要趋势,而不是花 2 小时刷 Twitter 却一无所获。」
这个需求非常具体:
为了实现这个目标,Auto-News 构建了一个完整的数据管道:
Auto-News 的调度核心基于 Apache Airflow。DAG 目录下定义了 6 个定时任务:
| DAG 文件 | 功能 |
|---|---|
news_pulling.py | 定时从各数据源拉取新闻 |
journal_daily.py | 每日日志整理 |
collect_weekly.py | 生成 Weekly Top-k 摘要 |
todo.py | 生成 TODO 待办列表 |
sync_dist.py | 同步分发内容到各平台 |
upgrade.py | 系统版本升级 |
docker-compose.yaml 基于 Apache Airflow 官方镜像(2.8.4-python3.11),配置了 CeleryExecutor 模式,后端使用 Redis + PostgreSQL,这是一个生产级的任务队列架构。
LLM 处理是 Auto-News 的灵魂。项目采用 LangChain 0.3.1 作为 LLM 编排框架,支持三大后端:
from langchain.chat_models import ChatOpenAI # OpenAI GPT
from langchain_google_genai import ChatGoogleGenerativeAI # Google Gemini
from langchain_community.chat_models import ChatOllama # 本地 Ollama
LangChain 的 LLMChain 和 load_summarize_chain 负责摘要生成和内容理解,配合 RecursiveCharacterTextSplitter 做长文本分块处理(max_chars=4000)。
针对 YouTube 视频,项目使用了 YoutubeLoader 自动获取字幕——如果视频没有字幕,则调用 OpenAI Whisper 做语音转文字(openai-whisper 依赖)。这一步极为关键,因为许多优质的 AI 领域 YouTube 内容并未提供文字 transcript。
Auto-News 支持多种嵌入模型和多向量存储后端:
embedding_openai.py):调用 OpenAI 的 text-embedding-ada-002 等模型embedding_hf.py):本地部署 Sentence Transformersembedding_ollama.py):支持完全离线运行向量存储层支持三套方案:
chromadb>=0.4):轻量级向量数据库,适合个人部署pymilvus>=2.4):生产级分布式向量搜索pinecone-client):云端向量服务llama-index>=0.9):同时作为检索和索引框架每个嵌入任务的缓存键由 model_name + start_date 生成,确保不同时间段的嵌入任务相互隔离。
Auto-News 采集的数据源类型极为丰富(src/ops_*.py):
| 模块 | 数据源 | 技术实现 |
|---|---|---|
ops_rss.py | RSS 订阅源 | feedparser 库 |
ops_twitter.py | Twitter/X | tweepy + Twitter API |
ops_reddit.py | Reddit 帖子 | Reddit API |
ops_youtube.py | YouTube 视频 | yt-dlp + youtube-transcript-api |
ops_article.py | Web 文章 | BeautifulSoup(bs4)+ WebBaseLoader |
ops_arxiv.py | ArXiv 论文 | arxiv 库 + ArXiv API |
ops_journal.py | 个人日记/笔记 | Notion 笔记库 |
项目自称能「过滤掉 80% 以上的噪音内容」。其原理是:
这个过滤机制在 ops_stats.py 和 llm_prompts.py 中实现,使用 LangChain 的 Chain-of-Thought 提示词,引导 LLM 进行结构化评分。
每周自动生成一次 Top-k 内容回顾(collect_weekly.py),将本周最重要的 k 条内容打包,以 Newsletter 风格推送给用户。这是当前很多 AI 资讯产品(如 TLDR、Rapid Weekly)都在做的事情,Auto-News 在个人层面实现了自动化。
项目引入了基于 AutoGen(微软多智能体框架)的 Deepdive 实验性功能:当用户对一个话题感兴趣时,系统会自动启动多个 web search agent,从不同角度深度挖掘该话题,生成一份结构化研究报告。这是一个典型的 Multi-Agent RAG 场景。
Auto-News 的数据层是一个复杂的多存储架构:
mysql-connector-python):结构化元数据存储(订阅源配置、用户评分等)minio):对象存储,保存原始内容scylla-driver):高性能 NoSQL,可选替代方案这种「数据库联邦」式架构,对于一个个人项目来说复杂度相当高,体现了作者在分布式系统方面有实战经验。
项目提供了两种主要部署路径:
路径一:Docker Compose(推荐新手)
git clone https://github.com/finaldie/auto-news.git
cd auto-news/docker
cp .env.template .env
# 编辑 .env 填入 Notion Token、OpenAI API Key 等
docker-compose up -d
docker-compose.yaml 配置了完整的 Airflow + Redis + PostgreSQL 环境,一条命令即可启动核心服务。
路径二:Helm / Kubernetes(面向生产)
项目还提供了 Helm Chart(helm/ 目录)和 ArgoCD 配置(argocd/ 目录),支持 GitOps 风格的 K8s 部署。这说明作者考虑了将服务规模化的可能性。
README 中明确标注的硬件需求:
这个配置要求比大多数 AI 工具都高,主要因为 Airflow 本身就是一个重量级调度框架,加上 MySQL、Redis 等中间件,本地运行确实需要一定资源。如果用 Ollama 本地模型而非 OpenAI API,还需要额外 GPU 资源。
项目依赖超过 35 个 Python 包(pyproject.toml),涵盖 LLM、向量库、音视频处理、云存储等多个领域。安装过程通过 Dockerfile 的 pip install -r requirements.txt 自动完成,但配置环境变量(.env)这一步无法自动化,需要用户手动填写 Notion Token、各 LLM API Key 等敏感信息。
对于没有 Notion 账号和 LLM API 使用经验的用户来说,初始配置有一定门槛。
作者提供了配套的托管服务 dotsfy.com,支持 Web 和 iOS/Android 应用,完全免费使用(美国/加拿大可用)。这是上手最快的方案,适合不想折腾部署的用户。
| 维度 | 评分 | 说明 |
|---|---|---|
| 架构设计 | 5/5 | 清晰的 Operator 模式、多存储联邦、模块化分层 |
| 代码规范 | 4/5 | .flake8 配置规范,但部分 patch 文件说明代码演进过程 |
| 文档质量 | 5/5 | README + Wiki + 视频 + 博客,文档体系完整 |
| 测试覆盖 | 3/5 | 未发现测试目录,依赖人工验收 |
| 部署友好度 | 4/5 | Docker/Helm/ArgoCD 多路径,但配置复杂度高 |
总体评分:85/100
核心架构设计非常成熟,Operator 模式实现了良好的关注点分离,每个数据源(RSS、Twitter、YouTube 等)都有独立的 Operator 类。但测试覆盖不足是一个明显短板,生产部署建议配合 CI/CD 流程进行自动化测试。
所有采集内容都会发送到 OpenAI/Google 的服务器进行处理。如果你的信息源包含公司内部数据、机密内容或个人隐私,使用 Auto-News 前需要三思。项目中虽然支持 Ollama 本地模型,但默认配置仍然依赖云端 LLM API。
每个内容摘要需要调用 LLM API。项目没有提供用量统计和成本控制机制。在高频采集场景下,OpenAI 的 GPT-4o Mini 或 Gemini Flash 的成本累积也不可忽视。建议用户在 .env 中设置 API 限流,或切换到 Ollama 完全本地化。
Twitter/X API 在 2023-2024 年经历了多次重大变更(收费、限流),类似地,YouTube、Reddit 等平台的 API 政策也可能随时变化。Auto-News 依赖外部平台 API,一旦这些 API 不可用或大幅涨价,系统可能需要紧急适配。
dotsfy.com 的 iOS/Android 应用仅对美国和加拿大用户开放,国际用户只能选择自托管或 Web Beta 版。
Auto-News 代表了一个正在兴起的产品类别——LLM-Native 信息消费工具。
这类工具的共同特征是:不再让用户主动搜索信息,而是由 AI 代劳,通过订阅源管理 + 智能过滤 + LLM 摘要,让用户在固定时间内获取最大信息价值。
同类产品如:
Auto-News 的差异化在于它的完全自托管特性和全链路可定制——用户不仅可以控制数据,还能修改 LLM 提示词、添加新的数据源、甚至替换向量数据库。这在当前 AI 工具普遍 SaaS 化的背景下,给注重隐私和可控性的用户提供了稀缺选择。
从增长曲线看,项目 Star 从 0 到 885 经历了约 2 年的稳定增长,作者持续在 GitHub 和 YouTube 上输出内容,这种「产品 + 内容」双轮驱动的策略值得借鉴。
一句话评价:Auto-News 是一款面向 AI 时代信息过载问题的个人新闻聚合系统,通过 LangChain 驱动的 LLM 摘要、Notion 展示层和多源数据采集,实现了「5 分钟掌握一天 AI 资讯」的目标。
适合人群:
不适合:
项目在架构设计和工程实现上都展现了较高水准,是一个值得深入研究的 AI 应用范例。