Horizon 是什么?

Horizon 是一个用 Python 写的、可自托管的「AI 新闻雷达」:用一份 JSON 配置,把 Hacker News、Reddit、Telegram、RSS、Twitter/X、GitHub、OpenBB 等信息源汇成一条流水线——抓取 → 去重合并 → AI 打分过滤 → 补全背景与社区讨论 → 生成中英双语 Markdown 日报 → 分发到 GitHub Pages、邮件、飞书/钉钉/Slack/Discord webhook、MCP 或本地文件。它的定位不是「又一个摘要工具」,而是强调保留「人的品味」:你自己选信息源、定阈值、选模型语言和分发方式。常见用法是挂在 GitHub Actions 上每天定时跑。MIT 许可,中文项目(作者 Thysrael,含中英双 README)。

⭐ 4,685 Stars 🍴 644 Forks Python MIT 作者: Thysrael
来源:README_zh.md 为什么/工作原理/功能特性;pyproject.toml name=horizon 查看 GitHub 仓库 →

为什么值得关注

上线约三个月即超过 4.4k 星、621 fork,并被 HelloGitHub 收录推荐。热度来自它精准命中「信息过载」这一普遍痛点,并给出一个完成度很高、可白嫖(GitHub Actions + 自己的模型 key)的自托管方案:多源聚合 + AI 打分 + 双语日报 + 多渠道分发,配置即用、交互式向导上手快。作为中文作者作品且支持豆包/MiniMax/DeepSeek 等国产模型,对中文开发者尤其友好,传播自然顺畅。

来源:GitHub 4,488 stars / 621 forks,created 2026-02-20;README HelloGitHub 徽章/向导

核心功能

多源聚合到同一条 pipeline

把 Hacker News、RSS、Reddit、Telegram、Twitter/X、GitHub Release/用户动态、OpenBB 金融新闻观察列表纳入统一抓取流程,并发拉取最新内容。

来源:README 功能特性/工作原理;src/scrapers
AI 打分过滤 + 去重合并

用 Claude/GPT/Gemini/DeepSeek/豆包/MiniMax 或任意 OpenAI 兼容 API 为每条内容打 0-10 分、按阈值过滤;并在生成日报前自动合并不同平台指向同一故事/URL 的重复新闻。

来源:README 功能特性(评分/去重);src/ai、src/orchestrator.py
背景补全与社区声音

对陌生概念、公司、项目、术语用网络搜索(ddgs)补背景解释;并收集、总结 Hacker News、Reddit 等来源的评论讨论,让日报不止有标题摘要。

来源:README 功能特性(补全背景/社区声音);src/search.py、pyproject deps ddgs/beautifulsoup4
中英双语日报 + 多渠道分发

基于同一组源生成英文与中文日报;输出可发布为 GitHub Pages 静态站点、通过自托管 SMTP/IMAP 邮件列表分发(自动处理订阅/退订)、推送到飞书/钉钉/Slack/Discord/自定义 Webhook、暴露为 MCP,或落本地文件。

来源:README 功能特性/工作原理 outputs;src/mcp、src/services
配置驱动 + 交互式向导

所有信息源、阈值、模型、语言、分发都集中在一个 JSON 配置里,字符串值可用 ${VAR} 引用环境变量;`horizon-wizard` 交互式向导按你的兴趣(如 LLM 推理、嵌入式、web 安全)自动推荐并生成 config.json,还可让 AI 补充小众源。

来源:README 快速开始/配置;src/setup

技术架构

Python 3.11+ 项目,用 uv 管理依赖。代码按管线阶段清晰分层:src/scrapers 各信息源抓取器,src/ai 负责打分/总结的 LLM 调用,src/search.py 做背景补全检索,src/orchestrator.py 串起「抓取→去重→打分过滤→丰富→总结→分发」全流程,src/services 实现各分发渠道(Pages/邮件/webhook),src/storage 落盘日报到 data/summaries,src/mcp 把结果暴露为 MCP server,src/setup 提供交互式配置向导,models.py 用 pydantic 定义数据模型。运行入口 src/main.py(horizon CLI,支持 --hours 时间窗)。部署上提供 Dockerfile + docker-compose,并自带 GitHub Actions 工作流(daily-summary.yml)做定时生成 + 部署 Pages,是典型的「配置即应用、CI 即运行时」无服务器自托管形态。

来源:tree(src/{scrapers,ai,services,storage,mcp,setup}、orchestrator.py、main.py);pyproject.toml;README 自动化

项目知识图谱

知识图谱:项目核心节点(中心)+ 核心功能(内环六边形)+ 关键技术依赖(外环 chip) httpx feedparser anthropic / openai / google-genai (多 LLM)anthropic / op… pydantic rich 多源聚合到同一条 pipeline多源聚合到同一条 pipe… AI 打分过滤 + 去重合并 背景补全与社区声音 中英双语日报 + 多渠道分发中英双语日报 + 多渠道… 配置驱动 + 交互式向导 Horizon 项目本体 核心功能 关键依赖

中心为项目本体,内环 = 核心功能模块,外环 = 关键技术依赖;按 deep.json 中的 core_features 与 tech_stack.key_deps 自动生成

技术栈

语言Python (>=3.11)框架自研管线(无重型框架)+ pydantic 数据模型
httpxfeedparseranthropic / openai / google-genai (多…pydanticrichtenacity (重试)ddgs (搜索) / beautifulsoup4mcpopenbb / openbb-benzinga (可选金融源)uv (依赖管理)
自托管:本地/Docker(compose) 运行;推荐挂 GitHub Actions 定时任务并部署 GitHub Pages;分发支持 SMTP/IMAP 邮件、各类 webhook、MCP
来源:pyproject.toml dependencies;README 快速开始/自动化

快速上手

本地:`git clone` 后 `uv sync`(开发依赖加 `--extra dev`,金融源加 `--extra openbb`),或 `pip install -e .`。配置推荐用向导 `uv run horizon-wizard`(按兴趣生成 data/config.json),或手动 `cp .env.example .env` + `cp data/config.example.json data/config.json` 填 API key 与信息源(config 里可用 ${VAR} 引用环境变量)。运行 `uv run horizon`(默认 24h 窗口,`--hours 48` 可调),日报落在 data/summaries/。Docker:`docker compose run --rm horizon`。自动化:用自带的 .github/workflows/daily-summary.yml 定时跑并部署到 Pages。
来源:README_zh.md 快速开始/运行/自动化

使用场景

适合:①被多平台信息轰炸、想要一份按自己口味筛选的每日简报的开发者/研究者;②想用 GitHub Actions + 自己的模型 key 零成本搭一个个人新闻站/邮件简报的人;③需要中英双语日报、或想接国产模型(豆包/MiniMax/DeepSeek)的中文用户;④想把筛选后的资讯通过 MCP 喂给自己 agent 的人。不适合:要求实时新闻流(它是按时间窗批处理的日报)、或不愿意维护配置与模型 key、想要纯托管零配置产品的用户。

来源:README 为什么/功能特性,结合定位推断

优势与局限

优势

  • 完成度高且实用:多源抓取→去重→AI 打分→背景补全→双语日报→多渠道分发,端到端一条龙
  • 可白嫖、易自托管:uv/Docker 一键起,配 GitHub Actions + Pages 即可零服务器成本运行
  • 模型与渠道开放:兼容 Claude/GPT/Gemini/DeepSeek/豆包/MiniMax 等及任意 OpenAI 兼容 API,分发覆盖 Pages/邮件/飞书/钉钉/Slack/Discord/MCP
  • 理念清晰:强调保留用户对信息源与品味的控制,配置驱动 + 交互式向导降低上手门槛
  • 工程整洁:管线分层清晰、pydantic 建模、tenacity 重试,且中英双语文档与 CI 齐备

局限

  • AI 打分质量依赖所选模型与提示,阈值需自己调,存在误杀好内容或放过噪声的可能
  • 信息源接入各有合规/反爬限制(如 Twitter/X、Telegram、Reddit),抓取稳定性与可持续性受平台政策影响
  • 运行成本由用户承担:每天对大量条目打分/总结会消耗模型额度,OpenBB 等可选依赖安装也可能踩 wheel 坑
  • 是批处理日报而非实时流,时效性受抓取窗口限制
  • 尚无正式 Release,仍处早期高频迭代(虽更新活跃),配置项较多、个性化调校有一定学习成本
来源:README 快速开始/功能特性 + pyproject + 信息源性质推断

最新版本

仓库尚无正式 GitHub Release,以主分支持续滚动维护,提交活跃(最近 push 2026-05-22),并通过 GitHub Actions 每日生成日报、部署到 thysrael.github.io/Horizon 在线演示。处于早期但高频迭代阶段。

来源:GitHub 无 releases;pushed_at 2026-05-22;README 在线演示/CI 徽章

总结评价

Horizon 把「个人信息过载」这件事做成了一个完成度相当高、且可零成本自托管的开源方案:多源聚合、AI 打分、背景补全、中英双语日报、再到 Pages/邮件/IM/MCP 多渠道分发,端到端都通了,理念上又坚持把信息源选择权留给用户,对开发者很对胃口,也难怪三个月冲到 4.4k 星并被 HelloGitHub 推荐。它的局限主要是「依赖你自己调」:打分质量、源的稳定性、模型成本都要使用者承担,且是日报式批处理而非实时。如果你愿意花点时间配置和维护,它是目前个人 AI 新闻简报里很值得用的一个;想要零配置托管产品的人则不适合。

来源:综合 README 定位/工作原理、tree 工程结构、迭代状态的事实判断
透明度声明
本页内容由 AI(大语言模型)基于以下公开材料自动生成:GitHub README、代码目录结构、依赖文件、Release 信息。 分析时间: 2026-05-22 17:47. 质量评分: 100/100.

数据来源:README、GitHub API、依赖文件