import os from dataclasses import dataclass, field from pathlib import Path from dotenv import load_dotenv load_dotenv(Path(__file__).resolve().parent.parent / ".env") @dataclass(frozen=True) class Settings: # LLM 配置 llm_api_key: str = field( default_factory=lambda: os.environ["LLM_API_KEY"], repr=False, ) llm_model: str = field(default_factory=lambda: os.environ["LLM_MODEL"]) llm_base_url: str | None = field( default_factory=lambda: os.getenv("LLM_BASE_URL") or None ) llm_timeout: float = 60.0 llm_max_retries: int = 2 settings = Settings()