50 lines
1.5 KiB
Python
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-4 Seiten", "time": "~15 Min"},
|
|
"Guide": {"pages": "15-250 Seiten", "time": "variabel"},
|
|
"EndGuide": {"pages": "120-150 Seiten", "time": "~6h"},
|
|
}
|
|
|
|
AGENT_TIMEOUT = 3600
|
|
|
|
MAX_CONCURRENT_GENERATIONS = 6
|
|
|
|
# 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
|
|
},
|
|
}
|