tags: - ai-news-aggregator - daily-briefing - content-curation - multi-language - open-source
Horizon: An AI-Powered News Radar for Personalized Daily Briefings¶
Introduction¶
Horizon is an open-source AI-powered news radar that aggregates, curates, and delivers personalized daily briefings in both English and Chinese. In an era where information overload is commonplace, Horizon helps users filter through noise from multiple sources including Hacker News, Reddit, RSS feeds, Telegram channels, Twitter/X, GitHub releases, and OpenBB financial news. By combining artificial intelligence with human-curated preferences, Horizon creates a streamlined reading list that prioritizes relevance and context.
Core Features and Functionality¶
Multi-Source Content Aggregation¶
Horizon consolidates content from diverse sources into a single pipeline:
- Hacker News: Top stories by score with community comments
- RSS/Atom Feeds: Any standard web feed
- Reddit: Subreddit posts and user content with top comments
- Telegram: Public channel messages
- Twitter/X: Tweets from specific accounts
- GitHub: User events and repository releases
- OpenBB: Financial company news by watchlist/provider
AI-Powered Scoring and Filtering¶
The platform uses advanced AI models to evaluate and rank content:
- Supports multiple AI providers including Claude, GPT, Gemini, DeepSeek, Doubao, MiniMax, and Ollama
- Scores each item on a 0-10 scale based on relevance and importance
- Allows customizable scoring thresholds to filter content
- Configurable through a single JSON configuration file
Content Enrichment and Deduplication¶
Horizon enhances the reading experience through intelligent processing:
- Deduplication: Merges repeated stories across different platforms
- Background Context: Adds web-researched context for unfamiliar concepts, companies, and technical terms
- Community Discussion: Collects and summarizes comments from supported sources
Multi-Language Support¶
The system generates daily briefings in both English and Chinese from the same source set, making it accessible to bilingual users and those seeking content in either language.
Deployment and Delivery Options¶
Multiple Output Channels¶
Horizon supports various delivery methods to suit different preferences:
- GitHub Pages: Publishes generated Markdown as a daily-updated briefing site
- Email: Self-hosted SMTP/IMAP newsletter with automatic subscription management
- Webhooks: Pushes results to Feishu/Lark, DingTalk, Slack, Discord, or custom endpoints
- MCP Server: Exposes pipeline steps as tools for AI assistant integration
Installation Methods¶
Users can deploy Horizon through two primary approaches:
- Local Installation: Using
uvpackage manager orpip - Docker: Containerized deployment using Docker Compose
Automation Support¶
The platform integrates seamlessly with GitHub Actions for automated daily briefing generation and deployment to GitHub Pages.
Configuration and Customization¶
Setup Wizard¶
Horizon includes an interactive setup wizard (horizon-wizard) that asks about user interests and automatically generates personalized source configurations, eliminating the need for manual setup.
Manual Configuration¶
For advanced users, direct configuration is possible through:
.envfile for API keys and environment variablesdata/config.jsonfor detailed source, filtering, and delivery settings- Environment variable references using
${VAR_NAME}syntax
Configuration Sections¶
The system allows customization across multiple dimensions:
- AI provider settings and model selection
- Source configurations for each supported platform
- Filtering thresholds and scoring parameters
- Delivery channel settings (email, webhooks, etc.)
- Language preferences for bilingual output
Technical Architecture¶
The processing pipeline follows a structured workflow:
- Configuration: Define sources, thresholds, models, and outputs
- Fetch: Concurrently pull content from all configured sources
- Deduplicate: Merge items pointing to the same story or URL
- Score & Filter: Use AI to rank and filter based on thresholds
- Enrich: Add context and collect community discussion
- Summarize: Generate structured Markdown briefing
- Deliver: Publish to configured output channels
Getting Started¶
Quick Setup Process¶
- Installation: Choose between local installation or Docker deployment
- Configuration: Use the interactive wizard or manual setup
- Execution: Run Horizon with default 24-hour window or custom timeframes
- Automation: Optionally set up GitHub Actions for daily automation
System Requirements¶
- Python 3.10+ for local installation
- Docker for containerized deployment
- Various API keys for AI providers and integrated services
Project Status and Future Development¶
Horizon currently supports the complete daily briefing loop with all major features implemented. Planned improvements include additional source types (such as Discord), custom scoring prompts per source, and direct PyPI package publication.
The project maintains an active community with 5.3k GitHub stars and 727 forks, demonstrating strong interest in automated content curation solutions.
Conclusion¶
Horizon represents a sophisticated approach to managing information overload through AI-powered content curation. By combining multiple data sources, intelligent filtering, and flexible delivery options, it provides users with personalized daily briefings that cut through the noise. Its open-source nature, combined with extensive customization options and multi-language support, makes it a versatile tool for professionals, researchers, and content enthusiasts seeking to stay informed efficiently.