这个 AI 新闻雷达,每天帮你省 2 小时筛选时间

这个 AI 新闻雷达,每天帮你省 2 小时筛选时间

👤 妙想栈 📅 未知日期

 

GitHub 上有个 Horizon 的项目,它是一个 AI 驱动的新闻聚合与日报生成器。你可以把它理解成一个 24 小时不休息的「私人主编」——它从 Hacker News、RSS、Reddit、Telegram、Twitter/X、GitHub 等平台抓取内容,用 AI 打分筛选,去掉重复信息,补充背景知识,汇总社区评论,最后生成一份结构化的中英双语日报。

你用 JSON 配置文件告诉它你的兴趣、信源和评分阈值,它按你的口味出稿。


它能做什么

Horizon 的流水线很清晰:抓取、去重、评分、补充、汇总、输出。但每一步都藏了不少细节。

多源聚合——一处配置,全网抓取

Horizon 支持 6 类信息源:

  • • Hacker News 热门故事(含评论)
  • • RSS/Atom 任意订阅源
  • • Reddit 子版块和用户帖子(含评论)
  • • Telegram 公开频道
  • • Twitter/X 特定用户推文(含回复)
  • • GitHub Release 和用户动态

所有源在一个 JSON 文件里配置,支持并发抓取。你还可以通过社区贡献的信源中心(horizon1123.top)发现和导入别人整理好的优质源。

AI 评分——0 到 10 分,只留值得看的

这是 Horizon 和传统 RSS 阅读器最不一样的地方。它接入 Claude、GPT、Gemini、DeepSeek、豆包、MiniMax 以及任何兼容 OpenAI API 的模型,给每条新闻打 0-10 分。默认阈值是 6 分,低于这个分数的内容不会进入日报。

评分不是简单的关键词匹配,而是让 LLM 从「技术价值」「时效性」「可读性」等维度综合判断。想只看精华就调高阈值,想多看点就调低。

跨源去重——同一事件只出现一次

同样一条新闻,可能在 HN、Reddit、RSS 里同时出现。Horizon 会在评分前做去重合并,避免你的日报里同一件事反复出现。看起来简单,但用过 RSS 的人都知道,同一个新闻刷三遍有多烦。

背景补充——看不懂的词自动解释

遇到不熟悉的项目、公司或技术概念,Horizon 会自动搜索网络补充背景信息。比如一篇讲某创业公司融资的新闻,它会在旁边附上一段「这家公司是做什么的」的说明。英文新闻还能自动补全中文解释,降低阅读门槛。

社区声音——不只是新闻,还有讨论

很多新闻的价值不在正文,而在评论区。Horizon 会抓取 Hacker News 和 Reddit 的高赞评论,汇总成一段「社区讨论摘要」。有时候看完这段摘要,比看原文收获还大。

多通道输出——日报送到你习惯的地方

生成好的日报可以通过多种方式送达:

  • • GitHub Pages 自动生成静态站点
  • • 邮件订阅(自托管 SMTP/IMAP,自动处理退订)
  • • 飞书/Lark、钉钉、Slack、Discord 消息推送
  • • 自定义 Webhook
  • • MCP Server(让 AI 助手直接调用 Horizon 的能力)

开发中的功能:自定义评分 Prompt、更多源类型、PyPI 包发布。


技术架构浅析

Horizon 的架构不复杂。

整个流水线可以拆成七步:配置 → 抓取 → 去重 → 评分过滤 → 补充丰富 → 汇总生成 → 分发。每一步都是独立的 Python 模块,通过 orchestrator 串联。

抓取层用的是异步并发,多个源同时拉取,不会因为某个源慢而卡住整体。评分层支持多模型切换,通过统一的 AI Client 封装不同厂商的 API,换模型只需改配置。去重层基于 URL 和标题相似度合并,不是简单的字符串匹配,而是考虑了链接跳转和标题变体。输出层通过插件化设计支持多种通道,新增一种推送方式只需要实现一个 Service 类。

比较有意思的是 MCP 集成。Horizon 把流水线里的每个步骤都暴露成了 MCP Tool,意味着你可以在一个支持 MCP 的 AI 助手(比如 Claude Desktop)里直接说「帮我抓一下 HN 今天的热门故事,评分 7 分以上,生成中文摘要」,Horizon 就会执行对应的步骤并返回结果。这让它不只是一个定时任务工具,还成了一个可被 AI 实时调用的信息基础设施。


快速上手

Horizon 的安装非常简单,两条路:本地或 Docker。

本地安装(推荐用 uv):

git clone https://github.com/Thysrael/Horizon.git
cd Horizon
uv sync

Docker 部署:

cp .env.example .env
cp data/config.example.json data/config.json
# 编辑 .env 填入你的 AI API Key
docker-compose run --rm horizon

配置有两种方式:

  1. 1. 交互式向导(推荐新手):
uv run horizon-wizard

向导会问你的兴趣领域,自动生成配置。

  1. 2. 手动编辑 JSON:
{
  "ai": {
    "provider": "openai",
    "model": "gpt-4",
    "api_key_env": "OPENAI_API_KEY"
  },
  "sources": {
    "rss": [
      { "name": "Simon Willison", "url": "https://simonwillison.net/atom/everything/" }
    ]
  },
  "filtering": {
    "ai_score_threshold": 6.0
  }
}

运行:

uv run horizon           # 抓取最近 24 小时
uv run horizon --hours 48  # 抓取最近 48 小时

生成的报告会保存在 data/summaries/ 目录下。

环境要求:Python ≥ 3.10


写在最后

现在社区有大量的同类型的开源的信息收集、过滤、推送的项目或者是个人开源的web工具。可以多尝试看看哪个是符合你查阅习惯的,不行的话直接让AI帮你复刻一个。

开源地址:https://github.com/Thysrael/Horizon
在线演示:https://thysrael.github.io/Horizon/
官方文档:https://thysrael.github.io/Horizon/configuration

觉得有用的话,点个赞、收藏一下,也欢迎转发给需要的朋友。

有什么想聊的,评论区见。

关注「妙想栈」,每天带你发现 GitHub 上最值得关注的 AI 开源项目。