How ethan851/horizon_message_get works
Horizon turns configured feeds and social/financial sources into ranked, enriched, multilingual news briefings, then delivers them through local output, email, webhooks, or MCP. The main CLI loads configuration and starts the orchestrator; the orchestrator owns source fetching and the documented processing stages. The setup wizard and MCP staged-run interface are separate product entry points. Some subsystem wiring is based on README capabilities because their implementation excerpts were not provided; uncertain call details are omitted.
Main entry points: orchestrator.py Pipeline Orchestrator · service.py Staged Pipeline Service · main.py Daily CLI · manager.py Config and State
Components 28
Entry and Configuration
- Daily CLI
src/main.py - Setup Wizard
src/setup/wizard.py - Config and State
src/storage/manager.py - Domain Models
src/models.py
Source Collection
- Hacker News
src/scrapers/hackernews.py - Reddit
src/scrapers/reddit.py - RSS Feeds
src/scrapers/rss.py - Telegram
src/scrapers/telegram.py - Twitter/X
src/scrapers/twitter.py - GitHub Activity
src/scrapers/github.py - OpenBB News
src/scrapers/openbb.py - OSSInsight
src/scrapers/ossinsight.py
Story Analysis
- Pipeline Orchestrator
src/orchestrator.py - Cross-source Merge
src/orchestrator.py - Scoring and Analysis
src/ai/analyzer.py - Context Enrichment
src/ai/enricher.py - Related Story Search
src/search.py - Briefing Summaries
src/ai/summarizer.py
Briefing Delivery
- Email Newsletter
src/services/email.py - Webhook Notifications
src/services/webhook.py - Daily Site Output
src/orchestrator.py
Automation Interfaces
- MCP Server
src/mcp/server.py - Staged Pipeline Service
src/mcp/service.py - Run Artifacts
src/mcp/run_store.py
Other components
- Horizon User
- AI Model APIs
- Web Search
- Delivery Channels
Connections 41
- Horizon User → Daily CLI: runs
- Horizon User → Setup Wizard: configures
- Setup Wizard → Config and State: saves config
- Daily CLI → Config and State: loads config
- Daily CLI → Pipeline Orchestrator: starts run
- Config and State → Pipeline Orchestrator: provides settings
- Pipeline Orchestrator → Hacker News: fetches stories
- Pipeline Orchestrator → Reddit: fetches posts
- Pipeline Orchestrator → RSS Feeds: fetches feeds
- Pipeline Orchestrator → Telegram: fetches posts
- Pipeline Orchestrator → Twitter/X: fetches activity
- Pipeline Orchestrator → GitHub Activity: fetches activity
- Pipeline Orchestrator → OpenBB News: fetches news
- Pipeline Orchestrator → OSSInsight: fetches trends
- Hacker News → Pipeline Orchestrator: returns items
- Reddit → Pipeline Orchestrator: returns items
- RSS Feeds → Pipeline Orchestrator: returns items
- Telegram → Pipeline Orchestrator: returns items
- Twitter/X → Pipeline Orchestrator: returns items
- GitHub Activity → Pipeline Orchestrator: returns items
- OpenBB News → Pipeline Orchestrator: returns items
- OSSInsight → Pipeline Orchestrator: returns items
- Pipeline Orchestrator → Cross-source Merge: merges duplicates
- Cross-source Merge → Pipeline Orchestrator: returns merged items
- Pipeline Orchestrator → Scoring and Analysis: scores items
- Scoring and Analysis → AI Model APIs: requests scoring
- Pipeline Orchestrator → Context Enrichment: enriches important items
- Context Enrichment → Related Story Search: requests related stories
- Related Story Search → Web Search: searches stories
- Pipeline Orchestrator → Briefing Summaries: generates briefings
- Briefing Summaries → AI Model APIs: requests summaries
- Pipeline Orchestrator → Daily Site Output: publishes briefing
- Pipeline Orchestrator → Email Newsletter: sends newsletter
- Email Newsletter → Delivery Channels: delivers email
- Pipeline Orchestrator → Webhook Notifications: sends notifications
- Webhook Notifications → Delivery Channels: posts messages
- Horizon User → MCP Server: invokes tools
- MCP Server → Staged Pipeline Service: dispatches requests
- Staged Pipeline Service → Pipeline Orchestrator: runs pipeline stages
- Staged Pipeline Service → Run Artifacts: stores run stages
- Staged Pipeline Service → Run Artifacts: reads run stages