aktueller stand

This commit is contained in:
2026-02-03 12:48:43 +01:00
parent e1ecd1a38c
commit b50594dbfa
77 changed files with 19139 additions and 0 deletions

57
src/config.py Normal file
View File

@@ -0,0 +1,57 @@
"""Configuration management for LinkedIn Workflow."""
from typing import Optional
from pydantic_settings import BaseSettings, SettingsConfigDict
from pathlib import Path
class Settings(BaseSettings):
"""Application settings loaded from environment variables."""
# API Keys
openai_api_key: str
perplexity_api_key: str
apify_api_key: str
# Supabase
supabase_url: str
supabase_key: str
# Apify
apify_actor_id: str = "apimaestro~linkedin-profile-posts"
# Web Interface
web_password: str = ""
session_secret: str = ""
# Development
debug: bool = False
log_level: str = "INFO"
# Email Settings
smtp_host: str = ""
smtp_port: int = 587
smtp_user: str = ""
smtp_password: str = ""
smtp_from_name: str = "LinkedIn Post System"
email_default_recipient: str = ""
# Writer Features (can be toggled to disable new features)
writer_multi_draft_enabled: bool = True # Generate multiple drafts and select best
writer_multi_draft_count: int = 3 # Number of drafts to generate (2-5)
writer_semantic_matching_enabled: bool = True # Use semantically similar example posts
writer_learn_from_feedback: bool = True # Learn from recurring critic feedback
writer_feedback_history_count: int = 10 # Number of past posts to analyze for patterns
# User Frontend (LinkedIn OAuth via Supabase)
user_frontend_enabled: bool = True # Enable user frontend with LinkedIn OAuth
supabase_redirect_url: str = "" # OAuth Callback URL (e.g., https://linkedin.onyva.dev/auth/callback)
model_config = SettingsConfigDict(
env_file=".env",
env_file_encoding="utf-8",
case_sensitive=False
)
# Global settings instance
settings = Settings()