Files
Brancheneinstufung2/BUILDER_APPS_MIGRATION.md

2.5 KiB

Migration Guide: Google AI Builder Apps -> Local Docker Stack

CRITICAL WARNINGS & BEST PRACTICES (READ BEFORE MIGRATION):

  1. DIE GOLDENE REGEL DER STRINGS: Nutze NIEMALS f"""...""" für komplexe Prompts oder Listen-Operationen mit verschachtelten Keys. Es führt unweigerlich zu SyntaxError: unterminated string literal. Nutze AUSSCHLIESSLICH Triple Raw Quotes (r"""...""") und die .format() Methode.
  2. SDK WAHL (DUAL SDK): Das moderne google-genai ist gut, aber das Legacy google-generativeai ist oft stabiler für reinen Text (gemini-2.0-flash). Nutze die "Dual SDK Strategy" aus helpers.py.
  3. GROUNDED TRUTH (MUSS): Verlasse dich niemals auf das Wissen des Modells allein. Implementiere immer Web-Scraping (Homepage + Unterseiten) und SerpAPI-Suchen, um das Modell mit Fakten zu füttern.
  4. DOCKER VOLUMES: Mounte nur spezifische Dateien, niemals den dist-Ordner überschreiben. Bei Syntax-Fehlern, die trotz Korrektur bleiben: docker-compose build --no-cache.

0. Der "Quick-Start" Checkliste (5-Minuten-Plan)

  1. SDK: Stehen beide SDKs in der requirements.txt?
  2. Prompts: Sind alle Prompts als r"""...""".format() angelegt?
  3. Grounding: Werden Produkt- und Branchenseiten gescrapt?
  4. Package.json: Sind Build-Tools in dependencies?
  5. Vite Config: Ist base: './' gesetzt?

1. Vorbereitung & Abhängigkeiten (Common Pitfalls)

Bevor Code kopiert wird, müssen die Grundlagen stimmen.

1.1 Package.json Check (Frontend Build-Falle)

Build-Tools wie vite, @vitejs/plugin-react oder typescript müssen in den dependencies stehen, nicht in devDependencies. Der multi-stage Docker-Build installiert standardmäßig keine dev-dependencies.

1.2 Python Syntax & F-Strings (Der Prompt-Albtraum)

Verschachtelte Anführungszeichen in F-Strings sprengen den Python-Parser in vielen Umgebungen. RICHTIG:

prompt = r"""
Analysiere "{name}". Antworte JSON: {{"key": "value"}}
""".format(name=item['name'])

1.3 Volume Mounts & Datei-Synchronisierung

Einzeldatei-Mounts (- ./file.py:/app/file.py) sind oft unzuverlässig bei schnellen Code-Änderungen. Im Zweifel das Image neu bauen.


2. Die AI Engine (Standard)

Nutze für alle Services die Logik aus gtm_architect_orchestrator.py:

  1. Dual SDK Support (Legacy + Modern).
  2. Modell-Fallback (Versuche 2.0-flash, dann 1.5-flash).
  3. Grounded Scraping vor jedem KI-Aufruf.

Dokumentation finalisiert am 10.01.2026 nach der Competitor-Analysis Odyssee.