feat: scaffold meet_kevin_watcher service + config
This commit is contained in:
parent
61adf63c7d
commit
8edcb070ed
2 changed files with 31 additions and 0 deletions
0
services/meet_kevin_watcher/__init__.py
Normal file
0
services/meet_kevin_watcher/__init__.py
Normal file
31
services/meet_kevin_watcher/config.py
Normal file
31
services/meet_kevin_watcher/config.py
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
"""Configuration for the Meet Kevin watcher service."""
|
||||
|
||||
from shared.config import BaseConfig
|
||||
|
||||
|
||||
class MeetKevinWatcherConfig(BaseConfig):
|
||||
"""Meet Kevin watcher settings.
|
||||
|
||||
Extends :class:`BaseConfig` with YouTube channel monitoring,
|
||||
caption fetching, and LLM analysis settings. All settings can be
|
||||
overridden via environment variables prefixed with ``TRADING_``.
|
||||
"""
|
||||
|
||||
# YouTube settings
|
||||
meet_kevin_channel_id: str = "UCUvvj5lwue7PspotMDjk5UA"
|
||||
meet_kevin_poll_interval_seconds: int = 10800
|
||||
meet_kevin_max_caption_retries: int = 5
|
||||
|
||||
# LLM analysis settings
|
||||
meet_kevin_max_llm_retries: int = 3
|
||||
meet_kevin_llm_model: str = "claude-sonnet-4-6"
|
||||
meet_kevin_prompt_version: str = "v1"
|
||||
meet_kevin_daily_cost_cap_usd: float = 5.0
|
||||
|
||||
# API credentials
|
||||
anthropic_api_key: str = ""
|
||||
|
||||
# Runtime settings
|
||||
meet_kevin_workdir: str = "/tmp/meet_kevin_captions"
|
||||
otel_service_name: str = "meet-kevin-watcher"
|
||||
otel_metrics_port: int = 9097
|
||||
Loading…
Add table
Add a link
Reference in a new issue