Code
Hub
Workspaces
Following
Trending
Connect
MCP
copy
Create free account
hub
/
github.com/Thysrael/Horizon
/ functions
Functions
669 in github.com/Thysrael/Horizon
⨍
Functions
669
◇
Types & classes
97
↓ 3 callers
Method
has_stage
(self, run_id: str, stage: str)
src/mcp/run_store.py:50
↓ 3 callers
Method
list_runs
List runs sorted by create/update time descending.
src/mcp/run_store.py:81
↓ 3 callers
Method
load_meta
(self, run_id: str)
src/mcp/run_store.py:78
↓ 3 callers
Method
login
(self, username, password)
tests/test_email.py:23
↓ 3 callers
Function
make_orchestrator
Build native Horizon orchestrator.
src/mcp/horizon_adapter.py:178
↓ 3 callers
Function
redact_url
Return a log-safe URL without query strings or fragments.
src/services/webhook.py:199
↓ 3 callers
Function
resolve_horizon_path
Resolve Horizon repository path by explicit arg/env/common locations.
src/mcp/horizon_adapter.py:47
↓ 3 callers
Method
save_summary
(self, run_id: str, language: str, markdown: str)
src/mcp/run_store.py:59
↓ 3 callers
Method
send_failure
Send webhook notification when the pipeline fails. Args: date: Date string (YYYY-MM-DD) error_message: Description of
src/services/webhook.py:753
↓ 3 callers
Method
validate_config
( self, horizon_path: str | None = None, config_path: str | None = None, sourc
src/mcp/service.py:161
↓ 3 callers
Method
write_json
(self, run_id: str, filename: str, payload: Any)
src/mcp/run_store.py:110
↓ 2 callers
Method
_build_feishu_collapsible_overview
Build a non-redundant overview for a card that already lists item panels.
src/services/webhook.py:340
↓ 2 callers
Method
_create_completion
( self, *, system: str, user: str, temperature: float, max_tok
src/ai/client.py:424
↓ 2 callers
Method
_do_request
( self, *, system: str, user: str, temperature: float, max_tok
src/ai/client.py:296
↓ 2 callers
Method
_fetch_dataset
(self, token: str, dataset_id: str)
src/scrapers/twitter.py:110
↓ 2 callers
Method
_fetch_story
(self, story_id: int)
src/scrapers/hackernews.py:78
↓ 2 callers
Method
_format_item
Format a single ContentItem into Markdown.
src/ai/summarizer.py:163
↓ 2 callers
Method
_generate_empty_summary
Generate summary when no high-scoring items were found.
src/ai/summarizer.py:251
↓ 2 callers
Method
_get_headers
Get request headers with optional authentication. Returns: dict: HTTP headers
src/scrapers/github.py:29
↓ 2 callers
Function
_gh_key
Generate unique key for a GitHub source.
src/setup/wizard.py:347
↓ 2 callers
Function
_is_horizon_repo
(path: Path)
src/mcp/horizon_adapter.py:265
↓ 2 callers
Function
_load_mcp_secrets
Load MCP secrets from JSON and inject string environment variables.
src/mcp/horizon_adapter.py:269
↓ 2 callers
Function
_markdown
Build a Feishu Markdown component.
src/services/webhook.py:147
↓ 2 callers
Function
_mock_response
(content: str = '{"ok": true}')
tests/test_azure_client.py:29
↓ 2 callers
Function
_old_listing_html_for
(subreddit: str, post_id: str)
tests/test_reddit.py:92
↓ 2 callers
Method
_parse_symbols
(raw_symbols: Any)
src/scrapers/openbb.py:217
↓ 2 callers
Method
_render_request_components
Render the final request URL, body, and headers for the given variables.
src/services/webhook.py:304
↓ 2 callers
Function
_run_async
(coro)
tests/test_summarizer.py:10
↓ 2 callers
Method
_run_path
(self, run_id: str)
src/mcp/run_store.py:133
↓ 2 callers
Method
_save_subscribers
Helper to save subscribers list.
src/storage/manager.py:146
↓ 2 callers
Method
_send_reply
Helper to send a simple reply.
src/services/email.py:222
↓ 2 callers
Function
_source_unique_key
Generate a unique key for a source to enable deduplication.
src/setup/presets.py:281
↓ 2 callers
Method
_stars_int
Pull star count out of a row, coercing to int.
src/scrapers/ossinsight.py:132
↓ 2 callers
Method
_sub_source_label
Return a human-readable sub-source label for an item.
src/orchestrator.py:354
↓ 2 callers
Method
_summary_file
(language: str)
src/mcp/run_store.py:144
↓ 2 callers
Method
_translate_item
Lightweight translation fallback: when full enrichment fails, at least translate the title and summary to Chinese so the item is not dropped.
src/ai/enricher.py:239
↓ 2 callers
Method
_utc_now
()
src/mcp/run_store.py:155
↓ 2 callers
Method
_wait_for_run
(self, token: str, run_id: str)
src/scrapers/twitter.py:90
↓ 2 callers
Method
apply_balanced_digest
Apply configured category quotas and the final item cap. Categories are read from ``item.metadata["category"]``. If a category appear
src/orchestrator.py:506
↓ 2 callers
Function
apply_source_filter
Return filtered config and source selection diagnostics.
src/mcp/horizon_adapter.py:184
↓ 2 callers
Method
check_subscriptions
Checks inbox for subscription requests and updates subscriber list.
src/services/email.py:54
↓ 2 callers
Function
clean_app_summary_markdown
Flatten app-generated HTML snippets embedded in summary Markdown. Unknown raw HTML is intentionally left in place so callers can choose their
src/ai/markdown_utils.py:96
↓ 2 callers
Method
complete
Generate completion using Azure OpenAI. Args: system: System prompt user: User prompt temperature: Sampli
src/ai/client.py:372
↓ 2 callers
Method
enrich_batch
Enrich items in-place with background knowledge. Args: items: Content items to enrich (modified in-place)
src/ai/enricher.py:39
↓ 2 callers
Method
enrich_items
( self, run_id: str, source_stage: str = "filtered", horizon_path: str | None
src/mcp/service.py:388
↓ 2 callers
Method
fetch_all_sources
Fetch content from all configured sources. This is a stable stage entry point for integrations such as MCP. Args: since:
src/orchestrator.py:247
↓ 2 callers
Method
generate_summary
( self, run_id: str, language: str = "zh", source_stage: str | None = None,
src/mcp/service.py:431
↓ 2 callers
Method
generate_webhook_overview
Generate a compact overview for multi-message webhook delivery.
src/ai/summarizer.py:116
↓ 2 callers
Function
get_enabled_sources
List enabled top-level source types in effective config.
src/mcp/horizon_adapter.py:222
↓ 2 callers
Method
get_run_meta
Read run metadata.
src/mcp/service.py:77
↓ 2 callers
Method
get_run_stage
Read staged item payload (JSON).
src/mcp/service.py:90
↓ 2 callers
Method
get_run_summary
Read generated markdown summary for a run.
src/mcp/service.py:123
↓ 2 callers
Function
get_source_counts
Count items by source type.
src/mcp/horizon_adapter.py:255
↓ 2 callers
Function
hz_get_metrics
Read in-memory server metrics.
src/mcp/server.py:380
↓ 2 callers
Function
load_config
Load Horizon config using native pydantic model.
src/mcp/horizon_adapter.py:155
↓ 2 callers
Function
load_runtime
Load Horizon modules dynamically from local repository path.
src/mcp/horizon_adapter.py:109
↓ 2 callers
Method
load_summary
(self, run_id: str, language: str)
src/mcp/run_store.py:65
↓ 2 callers
Method
merge_cross_source_duplicates
Merge items that point to the same URL from different sources. This is a stable stage helper for integrations such as MCP. Keeps the
src/orchestrator.py:377
↓ 2 callers
Method
merge_topic_duplicates
Merge items covering the same topic using AI semantic deduplication. This is a stable stage helper for integrations such as MCP. Sen
src/orchestrator.py:433
↓ 2 callers
Function
redact_headers
Mask sensitive header values for logs and dry-run output.
src/services/webhook.py:210
↓ 2 callers
Function
resolve_config_path
Resolve config path, defaulting to <horizon>/data/config.json.
src/mcp/horizon_adapter.py:86
↓ 2 callers
Method
save_daily_summary
(self, date: str, markdown: str, language: str = "en")
src/storage/manager.py:111
↓ 2 callers
Method
score_items
( self, run_id: str, source_stage: str = "raw", horizon_path: str | None = Non
src/mcp/service.py:272
↓ 2 callers
Method
send_message
(self, message)
tests/test_email.py:26
↓ 2 callers
Function
setLang
(lang)
docs/assets/js/horizon.js:106
↓ 2 callers
Function
showSection
(lang)
docs/assets/js/horizon.js:83
↓ 2 callers
Function
updateButtons
(lang)
docs/assets/js/horizon.js:69
↓ 1 callers
Function
_ai_recommendations_available
(ai_config: AIConfig)
src/setup/wizard.py:106
↓ 1 callers
Method
_analyze_content
Analyze content items with AI. Args: items: Items to analyze Returns: List[ContentItem]: Analyzed items
src/orchestrator.py:689
↓ 1 callers
Method
_analyze_item
Analyze a single content item. Args: item: Content item to analyze (modified in-place)
src/ai/analyzer.py:82
↓ 1 callers
Method
_build_feishu_collapsible_body
Build a single Feishu Card JSON 2.0 message with collapsed item details.
src/services/webhook.py:372
↓ 1 callers
Method
_can_use_feishu_collapsible
Return whether this notifier should render Feishu collapsible cards.
src/services/webhook.py:334
↓ 1 callers
Method
_check_body_error_code
Check if a 2xx response body contains a platform-specific error code. Returns a descriptive string if an error is detected, or None if the
src/services/webhook.py:615
↓ 1 callers
Function
_collapsible_panel
Build a Feishu Card JSON 2.0 collapsible panel.
src/services/webhook.py:152
↓ 1 callers
Function
_convert_details_to_markdown
Convert HTML details blocks into plain Markdown sections.
src/ai/markdown_utils.py:62
↓ 1 callers
Function
_count_sources
Count total number of enabled sources.
src/setup/wizard.py:442
↓ 1 callers
Function
_create_single_client
Create a single AI client instance.
src/ai/client.py:517
↓ 1 callers
Function
_default_runs_root
()
src/mcp/service.py:29
↓ 1 callers
Method
_derive_native_id
Build a stable id from url + timestamp to survive URL mirrors.
src/scrapers/openbb.py:235
↓ 1 callers
Method
_determine_time_window
(self, force_hours: int = None)
src/orchestrator.py:239
↓ 1 callers
Method
_empty_comments
()
src/scrapers/reddit.py:349
↓ 1 callers
Method
_enrich_important_items
Enrich items with background knowledge (2nd AI pass). For each item that passed the score threshold, call AI to generate background k
src/orchestrator.py:671
↓ 1 callers
Method
_enrich_item
Enrich a single item with background knowledge. Steps: 1. Ask AI which concepts in the news need explanation 2. Search the we
src/ai/enricher.py:136
↓ 1 callers
Method
_ensure_utc
(moment: datetime)
src/scrapers/openbb.py:186
↓ 1 callers
Method
_ensure_utc
(moment: datetime)
src/scrapers/google_news.py:220
↓ 1 callers
Method
_entry_to_item
Map one Google News RSS entry into a ContentItem. Returns None when the entry has no title/link or an unparseable published date (pub
src/scrapers/google_news.py:129
↓ 1 callers
Method
_expand_twitter_discussion
Second-stage: fetch reply text for important Twitter items and re-analyze. Only runs when sources.twitter.fetch_reply_text is True. B
src/orchestrator.py:616
↓ 1 callers
Method
_extract_concepts
Ask AI to identify concepts that need explanation. Args: item: Content item content_text: Extracted content text
src/ai/enricher.py:102
↓ 1 callers
Method
_extract_content
Extract text content from feed entry. Args: entry: Feed entry data Returns: str: Extracted text content
src/scrapers/rss.py:147
↓ 1 callers
Method
_extract_content
Extract text content from a Google News entry, if any.
src/scrapers/google_news.py:205
↓ 1 callers
Method
_extract_reply_lines
Convert scweet rows into compact reply lines.
src/scrapers/twitter.py:162
↓ 1 callers
Method
_extract_source_name
Extract the publisher name from a Google News entry, guarding misses.
src/scrapers/google_news.py:175
↓ 1 callers
Method
_fetch_channel
(self, cfg: TelegramChannelConfig, since: datetime)
src/scrapers/telegram.py:49
↓ 1 callers
Method
_fetch_comments
Fetch multiple comments concurrently.
src/scrapers/hackernews.py:86
↓ 1 callers
Method
_fetch_comments
(self, subreddit: str, post_id: str)
src/scrapers/reddit.py:375
↓ 1 callers
Method
_fetch_comments_html
( self, subreddit: str, post_id: str, fetch_limit: int )
src/scrapers/reddit.py:400
↓ 1 callers
Method
_fetch_feed
Fetch items from a single RSS feed. Args: source: RSS feed configuration since: Only fetch items after this time
src/scrapers/rss.py:53
↓ 1 callers
Method
_fetch_period
Call OSS Insight API for one (period, language) combo.
src/scrapers/ossinsight.py:61
↓ 1 callers
Method
_fetch_repo_releases
Fetch releases for a repository. Args: owner: Repository owner repo: Repository name since: Only fetch re
src/scrapers/github.py:171
↓ 1 callers
Method
_fetch_subreddit
( self, cfg: RedditSubredditConfig, since: datetime )
src/scrapers/reddit.py:75
← previous
next →
101–200 of 669, ranked by callers