Files
guides/backend/config.py
2026-06-04 22:24:37 +02:00

50 lines
1.5 KiB
Python

from pathlib import Path
PROJECT_ROOT = Path(__file__).resolve().parent.parent
TEMPLATES_DIR = PROJECT_ROOT / "templates"
STORAGE_DIR = PROJECT_ROOT / "storage"
FRONTEND_DIST = PROJECT_ROOT / "frontend" / "dist"
DB_PATH = STORAGE_DIR / "guides.db"
PROJECTS_DIR = PROJECT_ROOT / "projects"
PROJECTS_CACHE_DIR = STORAGE_DIR / "projects"
ALLOWED_FORMATS = [
"OnePager",
"Cheatsheet",
"MiniGuide",
"Guide",
"EndGuide",
]
FORMAT_META = {
"OnePager": {"pages": "1 Seite", "time": "~5 Min"},
"Cheatsheet": {"pages": "1 Seite", "time": "~10 Min"},
"MiniGuide": {"pages": "3-5 Seiten", "time": "~15-25 Min"},
"Guide": {"pages": "10-30 Seiten", "time": "variabel"},
"EndGuide": {"pages": "50-250 Seiten", "time": "variabel"},
}
AGENT_TIMEOUT = 3600
MAX_CONCURRENT_GENERATIONS = 10
# Provider-Stacks: komplett unabhängig, einer kann jederzeit entfernt werden.
# Rollen: "guide" = große Generierung/Review, "fast" = Bausteine/Chat/Sortierung.
DEFAULT_PROVIDER = "claude"
PROVIDERS = {
"claude": {
"cli": "claude",
"guide": "claude-opus-4-8[1m]",
"fast": "claude-sonnet-4-6",
"env_key": None, # Auth via CLAUDE_CODE_OAUTH_TOKEN oder ~/.claude
"timeout_factor": 1,
},
"minimax": {
"cli": "opencode",
"guide": "minimax/MiniMax-M3",
"fast": "minimax/MiniMax-M3",
"env_key": "MINIMAX_API_KEY",
"timeout_factor": 3, # M3 ist bei großen Dokumenten deutlich langsamer
},
}