GitHub 火线榜

GitHub 火线榜 · 仓库档案

Thysrael/Horizon

Your own AI-powered news radar. Generates daily briefings in English & Chinese. | 用 AI 构建你专属的新闻雷达 (简介来自仓库自身文档。)

数据截至 10月27日Thysrael

最好成绩

#295

年度新星榜

1.1万

累计 Star

1654

Fork 总数

3

近 30 天在榜天数

上榜 3 天 · 近 30 天 +28 星 · 日均 +9最猛 10-25 单日 +17连续在榜 3 天

项目状态许可证: MIT最近 push: 10月26日Open Issues(含 PR): 2

自 2026-10-25 起采集;未知 = 尚未采集到

把上榜徽章放进你的 README · Thysrael/Horizon[![把上榜徽章放进你的 README](https://git.vaiox.xyz/api/badge/Thysrael/Horizon.svg)](https://git.vaiox.xyz/zh/repo/Thysrael/Horizon)
<a href="https://git.vaiox.xyz/zh/repo/Thysrael/Horizon"><img src="https://git.vaiox.xyz/api/badge/Thysrael/Horizon.svg" alt="把上榜徽章放进你的 README" height="20"></a>

项目文档

🌅 Horizon

你只需享受新闻,剩下交给 Horizon。

Thysrael%2FHorizon | Trendshift Thysrael%2FHorizon | Trendshift Featured|HelloGitHub

License Tool uv Website Daily Commit PRs Welcome Sources Welcome

Claude GPT Gemini DeepSeek Doubao MiniMax OpenClaw Ollama

📡 构建你专属的 AI 新闻雷达,生成中英双语日报。 | Your own AI-powered news radar.

📖 在线演示 · 📋 配置指南 · 💬 QQ 群 · English · 日本語

截图

按优先级排序的日报

日报总览

背景、总结与评论

新闻详情
More Screenshots

终端输出

终端输出

飞书通知

飞书通知

邮件推送

邮件推送

微信推送

微信中的日报头部、总览和正文

为什么需要 Horizon?

好内容散落在订阅、社区和时间线里,你的阅读时间却有限。Horizon 替你收集、筛选、去重,再把值得读的内容连同背景和讨论送到面前。

读什么,需要你的品味;怎么读,也一样。新闻里你想知道「为什么重要」,技术长文里你想找到「有什么值得借鉴」。Horizon 的 Profile 让不同内容有不同的评分标准和呈现方式,也让这份日报更像你亲手挑选的。

功能特性

  • 📡 把关注汇到一处 — 从 RSS、Hacker News、Reddit、Telegram、X、GitHub 和金融新闻等来源收集内容。
  • 🎯 值不值得读,你定标准 — 用 Profile 定义评分规则,分别设置筛选门槛,合并同一 Profile 下的重复报道。
  • 🧩 新闻看背景,长文看方法 — 自定义摘要、背景、方案、启示等内容区块,修改 Markdown 提示词和 JSON 配置即可。
  • 💬 多看一层,再下判断 — 按需搜索背景、提炼社区讨论,读到标题之外的信息。
  • ⚖️ 留下刚好够读的量 — 限制日报总条数和各类内容的份额,让热门话题给其他兴趣留点位置。
  • 📬 在你习惯的地方读 — 生成中英双语日报,保存为 Markdown、发布到 Pages,或通过邮件和 Webhook 送达。

同一份日报,不同的读法

一个 Profile 是一套可复用的内容处理规则:什么内容适用、什么值得留下、最后写成什么样。 内置示例包括:

你在读什么 Profile 它替你提炼什么
科技新闻 tech-news 事件与背景,按需补充影响和社区讨论
技术长文 tech-blog 背景、方案、值得借鉴的启示
AI 创作素材 ai-creator 内容摘要,按需提炼时效意义与创作切入点

为信息源指定 Profile,或让 AI 自动匹配。想换一种读法?从现有 Profile 改起,通常无需修改 Python。定制你的 Profile →

工作原理

Horizon 架构:十类信息源汇入 Profile 驱动的处理流程,按区块启用历史与网络搜索,再通过 Markdown、Pages、邮件、微信和 Webhook 分发。

OmniGraffle 可编辑图源

Profile 定义处理规则,运行配置掌握阅读偏好。 每条内容路由到一个 Profile,完成分析、筛选和去重后,再为入选内容生成区块,按 Profile 分组渲染成日报。

通过 CLI 运行完整流程,也可通过 MCP 让 AI 助手调用采集、分析和生成等阶段。

赞助

Horizon 是一个业余时间维护的开源项目。如果你愿意支持这个项目,或希望出现在这里,欢迎创建一个 Issue 或发邮件联系我。

支持方 说明
Modelflare 感谢 Modelflare 赞助本项目!Modelflare:满血、稳定、不掺水,以更低成本使用全球 SOTA 模型。平台由美国 Havenbyte LLC 运营,通过常见兼容协议支持 GPT、Claude、Gemini、Grok 等领先模型,并提供 40+ 图片和视频模型。

缓存补偿是一大亮点:指定 OpenAI 分组(价格优先、稳定、优质)分别保障每日 65%、75% 或 85% 的缓存命中率;符合条件的请求若未达标,Modelflare 将退还差额,结算后可在用量看板查看。

特别优惠:单笔充值 20 美元即可解锁价格倍率为 0.015x 的 GPT 优惠分组,单笔充值 50 美元即可解锁价格倍率为 0.03x 的 Claude 优惠分组。通过此专属链接注册即可开始使用。
Compshare / 优云智算 优云智算目前正在支持 Horizon。优云智算是 UCloud 旗下 AI 云平台,主打包月、按次的高性价比国模 Agent Plan 套餐,低至 49 元/月起,同时提供官转稳定海外模型。支持接入 Claude Code、Codex 及 API 调用,支持企业高并发、7*24 技术支持和自助开票。

通过其链接注册,可获得 5 元平台体验金。
OfoxAI OfoxAI 是统一的 AI API 平台,汇集多家文本、图像和视频模型,支持 OpenAI 兼容接口及 Anthropic、Gemini 原生接口。开发者可通过一个平台为 AI 应用、智能体和内容创作接入模型,按任务选择合适的能力。

探索 OfoxAI 模型与 API →
星图 AstraFlow
星图 AstraFlow
感谢星图 AstraFlow 赞助 Horizon!AstraFlow 是 UCloud 推出的模型服务平台,汇集 200+ 主流大模型及视频生成模型,在一个平台完成文本与视频生成。支持按 Key 级别计费,调用明细可查。

Horizon 用户专属福利:通过专属链接领取 50 元算力金,体验模型调用与内容创作。

Agent Skill

让 AI 助手帮你配置信息源、定制 Profile、生成日报:

npx skills add Thysrael/Horizon --skill horizon -g

安装与使用 · 下载 Skill ZIP

安装命令需要 Node.js 22.20+。装好 Skill 后,可以直接说“帮我安装并配置 Horizon”,也可按下方步骤手动安装。

快速开始

1. 安装

方式 A:本地安装

git clone https://github.com/Thysrael/Horizon.git
cd horizon

# 使用 uv 安装(推荐)
uv sync

# 需要测试/开发依赖时
uv sync --extra dev

# 或使用 pip
pip install -e .

当前 dev 在 pyproject.toml 中定义为 optional extra,因此安装 pytest 等开发依赖时应使用 uv sync --extra dev。

如果你要启用可选的 OpenBB 金融新闻源,还需要安装对应 extra:

uv sync --extra openbb

如果 openbb 在你的机器上会拉到缺少 wheel 的依赖,建议改用只安装二进制包:

uv pip install --only-binary=:all: openbb openbb-benzinga

方式 B:Docker

git clone https://github.com/Thysrael/Horizon.git
cd horizon

# 可选:首次运行前构建逗号分隔的 extras
docker compose build --build-arg EXTRAS=openbb horizon

基础安装已包含 trafilatura 全文提取。twitter extra 还需要 Playwright 浏览器及系统依赖,当前 Dockerfile 不会安装这些组件。

2. 配置

方式 A:交互式向导(推荐)

uv run horizon-wizard

向导会询问你的兴趣(如"LLM 推理"、"嵌入式"、"web 安全"),自动推荐并生成 data/config.json,还可选让 AI 补充推荐小众源。若你想分享信息源,请前往 horizon1123.top。CLI 选项见交互式向导。

符合条件的 ChatGPT 订阅用户可选择 openai-chatgpt,通过官方登录授权使用订阅额度,无需 OpenAI API Key。

方式 B:手动配置

cp .env.example .env          # 添加 API 密钥
cp data/config.example.json data/config.json  # 自定义信息源

最小手动配置示例:

{
  "ai": {
    "provider": "openai",
    "model": "gpt-4",
    "api_key_env": "OPENAI_API_KEY"
  },
  "sources": {
    "rss": [
      {
        "name": "Simon Willison",
        "url": "https://simonwillison.net/atom/everything/",
        "profile": "tech-news"
      }
    ]
  },
  "processing": {
    "profiles_dir": "profiles",
    "default_profile": "tech-news",
    "profile_settings": {
      "tech-news": {
        "threshold": 7.0,
        "topic_dedup": true
      }
    }
  }
}

信息源显式指定 profile 时会直接使用该 Profile;省略该字段或设为 "auto" 时,AI 会在全部 Profile 中自动匹配。也可设置 ["tech-news", "finance-news"],将匹配范围限定在这些候选项中,每条内容选一个。 详见 Profile 指南。筛选阈值和主题去重等个人偏好配置在 processing.profile_settings 中。

均衡日报(可选)

可以限制日报总条数,并避免单一类别占据过多内容。类别来自 sources.rss[].category 等信息源配置。

{
  "digest": {
    "max_items": 20,
    "category_groups": {
      "ai": {
        "limit": 5,
        "categories": ["ai-news", "ai-tools", "machine-learning"]
      },
      "finance": {
        "limit": 5,
        "categories": ["finance", "business", "equities"]
      }
    },
    "default_group": "other",
    "default_group_limit": 3
  }
}

分组限额在 Profile 筛选之后、内容补充之前执行。未配置 category_groups、max_items 和 default_group_limit 时,不应用均衡日报限额。

data/config.json 里的任意字符串值都可以通过 ${VAR_NAME} 引用环境变量。这适合用于 ai.base_url、私有 RSS 链接、Webhook 地址或自定义请求头模板等字段。

完整配置参考请查看配置指南。

3. 运行

A. 本地安装

uv run horizon [OPTIONS]

B. Docker

docker compose run --rm horizon [OPTIONS]
选项 默认值 说明
--hours N 24 抓取最近 N 小时的内容
-d, --data-dir PATH data 数据目录路径
-c, --config PATH <data-dir>/config.json 配置文件路径
-l, --log-level LEVEL WARNING 日志级别(DEBUG/INFO/WARNING/ERROR/CRITICAL)

--data-dir 会更改状态目录,包括日报、订阅者文件和默认配置位置;--config 只更改配置文件。生成的日报将保存在 data/summaries/ 目录中(如设置了 --data-dir,则保存在 <data-dir>/summaries/)。两处位置都要修改,或需要初始化自定义配置位置时,请查看配置路径。

4. 自动化(可选)

可使用 GitHub Actions 定时运行 Horizon。每日工作流模板 当前处于禁用状态;根据你的部署配置后,将文件重命名为 daily-summary.yml 即可启用。

支持的信息源

信息源 抓取内容 评论收集
Hacker News 按分数排序的热门文章 支持(前 N 条评论)
RSS / Atom 任意 RSS 或 Atom 订阅源 —
Reddit Subreddit 帖子 + 用户动态 支持(前 N 条评论)
Telegram 公开频道消息 —
Twitter / X 用户推文 + 关键词搜索(Apify) 支持(前 N 条回复)
GitHub 用户动态 & 仓库 Release —
OpenBB 按观察列表 / provider 抓取金融公司新闻 —
OSS Insight 热门开源仓库 —
GDELT 按查询搜索新闻 —
Google News 通过 RSS 搜索新闻 —

日报可以去哪里

Horizon 支持通过多种方式发布和分发生成的日报:

方式 作用
GitHub Pages 日报站点 将生成的 Markdown 复制到 docs/,通过 GitHub Pages 发布为每日更新的静态日报站点
邮件订阅 通过 SMTP/IMAP 向订阅者发送日报,并自动处理订阅/退订请求
Webhook 通知 在成功或失败时将结果推送到飞书、钉钉、Slack、Discord 或任意 Webhook 端点
微信通知 通过 iLink Bot 推送日报;扫码登录后向机器人发一条消息即可连接,推送受微信回复额度限制

投递配置见配置指南。希望让 AI 助手调用流水线各阶段,可接入 MCP Server:工具说明 · 客户端接入。

文档

文档 内容
配置指南 AI 模型、信息源、Profile、筛选、邮件、Webhook、微信、GitHub Pages 和 MCP 配置
Profile 指南 内置读法、自定义评分与内容区块、路由和工具权限
评分机制 Horizon 如何评估和排序新闻
抓取器 信息源抓取器说明和扩展细节
内容提取器 RSS 信息源的全文提取
MCP 工具 MCP 客户端可调用的工具说明
Agent Skill 让 AI 助手配置、运行、定制、定时投递和扩展 Horizon

项目状态

Horizon 已经支持完整的日报流程:多源抓取、Profile 驱动的分析与内容生成、去重、评论摘要、双语生成、GitHub Pages 发布、邮件分发、Webhook 推送、微信推送、Docker 部署、MCP 集成和配置向导。

计划中的改进:

  • 更多信息源类型,例如 Discord
  • 在 GitHub 上发布 Release
  • 发布到 PyPI,支持通过 pip install 安装

交流群

欢迎加入 Horizon 用户与开发交流群,分享信息源、交流 Profile,或讨论部署和开发。

Horizon QQ 群 1106121909 的入群二维码
QQ 群号:1106121909
使用 QQ 扫码,或搜索群号加入。

贡献

欢迎贡献!请随时提交 Issue 或 Pull Request。

分享信息源

想把有价值的信息源分享给 Horizon 社区?请直接前往 horizon1123.top 提交。

欢迎提交:你所在领域里优质的小众 RSS 发现、活跃 subreddit 的趋势、值得关注的 GitHub 动态,或 Telegram 频道精选内容。

鸣谢

  • 特别感谢 LINUX.DO 提供的宣传平台。
  • 特别感谢 HelloGitHub 提供的指导意见。
  • 特别感谢 AIGC Link 提供的小红书和微信公众号宣传。

许可证

MIT

当前上榜

  • 295

    年度新星榜

    1.1万 星 · 1654 fork · 累计 Star(今年创建)

    年度 →

近 30 天势头

累计 Star 走势

名次走势

每日新增 Star

同榜竞速 · 名次近邻 · 年度

同类项目 · 共享主题

← 回到榜单