49 lines
1.7 KiB
Python
49 lines
1.7 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 / "creator.db"
|
|
PROJECTS_DIR = PROJECT_ROOT / "projects"
|
|
|
|
MAX_CONCURRENT_GENERATIONS = 10
|
|
|
|
# Timeouts pro Agenten-Schritt: (Basis-Sekunden, Sekunden pro Baustein/Section).
|
|
# Gilt für alle Provider gleich — wer zu langsam ist, wird neu gestartet bzw. überholt.
|
|
TIMEOUTS = {
|
|
"recherche": (1800, 0), # fix 30 min
|
|
"auswahl": (600, 10),
|
|
"auswahl_check": (300, 2),
|
|
"einordnung": (300, 5),
|
|
"final": (300, 2), # verifiziert nur noch, kleiner Output
|
|
"sortierung": (300, 2),
|
|
"plan": (300, 5),
|
|
"writer": (600, 120), # pro Section im Chunk
|
|
"onepager_recherche": (900, 0),
|
|
"onepager_bauen": (300, 0),
|
|
"onepager_verify": (300, 0),
|
|
}
|
|
|
|
# Provider-Stacks: komplett unabhängig, einer kann jederzeit entfernt werden.
|
|
# Rollen: "quick" = Massenarbeit (Recherche, Einordnung),
|
|
# "fast" = Urteilsaufgaben mit kleinem Output (Auswahl, Final, OnePager, Chat),
|
|
# "guide" = große Generierung (Plan, Writer).
|
|
DEFAULT_PROVIDER = "claude"
|
|
PROVIDERS = {
|
|
"claude": {
|
|
"cli": "claude",
|
|
"guide": "claude-opus-4-8[1m]",
|
|
"fast": "claude-sonnet-4-6",
|
|
"quick": "claude-haiku-4-5",
|
|
"env_key": None, # Auth via CLAUDE_CODE_OAUTH_TOKEN oder ~/.claude
|
|
},
|
|
"minimax": {
|
|
"cli": "opencode",
|
|
"guide": "minimax/MiniMax-M3",
|
|
"fast": "minimax/MiniMax-M2.7-highspeed",
|
|
"quick": "minimax/MiniMax-M2.7-highspeed",
|
|
"env_key": "MINIMAX_API_KEY",
|
|
},
|
|
}
|