新闻日报分享
Horizon 项目推荐:用 AI 打造你的个人新闻日报系统
项目地址:https://github.com/Thysrael/Horizon
项目定位:AI-powered news radar,用 AI 构建专属新闻雷达,自动抓取、去重、评分、筛选、补充背景、总结,并生成中英文新闻日报。
适合场景:技术资讯日报、AI 行业追踪、投资/商业情报、开源项目动态、团队知识同步、个人信息流降噪。
一、为什么推荐 Horizon
每天的信息太多,真正值得读的内容太少。新闻网站、RSS、Hacker News、Reddit、Telegram、GitHub、Twitter/X、财经源各自分散,靠人工刷信息流很容易陷入两个问题:看得多但记不住,收藏多但不复盘。
Horizon 的价值在于把“刷新闻”改造成“收日报”。它可以从你指定的信息源抓取内容,用 AI 给每条内容打分,去掉重复和低价值信息,再生成结构化的 Markdown 日报,并推送到 GitHub Pages、邮件、飞书、Slack、Discord 或自定义 Webhook。
它不是普通 RSS 阅读器,也不是简单摘要工具。它更像一个个人化信息管道:
1 | 自定义信源 |
对于需要长期关注技术、AI、金融、开源、产品、行业趋势的人,Horizon 很适合做每天的第一轮信息过滤。
二、Horizon 能做什么
Horizon 的核心能力包括:
- 聚合多个信息源:RSS、Hacker News、Reddit、Telegram、Twitter/X、GitHub、OpenBB 财经新闻。
- AI 打分:用 Claude、OpenAI、Gemini、DeepSeek、豆包、MiniMax、Ollama 或 OpenAI-compatible API 给新闻评分。
- 降噪过滤:只保留达到分数阈值的内容。
- 去重合并:同一事件来自多个平台时,合并为一条更清晰的内容。
- 背景补充:对陌生项目、公司、技术概念补充上下文。
- 评论总结:支持对 Hacker News、Reddit 等社区讨论进行摘要。
- 双语日报:可生成中文和英文日报。
- 多渠道交付:本地 Markdown、GitHub Pages、邮件、飞书、钉钉、Slack、Discord、自定义 Webhook。
- 自动化运行:可用 Docker、uv、本地命令或 GitHub Actions 定时执行。
- MCP 支持:可作为 MCP 工具被 AI 助手调用。
三、主要适用人群
1. AI 与技术从业者
适合关注:
- 大模型新论文
- AI 产品发布
- 推理框架和 Agent 工具
- 开源项目更新
- Hacker News 和 Reddit 技术讨论
如果你每天都要看 AI 新闻、GitHub Trending、论文动态和工程实践,Horizon 可以把信息流变成可读日报。
2. 开发者与技术负责人
适合关注:
- 关键依赖的 GitHub Release
- 语言、框架、数据库、云平台更新
- 安全公告和社区热点
- 技术博客 RSS
- 竞品技术动态
技术负责人可以用它给团队生成每日或每周技术简报,减少“大家各看各的、信息不同步”的问题。
3. 产品经理、创业者与投资研究人员
适合关注:
- 新产品发布
- 行业趋势
- 竞品动态
- 财经新闻
- 社区对产品的真实讨论
Horizon 支持 OpenBB 财经新闻源,也可以用 RSS 和 Twitter/X 跟踪公司、创始人、投资人和行业媒体。
4. 自媒体、Newsletter 作者与研究型写作者
适合用于:
- 每日选题池
- 周报素材整理
- 热点事件背景补充
- 社区评论观点收集
- 多语言内容初稿
它不能替代人的判断,但能显著减少素材筛选时间。
5. 信息过载但又不想错过重点的人
如果你订阅了很多 RSS、Telegram 频道、GitHub 项目和社交账号,却没有稳定阅读节奏,Horizon 很适合做个人信息助理。
四、内容获取能力
Horizon 的内容获取不是简单抓网页,而是围绕“可配置来源”构建。
| 来源 | 获取内容 | 典型用途 |
|---|---|---|
| RSS / Atom | 任意 RSS 或 Atom Feed | 博客、媒体、产品更新 |
| Hacker News | 热门故事和评论 | 技术趋势、创业与工程讨论 |
| Subreddit 帖子和用户发帖 | 社区观点、AI/技术讨论 | |
| Telegram | 公开频道消息 | 快讯、中文社区、行业频道 |
| Twitter / X | 指定用户推文和部分回复 | KOL、创始人、研究员动态 |
| GitHub | 用户活动、仓库 Release | 开源项目追踪 |
| OpenBB | 股票和财经新闻 | 投资研究、公司动态 |
| OSS Insight | GitHub 热门仓库 | 开源趋势发现 |
内容获取建议
不要一开始就加几十个源。最好的方式是先围绕一个主题建立小而准的信源池。
示例:
- AI 技术日报:AI 博客 RSS + Hacker News + Reddit MachineLearning + GitHub Release。
- 开源项目日报:GitHub Release + OSS Insight + 项目作者 Twitter/X。
- 商业情报日报:行业媒体 RSS + OpenBB + 公司博客 + 关键人物动态。
- 中文科技日报:中文 RSS + Telegram 公开频道 + GitHub 热门仓库。
内容源越杂,AI 摘要越容易变成“什么都有,但没有重点”。先做窄,再做宽。
五、项目优点
1. 从信息聚合到信息判断
传统 RSS 工具只负责收集,Horizon 增加了 AI 评分、过滤和摘要,让“读什么”这个问题先被处理一遍。
2. 支持多模型和自定义 API
Horizon 支持 Anthropic Claude、OpenAI、Gemini、DeepSeek、豆包、MiniMax、Ollama,以及 OpenAI-compatible API。你可以按成本、速度、语言能力和隐私需求选择模型。
3. 输出形式实用
生成结果是 Markdown,天然适合保存、发布、二次编辑、进入知识库,也方便通过 GitHub Pages 做成日报站点。
4. 自动化友好
它适合配合 GitHub Actions、cron、Docker Compose 或服务器定时任务,每天自动生成日报。
5. 可控性强
信源、模型、阈值、语言、分类限额、推送方式都可以通过 JSON 配置,不依赖封闭 SaaS。
6. 适合中英文信息流
Horizon 明确支持中英文日报,对国内用户非常友好。你可以用英文源获取一手信息,再生成中文简报。
六、项目缺点
1. 需要 API Key 和模型费用
AI 评分、总结、背景补充都会消耗模型调用。免费模型或本地模型可以降低成本,但质量和速度可能不同。
2. 配置门槛高于普通 RSS 阅读器
你需要理解 .env、data/config.json、信源配置、模型配置和定时运行。对完全不熟悉命令行的用户不算开箱即用。
3. 结果质量依赖信源质量
Horizon 只能帮你筛选信息,不能凭空制造好内容。如果信源低质、重复、标题党多,日报质量也会受影响。
4. AI 判断可能误判
AI 评分不是绝对真理。冷门但重要的内容可能被低估,热门但空泛的内容可能被高估。关键领域仍需要人工校准。
5. 复杂来源可能依赖第三方服务
Twitter/X 需要 Apify,OpenBB 可能涉及额外依赖或数据源凭证。部署前要评估稳定性和成本。
七、部署前准备
推荐环境:
| 项目 | 建议 |
|---|---|
| 操作系统 | Ubuntu 22.04/24.04、Debian 12、macOS、Windows WSL |
| Python | 3.11+ 优先 |
| 包管理 | uv 推荐 |
| 容器 | Docker + Docker Compose |
| 模型 | OpenAI、Claude、Gemini、DeepSeek、Ollama 等 |
| 存储 | 至少保留 data/ 目录 |
你至少需要准备一个可用的 AI API Key。也可以使用 Ollama 本地模型,但日报质量取决于本地模型能力。
八、部署方案一:Docker Compose 部署
Docker 适合服务器、NAS、VPS 和长期自动运行。
第 1 步:安装 Docker
Ubuntu 示例:
1 | sudo apt update |
验证:
1 | docker --version |
第 2 步:下载 Horizon
1 | cd /opt |
第 3 步:复制配置文件
1 | cp .env.example .env |
第 4 步:配置 API Key
编辑 .env:
1 | nano .env |
按你使用的模型填写对应 Key。示例:
1 | OPENAI_API_KEY=sk-your-key |
只需要填写你实际使用的模型。不要把 .env 上传到公开仓库。
第 5 步:配置 data/config.json
编辑:
1 | nano data/config.json |
最小可运行配置示例:
1 | { |
关键说明:
api_key_env填环境变量名,不要直接写真实 Key。ai_score_threshold越高,日报越精简。time_window_hours控制抓取最近多少小时的内容。max_items控制最终日报最多保留多少条。
第 6 步:运行一次日报生成
1 | docker compose run --rm horizon |
生成最近 48 小时内容:
1 | docker compose run --rm horizon --hours 48 |
生成结果会保存到:
1 | data/summaries/ |
第 7 步:查看生成文件
1 | ls -lah data/summaries |
如果生成了 Markdown 文件,说明流程跑通。
第 8 步:设置定时任务
每天早上 8 点运行:
1 | crontab -e |
加入:
1 | 0 8 * * * cd /opt/Horizon && docker compose run --rm horizon >> /opt/Horizon/data/horizon.log 2>&1 |
如果你希望每天生成前 48 小时内容:
1 | 0 8 * * * cd /opt/Horizon && docker compose run --rm horizon --hours 48 >> /opt/Horizon/data/horizon.log 2>&1 |
九、部署方案二:本地 uv 部署
本地 uv 适合个人电脑、开发调试和快速体验。
第 1 步:安装 uv
macOS/Linux:
1 | curl -LsSf https://astral.sh/uv/install.sh | sh |
安装后重启终端,验证:
1 | uv --version |
第 2 步:下载项目
1 | git clone https://github.com/Thysrael/Horizon.git |
第 3 步:安装依赖
1 | uv sync |
如需开发和测试依赖:
1 | uv sync --extra dev |
如需 OpenBB 财经新闻源:
1 | uv sync --extra openbb |
如果 OpenBB 依赖安装困难,可以尝试:
1 | uv pip install --only-binary=:all: openbb openbb-benzinga |
第 4 步:生成配置
推荐使用交互向导:
1 | uv run horizon-wizard |
它会询问你的兴趣方向,例如:
1 | LLM inference |
然后自动生成 data/config.json。
也可以手动复制配置:
1 | cp .env.example .env |
第 5 步:运行
1 | uv run horizon |
抓取最近 48 小时:
1 | uv run horizon --hours 48 |
生成结果仍在:
1 | data/summaries/ |
十、常用配置示例
1. 使用 DeepSeek
.env:
1 | DEEPSEEK_API_KEY=your-deepseek-key |
data/config.json:
1 | { |
2. 使用 Gemini
.env:
1 | GOOGLE_API_KEY=your-gemini-key |
data/config.json:
1 | { |
3. 使用 Ollama 本地模型
先安装并启动 Ollama:
1 | ollama pull llama3.1 |
data/config.json:
1 | { |
本地模型更保护隐私,但摘要质量和速度取决于模型与硬件。
4. 配置 RSS
1 | { |
5. 配置 Hacker News
1 | { |
6. 配置 Reddit
1 | { |
7. 配置 Telegram 公开频道
1 | { |
频道名只写用户名,不写 @,也不写完整链接。
8. 配置 GitHub Release 追踪
1 | { |
适合追踪关键开源项目发布。
9. 设置分类限额
如果你不希望 AI 新闻占满整份日报,可以设置分类限额:
1 | { |
十一、使用教程:从零到每日自动日报
第 1 步:确定日报主题
先回答一个问题:你希望日报帮你追踪什么?
推荐主题:
- AI 技术日报
- 开源项目日报
- 安全研究日报
- 产品与创业日报
- 投资与公司动态日报
- 个人综合阅读日报
主题越明确,日报越有价值。
第 2 步:建立信源清单
建议第一版只放 5-10 个高质量来源。
示例:
1 | OpenAI Blog |
第 3 步:设置评分阈值
建议从 6.0 开始:
1 | { |
如果日报太长,提高到 7.0。如果漏掉太多内容,降低到 5.5。
第 4 步:运行三天观察质量
连续运行三天,看三个指标:
- 是否经常出现低价值内容
- 是否漏掉你认为重要的内容
- 是否某个来源贡献过多噪声
根据结果调整信源和阈值。
第 5 步:开启自动化
个人使用推荐:
- 本机:cron + uv
- 服务器:cron + Docker Compose
- 想生成公开网页:GitHub Actions + GitHub Pages
第 6 步:建立阅读闭环
每天不要只生成日报,还要有处理动作:
- 值得精读:加入阅读列表
- 值得实践:加入任务管理
- 值得分享:加入周报素材
- 不感兴趣:调低相关来源或分类权重
- 重复噪声:删除或替换信源
Horizon 的价值不在“生成了一份日报”,而在帮你形成长期稳定的信息筛选系统。
十二、推送与发布
1. GitHub Pages
适合把日报发布成一个静态站点。典型流程:
1 | GitHub Actions 定时运行 |
适合公开技术日报、团队内部知识站或个人信息流归档。
2. 邮件日报
Horizon 支持 SMTP 发送邮件,也可以通过 IMAP 处理订阅和退订。
适合:
- 发给自己
- 发给团队
- 做内部 Newsletter
注意:
- 使用邮箱应用专用密码,不要使用主密码。
- 收件人列表属于敏感信息,应妥善保存。
- 大量发送要注意邮件服务商限制。
3. Webhook 推送
支持飞书/Lark、钉钉、Slack、Discord 和自定义 Webhook。
适合:
- 团队群每日晨报
- 重要新闻即时推送
- 自动化工作流触发
建议只推送摘要,不要把长文全部塞进聊天群。
十三、内容质量优化方法
1. 信源少而精
最常见错误是加太多来源。日报不是搜索引擎索引,目标是减少噪声。
2. 给来源设置分类
给 RSS、OpenBB 等来源设置 category,后续才能用分类限额控制结构。
3. 用阈值控制阅读量
普通日报建议:
1 | ai_score_threshold: 6.0-7.0 |
高强度研究可以放宽到 30 条,但不建议无限制。
4. 分主题运行多份日报
不要把 AI、财经、安全、产品、生活资讯全塞进一份日报。可以建立多个配置文件或多个项目副本,分别生成。
5. 定期清理低质量来源
每周检查一次:
- 哪些来源贡献了高分内容
- 哪些来源经常重复
- 哪些来源标题党多
- 哪些来源已经停更
十四、注意事项
- 不要把 API Key 写进
data/config.json,应写在.env。 - 不要把
.env提交到公开 GitHub 仓库。 - 使用 GitHub Actions 时,应把 Key 放在 GitHub Secrets。
- Twitter/X 抓取依赖 Apify,注意额度和合规。
- Telegram 只支持公开频道,不适合私密群和受限内容。
- AI 摘要可能出错,关键决策前要阅读原文。
- 免费模型可能有速率限制,必要时设置
throttle_sec。 - 模型并发不要盲目调高,避免触发限流或产生高额账单。
- 生成公开日报时,注意不要包含私人 RSS、内部链接或付费内容。
- 团队使用时,应说明日报是 AI 辅助筛选,不是最终事实来源。
十五、备份与维护
建议备份:
.envdata/config.jsondata/summaries/data/subscribers.json- 自定义脚本和 GitHub Actions 配置
备份命令:
1 | cd /opt |
升级:
1 | cd /opt/Horizon |
本地 uv 升级:
1 | cd Horizon |
升级后检查:
- 是否能正常读取
.env data/config.json是否兼容新版本- 是否能成功生成日报
- 推送渠道是否正常
- API 费用和调用量是否异常
十六、常见问题
1. 运行后没有生成日报怎么办
先检查:
1 | docker compose run --rm horizon |
或:
1 | uv run horizon |
重点看报错是否来自:
- API Key 缺失
- 模型名称错误
- RSS 地址不可访问
- JSON 格式错误
- 网络无法访问外部来源
2. 日报内容太多怎么办
提高阈值:
1 | { |
也可以减少源数量。
3. 日报内容太少怎么办
降低阈值:
1 | { |
也可以增加高质量 RSS 或扩大时间窗口。
4. 模型调用太贵怎么办
可以:
- 降低信源数量
- 降低
max_items - 提高
ai_score_threshold - 关闭不必要的背景补充
- 使用更便宜的模型
- 使用本地 Ollama
5. 可以完全自动发布公开日报吗
可以,但要先确认内容版权、隐私和 API Key 安全。公开日报建议只保留摘要、链接和个人评论,不要大段复制原文。
6. 适合普通用户吗
如果你不熟悉命令行,初次配置会有门槛。但只要跑通一次,后续主要是维护信源和阈值。它更适合愿意折腾一点、追求信息质量的人。
十七、结论
Horizon 是一个很适合长期使用的 AI 新闻日报工具。它把信息获取、AI 筛选、内容摘要、背景补充和多渠道推送串成了一条完整管道,尤其适合技术人、研究者、产品经理、创业者、投资研究人员和 Newsletter 作者。
它最大的价值不是“帮你看完所有新闻”,而是帮你减少低价值信息,把注意力留给真正值得读的内容。
推荐使用方式是:先用 5-10 个高质量来源跑通一份小日报,设置 ai_score_threshold 和 max_items 控制长度,连续观察几天后再扩展来源。部署上优先选择 Docker Compose 或 uv;发布上优先从本地 Markdown 开始,稳定后再接入 GitHub Pages、邮件或团队 Webhook。
如果你每天都被信息流追着跑,Horizon 值得成为你的第一道新闻过滤器。
参考资料
- Horizon GitHub:https://github.com/Thysrael/Horizon
- Horizon 配置文档:https://thysrael.github.io/Horizon/configuration.html
- Horizon 在线示例:https://thysrael.github.io/Horizon/
- Docker 官方文档:https://docs.docker.com/engine/install/
- uv 官方文档:https://docs.astral.sh/uv/
