Your own AI newsroom that actually reads the comments
Horizon fetches, scores, deduplicates, and enriches stories from HN, Reddit, RSS, and more into a daily briefing you can publish anywhere.

What it does
Horizon is a Python pipeline that pulls from Hacker News, Reddit, RSS, Telegram, Twitter/X, GitHub, and OpenBB financial watchlists. It deduplicates across platforms, uses an LLM to score items 0–10 against your interests, adds web-researched context, summarizes community comments, and spits out a structured Markdown briefing. Output goes to GitHub Pages, email newsletters, Feishu/Lark/Slack/Discord webhooks, or an MCP server so AI assistants can drive it.
The interesting bit
The scoring step is the filter: you set a threshold in JSON config, and only stories above it survive. The wizard auto-generates that config from your interests (“LLM inference”, “web security”, etc.). Horizon also fetches and summarizes comments from HN and Reddit, which most aggregators ignore — the theory being that discussion often contains the real signal.
Key highlights
- Supports Claude, GPT, Gemini, DeepSeek, Doubao, MiniMax, Ollama, or any OpenAI-compatible API for scoring and summarization
- Deduplicates the same story across multiple platforms before it hits your briefing
- Bilingual output: generates both English and Chinese briefings from the same source set
- Self-hosted email newsletter with SMTP/IMAP subscribe/unsubscribe handling
- MCP server exposes pipeline steps as tools for external AI assistants
- Docker, GitHub Actions cron, and
uvlocal install all documented
Caveats
- OpenBB financial source requires a separate extra install and may need
--only-binaryworkarounds - README notes that
api_key_envmust reference an environment variable name, not the key itself — easy to misconfigure - MCP integration docs live in
src/mcp/and are only partially shown in the main README
Verdict
Worth a look if you currently open twelve tabs every morning and wish someone would rank them first. Skip it if you already have a news routine you tolerate, or if you distrust LLM taste enough that you’d rather just read the firehose.