信息过载终结者!用 AI 给自己定制一套每日科技简报,全球动态一网打尽

每天早上打开手机,Hacker News、Reddit、GitHub、Twitter 各种信息流扑面而来,刷了一个小时却感觉什么都没学到——这个场景你一定熟悉。
碎片化信息正在把我们的注意力稀释到极致。真正的问题不是信息太少,而是噪音太多、过滤成本太高。

今天介绍一个开发者亲手打造的解决方案:Horizon,一款完全开源、可本地运行的 AI 个人新闻雷达,它能替你"盯着"全球科技圈,每天自动生成一份干货满满的中英双语简报,精准过滤掉所有低质量内容。
🔗 项目地址:https://github.com/Thysrael/Horizon
信息过载的本质:不是内容太多,而是过滤太贵
程序员每天面临的信息洪流大概长这样:
- Hacker News 首页平均每小时新增 10+ 帖子,其中真正值得看的可能只有 1-2 条
- Reddit 各技术社区每天产出成百上千的讨论,充满跟风、重复和水文
- GitHub Trending 每天轮换,但每周都有"五年前的项目翻红"的情况
传统的 RSS 聚合器只解决了"订阅"问题,没有解决"过滤"问题。你把所有源都加进去,收件箱反而更满了。
Horizon 的思路不同:先用 AI 打分过滤,再推送到你手中。只有质量够高的内容才能"存活"下来进入你的视野。
Horizon 是什么:核心能力速览
Horizon 的完整名称是"AI-Powered Personal News Radar",它的工作链条可以用五个词概括:
采集 → 去重 → AI 打分 → 背景补充 → 分发
支持的数据源
| 数据源类型 | 具体平台 |
|---|---|
| 技术社区 | Hacker News、Reddit |
| 内容订阅 | RSS / Atom 任意源 |
| 社交平台 | Twitter/X、Telegram 频道 |
| 代码托管 | GitHub Trending、GitHub Release 通知 |
这些数据源都可以通过配置文件灵活开启/关闭,完全按自己的"信息品味"定制。
六大核心能力
① AI 打分过滤
这是 Horizon 的灵魂功能。每条抓取到的资讯,都会被送入大模型进行 0-10 分的质量评估。你可以设定过滤阈值(如"只保留 6 分以上"),低分内容直接丢弃,不浪费你一秒注意力。
目前支持的模型:Claude、GPT-4、Gemini、DeepSeek,通过 API Key 接入即可。
② 社区精华评论提取
Hacker News 和 Reddit 的评论区往往比正文更有价值——有大佬纠偏、有一线实践经验分享。Horizon 会自动抓取高赞评论,提炼其中的技术干货,附在每条资讯后面。
③ 自动背景知识补充
碰到一个陌生的开源项目、新技术术语或不熟悉的公司,Horizon 会自动联网查询并附上背景介绍,让你读简报的时候不再需要反复打开新标签搜索。
④ 全网智能去重
同一个消息在 Hacker News、Reddit、Twitter 上同时刷屏是常态。Horizon 会识别跨平台的重复内容并自动合并,你只会看到一次,附上所有平台的讨论摘要。
⑤ 中英双语日报
Horizon 生成的日报同时提供中文版和英文版,对于英文技术内容有一定阅读障碍的同学特别友好,也方便分享给不同语言背景的团队成员。
⑥ 多渠道一键分发
日报生成后,可以自动推送到:飞书机器人、钉钉群、邮箱、微信(通过 Webhook)、GitHub Pages(自动托管为网页)。

技术架构解析:为什么 Python + Pydantic v2?
Horizon 基于 Python 3.11+ 构建,使用 uv 作为包管理器,主要依赖包括:
pydantic v2 # 数据模型验证
httpx # 异步 HTTP 客户端
jinja2 # 日报模板渲染
feedparser # RSS/Atom 解析
选择 Pydantic v2 的原因很实际:它提供了极强的数据结构约束能力,能在数据流的每个环节做类型校验,保证从各个乱糟糟的数据源拿到的原始内容,都能被规范化成统一的数据模型再进行后续处理。配合 httpx 的异步支持,多个数据源的抓取任务可以并行执行,大幅缩短每次运行时间。
整体架构是高度模块化的插件式设计:每个数据源是一个独立的 Fetcher 模块,每种分发渠道是一个独立的 Publisher 模块,AI 评分是可替换的 Scorer 模块。这意味着如果你想加一个新数据源(比如 V2EX),只需要实现一个新的 Fetcher 类,不需要动核心逻辑。
快速上手:三种运行方式
方式一:本地运行(开发调试推荐)
# 克隆仓库
git clone https://github.com/Thysrael/Horizon.git
cd Horizon
# 使用 uv 安装依赖(uv 比 pip 快 10-100x)
uv sync
# 复制环境变量模板并填入 API Key
cp .env.example .env
# 编辑 .env,填入你的 AI API Key
# 运行交互式配置向导
uv run horizon-wizard
# 启动
uv run horizon
第一次运行 horizon-wizard 时,它会用问答式引导你完成数据源配置:选择想订阅哪些平台、设定 AI 打分阈值、选择日报推送渠道等。
配置完成后,运行 uv run horizon 即可生成第一份日报。
方式二:GitHub Actions 全自动定时运行(推荐!无需服务器)
这是最优雅的方式:Fork 项目到自己的 GitHub 账号,利用 GitHub Actions 每天定时触发,生成的日报自动发布到 GitHub Pages。完全免费,零维护成本。
配置步骤:
1. Fork 仓库到你的 GitHub 账号
2. 进入 Settings → Secrets and variables → Actions,添加以下 Secret:
OPENAI_API_KEY=sk-your-key-here # 或其他模型的 API Key
FEISHU_WEBHOOK=https://open.feishu... # 如需飞书推送
EMAIL_SMTP_PASS=your-smtp-password # 如需邮件推送
3. 在仓库根目录的 config/sources.json 中配置你想订阅的数据源
4. Actions 会按照仓库中预设的 cron 时间(默认每天早 8 点 UTC+8)自动运行
每次运行完成后,日报会自动推送到你配置的渠道,同时在 gh-pages 分支生成一个可访问的网页版归档。
方式三:Docker 部署(团队共享)
如果想给团队搭一个共享的新闻雷达,Docker 是最省心的选择:
# 构建镜像
docker build -t horizon .
# 运行
docker run -d \
-e OPENAI_API_KEY=sk-your-key \
-e FEISHU_WEBHOOK=https://open.feishu... \
-v $(pwd)/config:/app/config \
horizon
配置详解:打造专属的信息品味
Horizon 的配置文件是纯 JSON 格式,存放在 config/ 目录下,结构清晰。
数据源配置示例
{
"sources": [
{
"type": "hackernews",
"enabled": true,
"max_items": 30,
"score_threshold": 6.5
},
{
"type": "rss",
"url": "https://feeds.feedburner.com/ThePragmaticEngineer",
"enabled": true,
"score_threshold": 7.0
},
{
"type": "github_trending",
"language": "python",
"enabled": true,
"score_threshold": 6.0
}
]
}
score_threshold 是每个源独立的过滤阈值,可以对不同数据源设置不同的严格程度。比如 HN 内容参差不齐可以设低一点,The Pragmatic Engineer 这种高质量 Newsletter 可以设高一点。
AI 评分配置
{
"ai": {
"provider": "openai",
"model": "gpt-4o-mini",
"scoring_prompt": "请评估以下技术内容对一名后端工程师的价值,满分10分...",
"max_tokens": 200
}
}
Scoring Prompt 是可以完全自定义的!你可以把自己的兴趣偏好、技术栈、职业方向写进去,让 AI 根据你的"个人品味"打分,而不是泛泛的通用标准。
实际效果:一份日报长什么样
以 GitHub Actions 自动生成的日报为例,每份日报包含:
1. 今日要闻(3-5 条):AI 评分最高的内容,附带一句话摘要和 HN/Reddit 精华评论
2. 开源项目推荐(2-3 个):GitHub Trending 上值得关注的新项目,含 Star 数、语言、简介
3. 技术讨论精选(3-5 条):社区里有深度的技术讨论,不一定是新鲜资讯,但值得阅读
4. 背景词汇表:当日简报中出现的陌生术语/项目的简短注释
整份日报读完大约 10-15 分钟,是一个合适的"早间科技早餐"量。
排坑指南
Q:API 费用会不会很高?
A:取决于配置。如果用 GPT-4o-mini 且数据源不多,每天的 Token 消耗非常有限,大约 1-2 美分/天。换用 DeepSeek 甚至更便宜,API 价格只有 GPT-4o-mini 的 1/10 左右。也可以选择每天定时运行一次而非实时运行,进一步控制成本。
Q:GitHub Actions 有分钟数限制吗?
A:对于公开仓库,GitHub Actions 完全免费无限制。私有仓库每月有 2000 分钟免费额度,Horizon 每次运行通常在 3-5 分钟内完成,每月 30 次约消耗 90-150 分钟,远低于限制。
Q:数据源抓取会被限流吗?
A:HN 和 RSS 是公开 API,基本没有限流问题。Reddit 的 API 有速率限制,Horizon 内置了请求间隔控制。Twitter/X 的 API 近期变化较大,免费版有一定限制,建议参考项目 Issues 查看最新状态。
Q:能添加中文数据源吗?
A:技术上完全可以,只要该源有 RSS Feed 或可爬取的 API 接口,就能作为数据源接入。作者在 README 的 Roadmap 里也提到了对国内平台的支持计划。
为什么不直接用现成的信息聚合产品?
市面上确实有 Feedly、Readwise Reader、Inoreader 等商业产品,它们的体验也不错。Horizon 的差异化优势在于:
| 对比维度 | Horizon | 商业产品 |
|---|---|---|
| AI 打分阈值 | 完全自定义 | 算法黑盒 |
| Prompt 个性化 | 可按技术栈调整 | 不支持 |
| HN 评论提取 | 内置支持 | 通常不支持 |
| 数据隐私 | 本地处理,无数据上传 | 云端处理 |
| 成本 | AI API 费用(极低) | 订阅费 $7-15/月 |
| 可扩展性 | 开源,自由添加数据源 | 受限 |
如果你是一个有动手能力、在意数据隐私、有个性化信息需求的开发者,Horizon 值得一试。
总结
信息过载是这个时代每个技术人都面临的挑战。Horizon 给出了一个务实的工程化解答:不是减少订阅,而是用 AI 提升过滤精度。
它的核心价值链条清晰:多源采集 → 智能去重 → AI 严格把关 → 干货提炼 → 定时推送。通过 GitHub Actions 部署后,真正做到了"零运维、全自动",每天早上只需打开简报,而不需要费神去刷各种平台。
对于每天需要跟进技术动态的工程师、架构师、技术管理者来说,这类工具的价值不在于它帮你"省了 10 分钟",而在于它帮你从根本上改变了信息获取的姿态——从被动接收转变为主动过滤。
项目地址:https://github.com/Thysrael/Horizon
如果觉得有用,给作者点个 Star 支持一下!

长按二维码关注 “边学边练”