# Lead Engine
**Eine Session startet hier wenn es um Lead Enrichment, Discovery, Datenaufbereitung oder das Dashboard geht.**
---
## Was ist dieses Projekt?
Automatisierte B2B-Lead-Enrichment-Engine fuer Agent Solutions und Lueftungsprofi Mallorca.
Liest rohe Kontaktdaten (Name, Website, Email), recherchiert via Multi-Source-Discovery
(DuckDuckGo + Web-Scraping) und reichert mit LLM-Router (OpenAI) an.
**Kein Email-Versand. Kein Agent. Nur Daten.**
Aktive Kampagne: Lueftungsprofi Mallorca (Kampagne 7, ICP=LP)
Archiviert: Portier EU Kiosk Leads April 2026 (Kampagne 6, ICP=AG) -- Projekt eingestellt
---
## ICP-Logik
- **LP = Lueftungsprofi Mallorca**: Gebaeude, Hotels, Immobilien, Bauunternehmen
- **AG = Agent Solutions**: KI-Automatisierung fuer KMU (Email Agent, Telefon Agent)
- **beide**: Kontakte die fuer beides in Frage kommen (z.B. Hotels, Hausverwaltungen)
---
## Technik
- **Python 3.13** -- keine venv, direkt installiert
- **OpenAI LLM Router** -- gpt-5-nano (L1) -> gpt-5-mini (L2) -> gpt-5.2 (L3)
- **Discovery Layer** -- DuckDuckGo HTML + BeautifulSoup Scraping (7 Queries/Kontakt)
- **SQLite** -- `email_agent.db`
- **Streamlit Dashboard** -- `dashboard.py`, Port 8501
- **Excel Export** -- `excel_exporter.py` mit Farbkodierung
---
## Struktur
```
lead_engine/
contact_enricher.py -- Haupt-Enricher (2-Phase Prompt, Discovery-Integration)
multi_source_enricher.py -- Erweiterter Enricher mit Discovery Layer
icp_classifier.py -- ICP-Klassifikation (LP vs. AG)
cold_outreach_db.py -- SQLite Wrapper (Kontakte, Kampagnen, Sequenzen)
excel_exporter.py -- Excel Export mit Farbkodierung
excel_importer.py -- Import aus Excel
dashboard.py -- Streamlit UI (Tabelle + Detail-Ansicht)
outreach_generator.py -- Email-Text Generierung
outreach_orchestrator.py -- Outreach-Ablauf
review_cli.py -- CLI Review vor dem Senden
email_agent.db -- Aktive Datenbank (NICHT LOESCHEN)
email_agent_portier_backup_20260513.db -- Backup vor Migration
.env -- API Keys (NICHT COMMITTEN)
```
---
## Kampagnen
| ID | Name | ICP | Status |
|----|------|-----|--------|
| 7 | Lueftungsprofi Mallorca | LP | Aktiv -- bereit fuer Lead-Import |
| 6 | [ARCHIV] Portier EU Kiosk Leads | AG | Eingestellt (Mario's Projekt) |
---
## Was muss ich sofort wissen?
1. **DB heisst `email_agent.db`** -- liegt in /opt/struktur/lead-engine/
2. **dotenv-Pfad:** immer `load_dotenv(Path(__file__).parent / '.env', override=True)`
3. **gpt-5-nano/mini sind Reasoning Models** -- `max_completion_tokens` statt `max_tokens`, kein `temperature`
4. **source_id** -- Traceability-Feld, nie veraendern
5. **.env NIEMALS lesen oder ausgeben**
---
## Naechste Schritte
1. **Lueftungsprofi-Leads importieren** -- Excel mit Kontakten -> `python excel_importer.py`
2. **Enrichment starten** -- `python multi_source_enricher.py --campaign 7`
3. **ICP-Klassifikation** -- `python icp_classifier.py --campaign 7`
---
## Starten
```bash
cd /opt/struktur/lead-engine
# Dashboard
streamlit run dashboard.py
# Enrichment
python multi_source_enricher.py --campaign 7
# Excel Export
python excel_exporter.py --campaign 7
```
---
*Zuletzt aktualisiert: 2026-05-13*
*Status: Aktiv -- bereit fuer Lueftungsprofi-Leads*