Horizon 是什么?

Horizon 是可自托管的 AI 新闻雷达。它从 RSS、Hacker News、Reddit、Telegram、X、GitHub、OpenBB 等来源取数,按 profile 评分、过滤、去重和补充背景,再生成中英文 Markdown 简报并投递到 Pages、邮件、微信或 webhook。

⭐ 7,834 Stars 🍴 1,126 Forks Python MIT 作者: Thysrael
来源:github.com/Thysrael/Horizon/blob/main/README.md 查看 GitHub 仓库 → 📘 使用教程 →

为什么值得关注

Horizon 把信息源、筛选标准、篇幅配额和交付渠道放进一套可自托管流程,并提供向导、Docker、MCP 和禁用状态的 GitHub Actions 模板,减少从零拼接每日简报的工作。

来源:github.com/Thysrael/Horizon/blob/main/README.md

核心功能

多来源统一采集

官方列出的来源包括 Hacker News、RSS/Atom、Reddit、Telegram、X、GitHub、OpenBB、OSS Insight、GDELT 和 Google News。

来源:github.com/Thysrael/Horizon/blob/main/README.md;https://github.com/Th…
Profile 驱动筛选

每条内容进入一个 profile,按该 profile 的评分标准、阈值和去重设置处理;还可限制简报总条数与各类别配额。

来源:github.com/Thysrael/Horizon/blob/main/README.md;https://github.com/Th…
多渠道简报

管线能生成中英文 Markdown,并发布到 GitHub Pages、邮件、微信和 webhook;MCP 接口可让兼容客户端分阶段调用管线。

来源:github.com/Thysrael/Horizon/blob/main/README.md;https://github.com/Th…

技术架构

来源先经过抓取,再按 profile 分析、过滤和去重,入选项目随后补充正文、背景或讨论,最后按 profile 分组生成简报。CLI 可跑完整流程;MCP server 将阶段和产物暴露给客户端。运行状态、摘要和订阅数据由 data-dir 控制,默认摘要写入 data/summaries。

来源:github.com/Thysrael/Horizon/blob/main/README.md;https://github.com/Th…

项目知识图谱

知识图谱:项目核心节点(中心)+ 核心功能(内环六边形)+ 关键技术依赖(外环 chip) OpenAI / Anthropic / Google GenAI 客户端OpenAI / Anthr… trafilatura ddgs tenacity 可选 OpenBB 和 Playwright可选 OpenBB 和… 多来源统一采集 Profile 驱动筛选 多渠道简报 Horizon 项目本体 核心功能 关键依赖

技术栈

语言Python 3.11+框架Pydantic、httpx、feedparser、MCP
OpenAI / Anthropic / Google GenAI 客户端trafilaturaddgstenacity可选 OpenBB 和 Playwright
uv 或 editable pip 安装;Docker Compose;可选 GitHub Actions、Pages、SMTP/IMAP、webhook
来源:github.com/Thysrael/Horizon/blob/main/pyproject.toml;https://github.c…

快速上手

准备 Python 3.11+ 和 uv,克隆仓库后执行 uv sync。运行 uv run horizon-wizard 生成 data/config.json,真实 API key 放进 .env,并让配置只引用变量名。随后用 uv run horizon --hours 24 生成一次简报,输出默认在 data/summaries。先选少量公开 RSS 源和较短时间窗,检查 profile、阈值、重复项与模型用量,再启用邮件、微信或 webhook。
来源:github.com/Thysrael/Horizon/blob/main/README.md;https://github.com/Th…

使用场景

适合制作按个人兴趣筛选的每日技术简报、团队信息源汇总和可供 Agent 读取的阶段化新闻流程。它按时间窗批处理,不是实时新闻终端。涉及私有 RSS、邮件订阅或 webhook 时,应限制配置、状态目录和日志的访问权限。

来源:github.com/Thysrael/Horizon/blob/main/README.md;https://github.com/Th…

优势与局限

优势

  • 从采集、评分、去重到生成和投递的完整链路
  • profile 可分别定义不同内容的筛选和写法
  • 支持 CLI、Docker、GitHub Actions 模板及 MCP 分阶段调用
  • 可从公开 RSS 小规模起步

局限

  • 没有正式 GitHub Release,PyPI 发布也仍在计划中
  • pyproject 版本 0.1.0 只是源码包元数据,安装来自当前仓库分支
  • 模型评分和摘要会误判,需要抽查原文与调阈值
  • 各来源受 API、抓取规则、速率限制和平台条款约束
  • X 的可选 extra 还需要 Playwright 浏览器和系统包,当前 Dockerfile 不安装这些
  • 本轮没有安装或运行管线
来源:github.com/Thysrael/Horizon/releases;https://github.com/Thysrael/Hori…

最新版本

截至 2026-09-23,Horizon 没有 GitHub Release。源码 pyproject.toml 的版本为 0.1.0、要求 Python 3.11+;README 明确把发布 Releases 与 PyPI 包列在后续计划中。部署时应固定经过审核的 commit,不要把 0.1.0 当作已发布的稳定包。

来源:github.com/Thysrael/Horizon/releases;https://github.com/Thysrael/Hori…

实测与证据

status: official_docs_checked_not_run  |  checked_at: 2026-09-23  |  environment: 核对官方 README、pyproject.toml、配置文档、scrapers 文档、MCP 文档与 GitHub Releases  |  limitations: 未克隆或安装仓库、未填写 API key、未抓取任何来源、未调用模型、未发送简报或 webhook  |  observed_output: pyproject 声明 0.1.0 和 Python >=3.11;README 给出 uv sync、horizon-wizard、uv run horizon,并明确 GitHub Release 与 PyPI 发布仍属计划项

来源:github.com/Thysrael/Horizon/blob/main/pyproject.toml;https://github.c…

同类项目对比

RSSHub 官方定位是把大量网站内容转换成可订阅的 RSS 路由,重点在来源接入和 feed 输出。Horizon 消费 RSS 及其他来源,再做模型评分、去重、背景补全、双语生成和多渠道投递。需要为不提供 feed 的网站生成订阅源时先看 RSSHub;已有来源并想生成按个人标准筛选的简报时,Horizon 的流程更直接。

来源:github.com/DIYgod/RSSHub;https://github.com/Thysrael/Horizon/blob/mai…

总结评价

Horizon 适合愿意自己维护模型 key、来源和筛选规则的读者。先用少量公开 RSS 跑一次 24 小时窗口,核对保留与漏掉的条目,再决定是否接入更多平台和自动投递。

来源:github.com/Thysrael/Horizon/blob/main/README.md;https://github.com/Th…

常见问题

Horizon 0.1.0 是正式发行版吗?

不是。0.1.0 来自 pyproject.toml,官方 README 仍把发布 GitHub Release 和 PyPI 包列为计划项;当前应从仓库安装并固定 commit。

Horizon 的 API key 应该写进 config.json 吗?

不应写入真实值。官方配置让 api_key_env 保存环境变量名,真实 key 放在 .env;私有 feed 和 webhook 也可用变量引用。

Horizon 的 Twitter/X 来源能直接在现有 Dockerfile 里运行吗?

不能保证。官方 README 说明 twitter extra 还需要 Playwright 浏览器和系统包,而当前 Dockerfile 没有安装它们。

Horizon 自带的每日 GitHub Actions 会自动启用吗?

不会。模板文件默认禁用,需要先配置 secrets 和权限,再按 README 改名启用;启用前应先在本地小范围验证。

资料与核验范围
本文依据项目公开资料整理。版本、安装命令和功能边界可能随上游更新,请以所列来源和项目当前版本为准。 资料核对时间: 2026-09-23 13:55.

参考材料:README、GitHub API、依赖文件