LATEST
AI Tools

Horizon Review: A Free AI News Radar That Writes Your Daily Briefing

Updated November 9, 2026
12 min read
Editor's Note: This article was human-reviewed for accuracy
A person reading a printed newspaper in front of a laptop showing a news website

Quick Answer & Key Takeaways

  • • Horizon is a free, open-source tool that turns your RSS feeds, Hacker News, Reddit and X into a scored daily briefing.
  • • You host it yourself, pick the AI model that does the scoring, and read the result in English or Chinese.
  • • The software costs nothing; the running cost is whatever your chosen model charges per token.

Your morning reading list lives in too many places. A few RSS feeds, Hacker News, a subreddit or two, a Telegram channel, a saved search on X, and whatever a colleague forwarded. Horizon is a free, open-source tool that pulls those sources together, scores each item with an AI model, and writes you one ranked daily briefing. You host it yourself, you pick the model, and the briefing lands as a web page, an email, or a message in Slack or WeChat.

The project comes from developer Thysrael, and it has gathered 13,130 stars and 1,874 forks on GitHub as of November 9, 2026, under the MIT license. It was also listed on GitHub's weekly trending page for week 45 of 2026, according to a November 4 write-up by explainx.ai, which counted about 12,300 stars at the time. The repository is still active: its most recent push landed on November 9. The software costs nothing. The bill that matters is the AI model behind it, and that is where this review spends most of its time.

What Horizon actually does

Horizon runs a pipeline with six stages. It collects items from the sources you configure, routes each item to a profile, scores it, removes duplicates, enriches the survivors with background research and community discussion, and then writes a briefing grouped by profile. The output comes in English and Chinese, and the project README is also available in Japanese.

The source list is broad: Hacker News, RSS and Atom feeds, Reddit, Telegram channels, X timelines and keyword searches, GitHub events and releases, financial news through OpenBB, trending repositories through OSS Insight, GDELT news search, and Google News. Comments travel with the items where the source allows it, so a Hacker News thread or a Reddit discussion can feed into the summary rather than sitting behind a link.

Where the briefing goes is up to you. Horizon can publish it as a daily site on GitHub Pages, send it by email with subscribe and unsubscribe handled over SMTP and IMAP, push it to a webhook for Feishu, Lark, DingTalk, Slack, Discord, or a custom endpoint, or deliver it through WeChat after a QR login. The generated report is saved as Markdown in the data directory, so you can also just read the files.

How the scoring works

The idea that sets Horizon apart is the profile. A profile is a reusable set of editorial rules: what belongs, what clears the bar, and what the output should look like. Three ship with the project: tech-news for technology news, tech-blog for engineering deep dives, and ai-creator for AI creator material. A news story gets judged on why it matters; an engineering post gets judged on what you can use from it.

Each item is scored from 0 to 10 against its profile's rubric. The built-in tech-news rubric, documented in the project's scoring guide, breaks down like this:

ScoreTierWhat it means
9–10GroundbreakingMajor breakthroughs, major versions, significant research, industry-changing announcements
7–8High valueImportant developments, technical deep dives, novel approaches, valuable tools
5–6InterestingIncremental improvements, useful tutorials, moderate community interest
3–4Low priorityRoutine updates, common knowledge, shallow or promotion-heavy content
0–2NoiseSpam, off-topic material, trivial updates, purely promotional content

You set a threshold per profile in the runtime configuration. The README's example uses 7.0 for tech-news: anything below that never reaches the briefing. Items that pass are deduplicated by topic within each profile, and an optional digest block caps the total length and each category's share, so one busy topic cannot crowd out the rest. A category cap of five AI items and five finance items in a twenty-item briefing is the documented example.

The order of operations matters for cost. Analysis, filtering, and deduplication happen before enrichment, so the expensive step, web research and background writing, only runs on items that already cleared your threshold. Failed analysis calls are retried with exponential backoff, and an invalid response gets one repair attempt before the item is stored with no score.

What it costs: the real bill is the model

Horizon itself is free, and there is no paid tier, no subscription, and no hosted version to buy. The project doesWhat you pay for is the language model that scores and summarizes your feed, plus any paid source you choose to add. The X source, for example, goes through Apify, a paid third-party scraper, according to the README.

The configuration guide lists ten providers: Anthropic, OpenAI, Azure OpenAI, Gemini, MiniMax, Alibaba's DashScope, Doubao, DeepSeek, Ollama for local models, and an openai-chatgpt option that lets eligible ChatGPT subscribers sign in with their plan instead of using an API key. The built-in default is MiniMax's M3.1-Flash model.

The README publishes no per-day cost figure, so here is a worked example with the assumptions stated plainly. Suppose a daily run collects 150 items, scores each with about 1,500 input tokens, and enriches 15 survivors at roughly 8,000 input tokens and 2,000 output tokens each. That is about 345,000 input tokens and 30,000 output tokens a day. Your numbers will differ with your source count, threshold, and enrichment settings, but the formula is the same.

Model (paid API rates)Input / output per 1M tokensCost per day*Cost per month*
Claude Haiku 5.5$0.10 / $0.50$0.05$1.49
Gemini 2.5 Flash$0.30 / $2.50$0.18$5.36
Gemini 2.5 Flash-Lite$0.10 / $0.40$0.05$1.40
Claude Sonnet 5.5$2.00 / $10.00$0.99$29.70

*Illustrative math from the stated token assumptions, not a measured bill. Rates are the vendors' published per-million-token prices, verified November 9, 2026: Anthropic's pricing page lists Haiku 5.5 at $0.10 input and $0.50 output per million tokens for prompts up to 100,000 tokens, and Sonnet 5.5 at $2 and $10; Google's Gemini pricing page lists 2.5 Flash at $0.30 and $2.50, and 2.5 Flash-Lite at $0.10 and $0.40. Monthly figures assume 30 daily runs. In local currency, $1.49 a month is roughly £1.11 or C$2.10, and $29.70 is roughly £22.14 or C$41.82, at November 9, 2026 market rates ($1 ≈ £0.75, ≈ C$1.41). Those conversions are approximations.

Three details in the fine print are worth knowing. First, Haiku 5.5 costs five times more per token on prompts over 100,000 tokens, so the cheap rate holds only while your scoring prompts stay short. Second, Gemini 2.5 Flash is deprecated and, from December 1, 2026, API requests to it route automatically to Gemini 3.5 Flash-Lite and bill at that model's rates, according to Google's pricing page. Third, Gemini's free tier charges nothing for these models within its limits, but Google's own terms note that free-tier content may be used to improve its products, while paid-tier content is not.

There are two ways to pay nothing at all for the model. Ollama support means you can point Horizon at a model running on your own machine, with no API key and no per-token bill, if your hardware can run a capable small model. And if you already pay for ChatGPT, the openai-chatgpt provider uses your plan through Sign in with ChatGPT, with saved OAuth credentials instead of an API key. Check OpenAI's current terms for automated use of a consumer plan before relying on that route for a scheduled daily job. Local-first tools are a running theme here: Floci runs a free local AWS on your own machine with no token and no bill.

How to set it up

Installation is a standard Python project setup. Clone the repository, then install with uv or pip:

git clone https://github.com/Thysrael/Horizon.git
cd Horizon
uv sync
uv run horizon-wizard
uv run horizon

The wizard asks about your interests, with examples such as "LLM inference" or "web security", and writes data/config.json for you. If you prefer manual setup, copy .env.example to .env, add your API keys there, and copy data/config.example.json to data/config.json. One detail catches people out: the api_key_env field must hold the name of an environment variable, not the key itself. The key lives in .env; the config only names the variable.

A minimal configuration names a provider, a model, and a source. The README's example uses OpenAI with a gpt-4 model name, which is dated; the configuration guide's current examples use claude-sonnet-5-5 for Anthropic and gemini-2.0-flash for Gemini. A source entry is an RSS feed with a name, a URL, and a profile. Omit the profile or set it to "auto" and the AI picks the best match; give it a list such as ["tech-news", "finance-news"] to restrict the choice.

Useful flags are --hours to set the lookback window, which defaults to 24, plus --data-dir, --config, and --log-level. Docker is supported with docker compose run --rm horizon, though the README warns the optional Twitter extra needs a Playwright browser and system packages that the current Dockerfile does not install. For scheduling, the repository includes a GitHub Actions workflow template that is disabled in the repo; you configure it for your deployment and rename it to daily-summary.yml to enable it.

Horizon also ships an agent skill so an AI assistant can configure sources, customize profiles, and run the pipeline, installed with npx skills add Thysrael/Horizon --skill horizon -g. That command needs Node.js 22.20 or newer. An MCP server exposes the pipeline stages as tools for MCP-compatible clients.

Horizon vs the alternatives

OptionWhat it isScoringCost model
HorizonSelf-hosted pipeline: collect, score, briefYour own rubric, per-profile thresholdsSoftware free; you pay the model per token
Google AlertsHosted keyword alerts by emailNone; keyword match onlyFree
FeedlyHosted feed reader with AI summariesVendor's AI, on paid plansFree tier; AI features on paid plans
PerplexityHosted answer engine with daily briefingsVendor's rankingFree tier; Pro subscription for full use
Email newslettersHuman-curated digestsAn editor's judgmentFree or subscription

The difference is control. Google Alerts cannot tell a breakthrough from a press release. Feedly and Perplexity rank with their own models and their own editorial logic. Horizon lets you write the rubric, pick the model, and keep the whole pipeline on infrastructure you control. The price of that control is setup and maintenance: you own the API keys, the schedule, and the debugging when a source changes its feed format.

Common mistakes and honest limits

A few things are worth knowing before the first run. Start with three interests and a small set of trusted feeds, run it with --hours 24, and read the output critically before adding Reddit, Telegram, or X. A low threshold floods the briefing; the explainx.ai guide suggests moving the threshold by a point at a time and watching what changes. Adding X early is the fastest way to a surprise bill, since that source goes through paid Apify scraping on top of the model cost.

The briefing is a reading filter, not a fact check. The model scores and summarizes, and it can be wrong about both importance and facts. The scoring guide is explicit that a threshold is only as good as the rubric behind it, and the same applies to the summaries: check anything you plan to act on against the original item.

Two cautions come from the repository itself. Every item and comment you collect is sent to your chosen language model, so do not point private feeds at an endpoint you have not vetted. And the README's Supported By section lists commercial API resellers, including one advertising steep discount multipliers on GPT and Claude access; treat those offers with care and verify the provider before sending it traffic.

Finally, the packaging is still early. The roadmap lists publishing releases on GitHub and publishing the package to PyPI as planned work, so for now you install from a clone and pin a commit. The project is maintained in the author's spare time, which is worth remembering when you decide how much of your morning routine to hand it.

Who should try it

Horizon fits readers who follow many sources and want a morning digest with a point of view: researchers tracking a field, founders watching a market, and developer-relations people who need to know what shipped overnight. It also works for small teams, since webhook delivery can drop the same briefing into Slack or Feishu. It is less useful if you only read two newsletters, and it is the wrong tool if you want verified facts rather than a filtered reading list. If the draw is free AI agents running on your own machine, OpenMausBot puts them in a chat app on your hardware, and OpenClaw is a free assistant you text from WhatsApp.

The profile idea is the part worth copying even if you never install the tool. Write down, in plain language, what belongs in your feed, what clears the bar, and what format you want. Then hand that rubric to whatever you use to read the news.

Is Horizon really free?

Yes, the software is free under the MIT license, with no paid tier or subscription. The running cost is the language model behind it, billed per token by your provider, plus any paid source such as the Apify-based X scraper. On a cheap model, a daily briefing can cost about $1.50 a month in the worked example above; on a flagship model it can cost about $30.

Do I need an API key to run Horizon?

For most providers, yes. You add the key to a .env file and name the variable in the configuration. Two exceptions exist: Ollama runs a model locally with no key, and eligible ChatGPT subscribers can use the openai-chatgpt provider, which signs in with their plan instead of an API key.

Can Horizon run without sending my data to a cloud AI?

Yes, through Ollama. Point the configuration at a local Ollama server and the scoring and summarization happen on your own machine. The trade-off is quality and speed: a small local model will not score as well as a frontier model, and it needs hardware that can run it.

Which sources can Horizon read?

Hacker News, RSS and Atom feeds, Reddit, Telegram channels, X timelines and keyword searches, GitHub events and releases, financial news through OpenBB, trending repositories through OSS Insight, GDELT news search, and Google News. Briefings are generated in English and Chinese.

Is Horizon on PyPI?

Not yet. The project's roadmap lists publishing the package to PyPI and publishing GitHub releases as planned work. For now you install it from a clone with uv sync or pip install -e ., or run it in Docker, and pin a commit if you want a stable version.

For a tool that costs nothing to install, Horizon asks the right question about your news diet: not what you could read, but what deserves your attention. A cheap model, three interests, and a threshold you tune over a week is enough to find out whether its answer matches yours. The repository is at github.com/Thysrael/Horizon, and the live demo of a generated briefing is at thysrael.github.io/Horizon.

Sources

12 min read
18 views
edit_note Written by

Ratul Ahamed

Founder & Editor-in-Chief

Ratul Ahamed is the founder and editor of AI Core Updates, an independent site covering AI tools, models and pricing. He is a web developer based in Bangladesh and also runs All In One Tools, a free collection of browser-based utilities. Contact: [email protected]

Read all stories by Ratul Ahamed arrow_forward
verified_user Human-Reviewed Editorial

forum Comments (0)

Leave a Reply

chat_bubble_outline

No comments yet. Be the first to join the conversation!

Weekly AI Digest

Get our weekly AI tools digest

One email a week analyzing new AI tools, model updates, and practical workflows. Tested and summarized with zero fluff. Unsubscribe any time.

bolt
Hands-on AI Tool Reviews
Pricing math, limits, and alternatives.
verified_user
Strict Anti-Spam Policy
1-click unsubscribe at any time.
mark_email_unread

Subscribe to Digest

Sent weekly • No spam

person_outline
mail_outline

No spam ever. You can unsubscribe with a single click at any time.

cookie

Cookie Settings

We use cookies to enhance your browsing experience, serve personalized content, and analyze our traffic. By clicking "Accept All", you consent to our use of cookies. Learn more