Add lead-engine source code to main repo

This commit is contained in:
Jarvis
2026-01-31 17:25:01 +00:00
parent 8347d5c7ae
commit 8cbac74b2f
8 changed files with 736 additions and 0 deletions

View File

@@ -0,0 +1,105 @@
# 🚀 TradingTwins Lead Engine - Documentation
## 1. Projektübersicht
Die **TradingTwins Lead Engine** ist ein spezialisiertes Automatisierungs-Tool zur Verarbeitung eingehender B2B-Leads (speziell von der Plattform "tradingtwins").
**Ziel:** Minimierung der "Time-to-Response" und Maximierung der Lead-Qualität durch automatische Anreicherung und Bewertung.
Das Tool fungiert als **Middleware** zwischen dem E-Mail-Eingang und dem zentralen Intelligence-Hub (**Company Explorer**).
---
## 2. Architektur & Workflow
### System-Komponenten
1. **Lead Engine (Python/Streamlit):**
* Hält den State der Leads (Neu, Synced, Drafted).
* Bietet ein Dashboard zur Überwachung.
* Führt die Logik aus.
2. **Company Explorer (CE):**
* Single Source of Truth für Firmendaten.
* Führt die eigentliche Web-Recherche (Discovery) und Bewertung (Scoring) durch.
3. **SQLite Datenbank (`data/leads.db`):**
* Lokaler Speicher für Lead-Status und Historie.
### Der Prozess-Flow (Sync Logic)
```mermaid
graph TD
A[E-Mail Eingang] -->|Parser| B(Lead Engine DB)
B --> C{Check: Existiert Firma in CE?}
C -- JA --> D[Hole ID & Status]
C -- NEIN --> E[Erstelle Firma via API]
E --> F[Trigger: Discovery & Enrichment]
D --> G[Update Lead-Status: 'Synced']
F --> G
G --> H[Dashboard: Ready for Response]
```
---
## 3. Installation & Deployment
Das System läuft als Docker-Container.
### Voraussetzungen
* Zugriff auf das `lead-engine-mvp` Git-Repository.
* Laufender **Company Explorer** im selben Netzwerk (oder erreichbar via IP).
### Starten (Docker)
```bash
# 1. Image bauen
docker build -t lead-engine .
# 2. Container starten
# WICHTIG: Ports mappen & Netwerk beachten
docker run -d \
-p 8501:8501 \
--name lead-engine \
-e CE_API_URL="http://192.168.178.6:8090/ce/api" \
-e CE_API_USER="admin" \
-e CE_API_PASS="gemini" \
lead-engine
```
### Environment Variablen
| Variable | Default | Beschreibung |
| :--- | :--- | :--- |
| `CE_API_URL` | `http://192.168.178.6:8090/ce/api` | Basis-URL zur Company Explorer API (via Nginx Proxy) |
| `CE_API_USER` | `admin` | Benutzer für Basic Auth |
| `CE_API_PASS` | `gemini` | Passwort für Basic Auth |
| `PYTHONUNBUFFERED` | `1` | Wichtig für Docker Logs |
---
## 4. Technische Details
### Datenmodell (SQLite)
Die lokale Datenbank `leads.db` speichert:
* `source_id`: ID aus der E-Mail (TradingTwins Lead-ID).
* `raw_body`: Der originale E-Mail-Text.
* `enrichment_data`: JSON-Blob mit Daten vom Company Explorer (Score, Vertical, IDs).
* `status`: `new` -> `synced` -> `drafted` -> `sent`.
### API Integration (Company Explorer)
Das Tool nutzt folgende Endpunkte des CE:
1. **Suche:** `GET /companies?search={Name}`
* Prüft auf Duplikate.
2. **Erstellung:** `POST /companies`
* Payload: `{"name": "...", "city": "..."}`
3. **Discovery:** `POST /enrich/discover`
* Triggert den Crawler, um Webseite und Branche zu finden.
---
## 5. Roadmap / Offene Punkte
* **[ ] IMAP Live-Anbindung:** Ersetzen des aktuellen Mock-Ingests durch echten IMAP-Listener (Skript `check_mail.py` existiert bereits als Vorlage).
* **[ ] Response Generation:** Abruf eines "Sales Pitches" vom Company Explorer basierend auf den angereicherten Daten (Pain Points, Vertical).
* **[ ] CRM Push:** Optionale Weiterleitung an SuperOffice/Odoo nach erfolgreicher Qualifizierung.