"""视频流、待确认、归档与可观测性默认可调参数(非 env)。""" # --- 手术录制 API 重试 --- SURGERY_RECORDING_MAX_ATTEMPTS: int = 3 SURGERY_RECORDING_RETRY_DELAY_SECONDS: float = 1.0 # --- RTSP 连接与抽帧、推理门控(不含 URL,URL 在 Settings)--- VIDEO_OPEN_TIMEOUT_SEC: float = 15.0 VIDEO_READ_FAILURE_RECONNECT_THRESHOLD: int = 15 VIDEO_RECONNECT_BACKOFF_SECONDS: float = 1.0 VIDEO_INFERENCE_INTERVAL_SEC: float = 2.0 VIDEO_INFERENCE_CONFIDENCE_THRESHOLD: float = 0.35 VIDEO_AUTO_CONFIRM_CONFIDENCE: float = 0.9 VIDEO_VOICE_CONFIRM_MIN_CONFIDENCE: float = 0.35 VOICE_CONFIRMATION_ENABLED: bool = True VIDEO_VOICE_CONFIRM_DOCTOR_ID: str = "voice" VIDEO_DETAIL_COOLDOWN_SEC: float = 15.0 VIDEO_JPEG_QUALITY: int = 85 VIDEO_RESULT_DOCTOR_ID: str = "vision" VIDEO_LOG_INFERENCE_RESULTS: bool = False # --- 停录后归档重试 + durable fallback --- ARCHIVE_PERSIST_RETRY_INTERVAL_SECONDS: float = 30.0 ARCHIVE_PERSIST_MAX_RETRIES: int = 12 ARCHIVE_PERSIST_BACKOFF_CAP_SECONDS: float = 900.0 ARCHIVE_PERSIST_DURABLE_FALLBACK_DIR: str = "logs/pending_archive" ARCHIVE_PERSIST_DURABLE_FALLBACK_ENABLED: bool = True # --- 消耗/语音 文本日志与终端展示 --- CONSUMPTION_TSV_LOG_ENABLED: bool = True CONSUMPTION_TSV_LOG_PATH: str = "logs/consumption_{surgery_id}.txt" CONSUMPTION_LOG_MARKDOWN_TERMINAL: bool = True CONSUMPTION_LOG_TIMEZONE: str = "" VOICE_FILE_LOG_ENABLED: bool = True VOICE_FILE_LOG_PATH: str = "logs/voice_{surgery_id}.txt" VOICE_UPLOAD_MAX_BYTES: int = 10 * 1024 * 1024 VOICE_CONFIRM_MAX_FAILED_PARSE_ROUNDS: int = 2