🧭 决策指南
为什么现在热: 无法从材料判断
适合,如果你
-
你需要把 RSS、Hacker News、Reddit、Telegram、X 和 GitHub 汇总到每日简报。README 的 Supported Sources 列出这些来源,Why Horizon? 说明项目会收集、过滤和去重内容。
-
你希望用 Profiles 为新闻和工程深度内容分别设置评分标准与输出方式。README 的 Why Horizon? 和 How It Works? 说明每个项目进入一个 Profile,并在 Profile 中定义处理方式。
-
你要用 Python CLI 或 Docker 生成中英 Markdown,并发送到 Pages、邮件或 webhook。README 的 Quick Start 提供 uv run horizon 和 docker compose run 命令,Features 列出 Pages、email 和 webhook。
-
你希望让 AI assistant 通过 MCP 配置来源、修改 Profiles 并运行 Horizon。README 的 Agent Skill 提供 npx skills add 命令,How It Works? 说明 AI assistant 可通过 MCP 调用各阶段。
不适合,如果你
-
你的部署必须直接使用 Twitter extra,但无法安装 Playwright 浏览器和系统依赖。Quick Start 的 Docker 说明明确指出 Twitter extra 需要 Playwright 浏览器和系统包,而当前 Dockerfile 不安装它们。
-
你需要稳定的正式版本和 PyPI 安装,但当前项目没有 Releases,PyPI 发布仍列为计划。项目元数据显示版本发布为 0 个;Project Status 将 Publish the package to PyPI for pip install 列为 Planned improvements。
-
你需要 Discord 作为现成来源,而不是自行扩展来源类型。Project Status 将 More source types, such as Discord 列为计划改进,Supported Sources 表中没有 Discord。
前置条件
- 本地安装可使用 uv sync 或 pip install -e .;README 将 uv 标为 recommended。
- Docker 运行需要 Docker Compose 命令 docker compose run --rm horizon [OPTIONS]。
- Agent Skill 的 npx skills add 命令要求 Node.js 22.20+。
- 启用 OpenBB 金融新闻来源需要 uv sync --extra openbb。
- 启用开发依赖和 pytest 需要 uv sync --extra dev。
第一步命令(README 原文)
git clone https://github.com/Thysrael/Horizon.git
要注意
-
设置 --data-dir 会改变 summaries、subscribers 和默认配置位置。Quick Start 的 Run 章节说明 --data-dir 会改变 state directory,并将报告保存到 data/summaries/ 或 /summaries/。
-
只设置 --config 不会改变 data directory,只会改变配置文件位置。Quick Start 的 Run 章节明确区分 --config 与 --data-dir 的作用。
-
GitHub Actions 模板文件名带 .disabled,直接部署不会自动运行。README 的 Automate 章节要求配置 daily-summary.yml.disabled,并重命名为 daily-summary.yml 才能启用。
-
OpenBB 无 wheel 时,README 给出的处理命令是 uv pip install --only-binary=:all: openbb openbb-benzinga。Quick Start 的 OpenBB 安装说明直接提供了该命令。
材料未说明
- README 未说明所需 Python 版本。
- README 未列出所需 AI 模型、模型供应商、API 密钥配置和调用成本。
- README 未说明各数据源的认证限制、速率限制和失败重试策略。
- README 未给出生成一次 daily briefing 所需的 CPU、内存或运行时长。
- README 未说明 webhook、邮件和微信投递的具体凭据格式与安全要求。
- README 未提供测试覆盖率、兼容操作系统列表或生产部署支持范围。
💡 深度解析
6
视情况
我用 Python 和 Docker 部署 Horizon,并且必须接入 Twitter/X 用户时间线;考虑到 X 需要 Playwright,我现在能否直接采用 Docker 方案?
视情况,基础 Docker 部署可行,但不能把 Twitter/X 当作开箱即用的来源。
- Quick Start 说明 Docker 可以通过
docker compose run --rm horizon [OPTIONS]执行完整流水线。 - Supported Sources 将 Twitter / X 定义为通过 Apify 获取用户时间线和关键词搜索,并支持回复摘要。
- README 明确警告:
twitterextra 需要 Playwright 浏览器和系统包,而当前 Dockerfile 不会安装它们;直接启用 X 来源可能在运行时失败。 - 因此,若你的硬约束是 Docker 内立即稳定抓取 X,当前项目不满足;若能自行扩展镜像并处理 Apify 权限,则仍可采用。
README 没有给出 Dockerfile 的完整修改示例,也没有说明 Apify 配额、认证失败和 X 抓取失败后的恢复行为。
- Quick Start:`docker compose run --rm horizon [OPTIONS]`
- Supported Sources:Twitter / X,User timelines + keyword searches (Apify)
- Quick Start / Docker:`The twitter extra also requires a Playwright browser and system packages, which the current Dockerfile does not install.`
docker compose build --build-arg EXTRAS=openbb horizon
适合
我已经使用 RSS、Hacker News、GitHub 和 Google News 跟踪技术主题,希望每天通过 GitHub Actions 自动生成英文和中文 Markdown 简报;Horizon 是否适合?
适合,因为这些来源、双语生成和 GitHub Actions 定时运行都在 README 的支持范围内。
- Supported Sources 明确列出 RSS / Atom、Hacker News、GitHub 和 Google News;其中 Hacker News 还支持抓取热门评论。
- Features 与 Project Status 说明可生成 English and Chinese briefings,并以 Markdown 输出。
- Automate 章节提供 daily workflow template,但仓库中的模板默认被禁用,需要重命名为
daily-summary.yml后启用。 - 运行状态默认保存到
data/summaries/,适合让 Pages 或 CI 产出可持续访问的简报。
需要注意的是,README 没有说明 GitHub Actions 的实际运行成本、失败重试策略或中文模型的默认配置。
- Supported Sources:RSS / Atom、Hacker News、GitHub、Google News
- Features:Generate English and Chinese briefings as Markdown
- Automate:rename it to `daily-summary.yml` to enable it
- Project Status:GitHub Pages publishing、bilingual generation
git clone https://github.com/Thysrael/Horizon.git
适合
我运行 Node.js 22.20+,希望让 AI 助手自动安装 Horizon、配置来源和 profiles,并通过 MCP 执行流水线;Agent Skill 是否适合这套约束?
适合,README 为 Node.js 22.20+ 用户提供了 Agent Skill,并明确支持 AI 助手配置来源、定制 profiles 和运行 Horizon。
- Agent Skill 章节给出安装命令,并要求 Node.js 22.20+;安装后可让助手安装和配置 Horizon。
- How It Works 说明完整流水线可通过 CLI 运行,也可以让 AI assistant 通过 MCP 调用各阶段。
- Project Status 列出 MCP integration 和 setup wizard 已支持,降低了直接手工编辑全部配置的必要性。
- 但 Agent Skill 与 MCP 是两层能力:Skill 负责安装和协助配置,MCP 负责让客户端调用阶段性流程,仍需要完成模型、来源和输出渠道配置。
README 没有说明支持哪些具体 AI 助手客户端、MCP 权限边界、密钥如何注入,也没有说明助手生成的 profile 是否会自动验证。
- Agent Skill:The command requires Node.js 22.20+
- Agent Skill:Let your AI assistant configure sources, customize Profiles, and run Horizon
- How It Works:let an AI assistant call its stages through MCP
- Project Status:MCP integration and the setup wizard
npx skills add Thysrael/Horizon --skill horizon -g
适合
我需要用 OpenBB watchlist 跟踪公司新闻,同时用独立 profile 处理技术 RSS;我能否在 Horizon 中按不同阈值筛选并合并重复报道?
适合,Horizon 的 profile 路由、单独阈值和 profile 内去重正好覆盖这种财经与技术分流场景。
- Features 允许用 profiles 定义评分标准、单独阈值,并在每个 profile 内合并重复故事。
- How It Works 说明每个条目只路由到一个 profile,分析、过滤和去重在内容增强前完成,因此可为财经和技术内容设置不同处理逻辑。
- Supported Sources 列出 OpenBB,可按 watchlist/provider 获取金融公司新闻;RSS / Atom 可接入技术信息源。
- OpenBB 是可选依赖,Quick Start 要求通过
uv sync --extra openbb安装;如果机器没有对应 wheel,README 还提供了 binaries-only 安装命令。
README 没有说明 OpenBB 支持的具体 provider、watchlist 配置格式、财经新闻覆盖范围,也没有保证跨来源重复事件一定能正确合并。
- Features:Define scoring rubrics with profiles, set individual thresholds, and merge repeated stories within each profile
- How It Works:Each item routes to one profile;Analysis, filtering, and deduplication happen before enrichment
- Supported Sources:OpenBB — Financial company news by watchlist/provider
- Quick Start:`uv sync --extra openbb`
uv sync --extra openbb
适合
我们已经使用飞书 Webhook 接收每日结果,并希望把同一份英文和中文 Markdown 简报发布到 GitHub Pages;Horizon 能否同时满足这两个输出约束?
适合,README 明确把 Webhook 通知和 GitHub Pages Daily Site 作为并列输出渠道,并支持英文和中文简报。
- Where Your Briefing Goes 说明 Webhook 可推送成功或失败结果到 Feishu/Lark、DingTalk、Slack、Discord 或自定义 endpoint。
- 同一章节说明 GitHub Pages Daily Site 会把生成的 Markdown 复制到
docs/,供 Pages 发布每日更新站点。 - Features 与 Project Status 都确认支持 English and Chinese briefings,因此不需要为两种语言分别搭建流水线。
- Webhook 的描述是推送结果通知,不等同于把完整报告直接渲染到聊天平台;报告主体仍可由 Markdown 或 Pages 承载。
README 没有说明多个输出渠道的具体配置结构、通知负载格式、Webhook 签名验证,以及 Pages 部署所需的仓库权限。
- Where Your Briefing Goes:Webhook Notification — Feishu/Lark、DingTalk、Slack、Discord
- Where Your Briefing Goes:GitHub Pages Daily Site — Copies generated Markdown into `docs/`
- Features:Generate English and Chinese briefings as Markdown
- Project Status:webhook delivery、GitHub Pages publishing
uv run horizon [OPTIONS]
适合
我们同时关注新闻、工程深度文章和 GitHub releases,希望新闻输出“为什么重要”、工程内容输出“可如何应用”,并限制某一类别占满整份简报;Horizon 能否做到?
适合,因为 Horizon 把不同内容类型的评分标准、处理提示词和类别配额都纳入 profile 与简报生成流程。
- Why Horizon? 直接区分新闻的“why it matters”和工程深度文章的“what I can use”,说明两类内容可以采用不同阅读目标。
- Features 支持 profiles、评分 rubric、单独阈值,以及 summary、context、solutions、takeaways 等不同处理方式。
- 同一组 Features 还支持限制简报总长度和每个类别的占比,避免单一热门主题挤占全部内容。
- GitHub 是 Supported Sources 中的正式来源,可获取 user events 和 repository releases。
这适合做筛选和阅读辅助,但 README 没有说明类别配额冲突时的精确排序算法,也没有保证模型生成的“解决方案”适合直接用于工程决策。
- Why Horizon:A news story calls for “why it matters”; an engineering deep dive calls for “what I can use.”
- Features:profiles、scoring rubrics、individual thresholds
- Features:Choose summaries, context, solutions, or takeaways
- Features:Cap the briefing's length and each category's share
- Supported Sources:GitHub — User events & repo releases
uv run horizon [OPTIONS]
✨ 核心亮点
-
支持 RSS、Hacker News、Reddit、Telegram、X 与 GitHub
-
Profiles 可按评分标准、阈值和重复故事筛选内容
-
可生成中英 Markdown,并发布 Pages、邮件和 webhook
-
Twitter extra 需要 Playwright 浏览器及系统依赖
🔧 工程化
-
CLI 执行采集、分析、过滤、去重与简报生成流水线
-
Profiles 为不同内容定义评分标准和 Markdown 输出提示
-
支持评论摘要、网页背景、微信通知与 MCP 集成
-
可用 GitHub Actions daily workflow 自动生成每日简报
⚠️ 风险
-
Twitter extra 依赖 Playwright 浏览器和系统包,Dockerfile 未安装
-
OpenBB extra 可能拉取无 wheel 包,README 要求改用二进制安装
-
daily-summary.yml.disabled 默认停用,需重命名后才能启用
-
项目暂无版本发布,GitHub 元数据显示 Releases 为 0
👥 适合谁?
-
需要整合 RSS、Reddit、Telegram 和 GitHub 的个人开发者
-
使用 Docker 或 Python CLI 管理每日技术资讯的团队
-
需要中英 Markdown、Pages、邮件或 webhook 分发的用户