feat(b2b-marketing): Finalize grounding architecture and frontend improvements
- Upgrade backend to use gemini-2.5-flash with sanitized HTML parsing (no token limit). - Implement robust retry logic and increased timeouts (600s) for deep analysis. - Add file-based logging for prompts and responses. - Fix API endpoint (v1) and regex parsing issues. - Frontend: Optimize PDF export (landscape, no scrollbars), fix copy-paste button, add 'Repeat Step 6' feature. - Update documentation to 'Completed' status.
This commit is contained in:
102
b2b_marketing_assistant_plan.md
Normal file
102
b2b_marketing_assistant_plan.md
Normal file
@@ -0,0 +1,102 @@
|
||||
# Plan: Umsetzung des "B2B Marketing Assistant" Backends
|
||||
|
||||
Dieses Dokument beschreibt den Plan zur Umsetzung der Backend-Logik für die React-Anwendung unter `/b2b-marketing-assistant` als robusten, faktenbasierten Python-Service. Das primäre Ziel ist es, die Konsistenz und Zuverlässigkeit der Analyseergebnisse durch "Grounding" (Verankerung in realen Daten) signifikant zu erhöhen.
|
||||
|
||||
## 1. Zielsetzung & Architektur
|
||||
|
||||
- **Ziel:** Transformation der reinen Frontend-Anwendung in einen Service mit einem Python-Backend, das vor jeder KI-Analyse eine solide Faktenbasis durch Web-Scraping schafft. Dadurch werden die Ergebnisse reproduzierbar und basieren auf den tatsächlichen Inhalten der Unternehmens-Website.
|
||||
- **Architektur:** Wir replizieren den bewährten Aufbau des "Market Intelligence" Tools:
|
||||
1. **React-Frontend:** Die Benutzeroberfläche in `/b2b-marketing-assistant` bleibt bestehen, wird aber von direkten KI-Aufrufen befreit.
|
||||
2. **Node.js API-Brücke (`server.cjs`):** Ein minimaler Express.js-Server, der Anfragen vom Frontend annimmt und an das Python-Backend weiterleitet.
|
||||
3. **Python-Orchestrator (`b2b_marketing_orchestrator.py`):** Das neue Herzstück, das die gesamte Logik kapselt.
|
||||
|
||||
## 2. Kernprozess mit "Grounding"
|
||||
|
||||
Der 6-stufige Prozess der App wird im Backend abgebildet, wobei die ersten Schritte fundamental geändert werden:
|
||||
|
||||
1. **Schritt 1 (Angebot) & 2 (Zielgruppen):**
|
||||
* **Intelligentes Scraping:** Das Python-Skript crawlt die gegebene URL und sucht aktiv nach Unterseiten wie "Produkte", "Lösungen", "Branchen" etc.
|
||||
* **Text-Extraktion:** Der relevante Inhalt dieser Seiten wird extrahiert und zu einem "Grounding-Dokument" zusammengefasst.
|
||||
* **KI als Extraktions-Engine:** Die KI wird angewiesen, **ausschließlich auf Basis dieses extrahierten Textes** das Angebot und die Zielgruppen zu identifizieren und zu strukturieren. Halluzinationen werden so unterbunden.
|
||||
|
||||
2. **Schritt 3-6 (Personas, Pains, Gains, Messages):**
|
||||
* Diese Schritte bauen auf den validierten, faktenbasierten Ergebnissen aus Schritt 1 & 2 auf. Die gesamte Logikkette wird dadurch stabiler und konsistenter.
|
||||
|
||||
## 3. Strategische Vision: Integration der Tools
|
||||
|
||||
Dieses Projekt ist der erste Schritt zur Schaffung eines einheitlichen "Strategy & Audit"-Workflows.
|
||||
|
||||
- **Phase 1 (Aktuelles Projekt):** Wir bauen den "B2B Marketing Assistant" als eigenständigen Service mit einem modularen Python-Backend.
|
||||
- **Phase 2 (Zukünftig):** Die wiederverwendbaren Python-Module (Scraping, API-Handler etc.) werden mit dem `market_intel_orchestrator.py` zu einem einzigen, leistungsfähigen Backend verschmolzen. Der Workflow wäre dann nahtlos:
|
||||
1. **Strategie definieren:** Mit dem B2B Marketing Assistant eine Tiefenanalyse eines Referenzkunden durchführen.
|
||||
2. **Markt auditieren:** Die erstellte Strategie direkt nutzen, um Lookalikes zu finden und zu bewerten.
|
||||
|
||||
## 4. Fortschritts-Log
|
||||
|
||||
### Phase 1: Initialisierung & Planung
|
||||
|
||||
- [x] Anforderungsanalyse und Zieldefinition (Grounding, Konsistenz).
|
||||
|
||||
- [x] Architektur nach Vorbild `market-intel-backend` festgelegt.
|
||||
|
||||
- [x] Diesen Schlachtplan in `b2b_marketing_assistant_plan.md` erstellt.
|
||||
|
||||
- [x] Aufbau der Grundstruktur: Erstellen der `b2b_marketing_orchestrator.py`, der `server.cjs` in `/b2b-marketing-assistant` und des `Dockerfile`.
|
||||
|
||||
- [x] Erstellung von `package.json` und `requirements.txt`.
|
||||
|
||||
- [x] Anpassung des Frontends (`App.tsx`) für die Kommunikation mit dem neuen Backend.
|
||||
|
||||
- [x] Entfernen von Frontend-Dateien und -Inhalten, die nicht mehr benötigt werden (`parser.ts`, Prompts aus `constants.ts`).
|
||||
|
||||
- [x] Implementierung der `start_generation`-Logik im Python-Backend (Scraping, Grounding, initialer Gemini-Aufruf für Schritt 1).
|
||||
|
||||
- [x] Implementierung der `next_step`-Logik im Python-Backend (mehrstufige Gemini-Aufrufe für Schritte 2-6, Kontext-Management).
|
||||
|
||||
- [x] Fehlerbehebung: Alle Python-Syntaxfehler (Encoding, Strings) behoben.
|
||||
|
||||
- [x] Validierung: Das Tool lädt das Frontend und führt das Web-Scraping erfolgreich durch.
|
||||
|
||||
- [x] **API-Fix:** Umstellung auf Gemini v1 API und Modell `gemini-2.5-flash` (1M Token Context).
|
||||
|
||||
|
||||
|
||||
### Phase 2: Validierung & Optimierung (Abgeschlossen)
|
||||
|
||||
- [x] Docker-Container gebaut und gestartet.
|
||||
|
||||
- [x] Zugriff auf die UI über Port 3004 erfolgreich.
|
||||
|
||||
- [x] **Grounding Upgrade:** Umstellung von Plain-Text auf "Sanitized HTML" (H1-H6, Links erhalten) für präzise Produkterkennung.
|
||||
|
||||
- [x] **Kontext-Erweiterung:** Entfernung des 30.000 Zeichen Limits für vollständige Website-Analyse.
|
||||
|
||||
- [x] **Robustheit:** Implementierung von Retry-Logik (Exponential Backoff) und Timeout-Erhöhung (600s) für komplexe Analysen.
|
||||
|
||||
- [x] **Frontend Fixes:**
|
||||
|
||||
- [x] Robuster "Copy Table" Button (Fallback für Non-HTTPS).
|
||||
|
||||
- [x] PDF-Export optimiert (Landscape, keine Scrollbalken).
|
||||
|
||||
- [x] "Schritt 6 Wiederholen"-Funktion eingebaut.
|
||||
|
||||
- [x] **Prozess-Optimierung:** Schritt 6 fokussiert nun automatisch auf die Top-Branche, um Token-Limits und Lesezeit zu optimieren.
|
||||
|
||||
- [x] **Logging:** Detailliertes File-Logging (`Log_from_docker`) für Prompts und Antworten implementiert.
|
||||
|
||||
|
||||
|
||||
## 5. Status: Produktionsbereit
|
||||
|
||||
|
||||
|
||||
Das System liefert nun hochqualitative, faktenbasierte Analysen ("Grounding"), die weit über die ursprüngliche Online-Version hinausgehen. Alle bekannten Fehler (Timeouts, API 404, Copy-Paste) sind behoben.
|
||||
|
||||
|
||||
|
||||
### Nächste Schritte (Optional)
|
||||
|
||||
- Erweiterung auf Multi-Language Support im Frontend (aktuell DE fokussiert).
|
||||
|
||||
- Integration von SerpAPI für noch breitere Marktrecherchen (analog Market Intel).
|
||||
Reference in New Issue
Block a user