Filter mixed news feeds into a personalized daily briefing in English and Chinese
It is difficult to pick out important information from the constant stream of tech news and forum posts. Horizon collects articles from various sources such as RSS, Hacker News, and Reddit, uses AI to score importance and remove duplicates, and organizes the results in the format you prefer. The structure leaves you with only the time to read, while Horizon handles the rest.
Customized editing rules via profiles
The core of Horizon is a set of editing rules called 'profiles'. You might want background and impact emphasized for tech news, but solutions and practical tips for engineering articles. Horizon defines these preferences as profiles, applying the appropriate summarization criteria and output format to each piece of content. You can use the built-in tech-news, tech-blog, and ai-creator profiles as they are, or adjust existing profiles to create your own briefing without modifying Python code. You can also let AI match profiles automatically or restrict usage to specific profiles.
Flow from collection to delivery
Horizon collects news within a specified time range, then analyzes, filters, and removes duplicates according to the profile. During this process, it adds background information via web search or summarizes community discussions to provide context for articles. The final briefing is generated in Markdown format and can be published to GitHub Pages or delivered via email, webhooks (Feishu, Slack, etc.), or WeChat. The entire pipeline can be run via CLI or configured so that an AI assistant calls it step-by-step through MCP.
Installation and initial setup
For local installation, use uv sync or pip install -e . to install dependencies. The easiest way to proceed with configuration is through the horizon-wizard interactive wizard. This wizard asks about your interests and automatically generates data/config.json. If you prefer manual setup, put API keys in .env and define sources and profiles directly in config.json. It supports various AI providers such as OpenAI and Gemini, and ChatGPT subscribers can use it with just a login, without a separate API key.
Pre-use considerations
Horizon is an open-source project released under the MIT license and is currently maintained by developers in their spare time. You can configure it to run automatically every day via GitHub Actions, but the template is disabled, so you must activate it directly to fit your deployment environment. Using the Twitter/X source requires additional Playwright browser and system packages, which are not included in the Docker image by default. Additionally, using specific financial news sources (OpenBB) requires installing separate additional packages. The project has not yet been published as a package on PyPI, so you must clone it directly from GitHub to install it.