Commit Graph

114 Commits

Author SHA1 Message Date
b353cda9aa feat(gtm): add aspect ratio & corporate design; fix(market): harden backend logging & json parsing 2026-01-05 11:42:15 +00:00
704a656c40 feat(gtm): upgrade to google-genai, fix image gen & frontend crash 2026-01-04 16:02:23 +00:00
f91f9a2e82 Fix: Gemini API modernization, dynamic model selection, and config path corrections 2026-01-03 12:19:51 +00:00
932adb6a99 fix(ai): Update Gemini model ID to gemini-1.5-flash-001
- Changes the model ID from the generic 'gemini-1.5-flash' to the specific 'gemini-1.5-flash-001'.
- This resolves the '404 NOT_FOUND' error where the API could not locate the generic model alias in the v1beta API version.
2026-01-03 10:24:51 +00:00
b0a609f373 refactor(ai): Migrate to google-genai Client API
- Rewrites  and  in helpers.py to use the new  and  syntax.
- Removes the deprecated  calls which were causing AttributeError.
- Updates parameter handling to use .
- This change ensures full compatibility with the  library version 1.0+.
2026-01-03 10:15:05 +00:00
348c758392 fix(config): Ensure API keys are loaded by orchestrator
- Reverts docker-compose.yml to use volume mount for gemini_api_key.txt, due to format constraints.
- Restores and refines Config.load_api_keys() in config.py.
- **Crucially, calls Config.load_api_keys() at the start of gtm_architect_orchestrator.py to ensure keys are loaded.**
- Adjusts _get_gemini_api_key in helpers.py to prioritize keys from Config.API_KEYS.
- This definitively addresses the 'API Key missing' error by guaranteeing key initialization.
2026-01-03 09:33:33 +00:00
fb92142151 refactor(config): Switch to environment variables for API keys
- Modifies docker-compose.yml to use  for injecting the Gemini API key, which is more robust than volume mounting.
- Updates helpers.py to prioritize reading the API key from the  environment variable.
- Removes the now-redundant file-based key loading logic from config.py and the Dockerfile.
- This change completely bypasses the problematic file system interactions within the container, providing a definitive fix for the 'API Key missing' error.
2026-01-03 09:30:34 +00:00
ac36aa245a fix(debug): Add version info and API key debugging
- Adds a version and timestamp to the orchestrator's startup logs to verify code deployment.
- Introduces extensive debug logging in config.py and helpers.py to trace the API key loading process, including exact file paths and environment variable checks. This will help diagnose the persistent 'API Key missing' error.
2026-01-03 09:06:00 +00:00
145b94318f fix(deps): Migrate from google.generativeai to google-genai
- Updates requirements.txt to use the new 'google-genai' package.
- Updates import statements and error messages in helpers.py to use the new library.
- Ensures the gemini_api_key.txt is copied into the Docker container to resolve API key errors.
2026-01-03 08:56:20 +00:00
6d5d9926ac feat(gtm-architect): Finalize migration and implement web scraping
- Refactors the gtm-architect Dockerfile for a flat, more efficient build process.
- Implements robust web scraping via BeautifulSoup in helpers.py for URL analysis in phase1.
- Makes shared library imports (gspread, pandas, etc.) in helpers.py optional to prevent ModuleNotFoundErrors in microservices.
- Implements the main execution logic in the orchestrator to handle command-line arguments.
- Updates documentation to reflect the new architecture, scraping feature, and dependency handling.
2026-01-03 08:43:53 +00:00
21ea1e478c Fix GTM Architect: Robust prompt syntax, Gemini API migration, Docker logging 2026-01-01 22:39:43 +00:00
df58878973 fix(gtm-architect): Stabilize Docker environment and fix frontend
- Refactor Docker build process for gtm-app to ensure reliability
- Correct volume mounts and build context in docker-compose.yml to prevent stale code
- Fix frontend 404 error by using relative paths in index.html
- Ensure API key is correctly mounted into the container
- Stabilize Node.js to Python data passing via explicit --data argument
- Update gtm_architect_documentation.md with extensive troubleshooting guide
2026-01-01 08:36:48 +00:00
Gemini CLI
44f83ac661 fix(helpers): Verbesserte SerpAPI-Website-Suche
- Ersetzt starre Namensprüfung durch flexible Token-basierte Validierung

- Erhöht die Trefferquote für Firmennamen, die nicht exakt im Suchergebnis erscheinen

- Löst das Problem, dass für bekannte Firmen wie 'Rohde & Schwarz' keine Website gefunden wurde
2025-11-08 12:37:40 +00:00
84410a41c1 Refactor(helpers): Remove duplicate code 2025-11-07 14:59:40 +01:00
6dfff04aaf helpers.py aktualisiert 2025-08-25 18:19:45 +00:00
a13547927c helpers.py aktualisiert 2025-08-25 17:32:59 +00:00
b07f92a8ff Revoke to Openai v0.X 2025-08-25 07:24:54 +00:00
2adb1346f3 helpers.py aktualisiert 2025-08-22 12:03:55 +00:00
e49acabd8d helpers.py aktualisiert 2025-08-18 09:15:33 +00:00
aad8e81150 evaluate_branche_chatgpt wieder ergänzt 2025-08-04 17:28:12 +00:00
aaa6db7873 entferne def evaluate_branche_chatgpt 2025-08-04 17:19:21 +00:00
168d061c75 bugfix 2025-08-04 11:58:24 +00:00
29465bb49a helpers.py aktualisiert 2025-08-04 11:31:44 +00:00
235916d99e v2.0.1: feat: Implement modular versioning
- Einführung von __version__ Attributen in allen Kernmodulen (data_processor, helpers etc.).
- Erstellung einer zentralen Funktion log_module_versions in helpers.py.
- Integration des Version-Loggings beim Start des Hauptskripts für volle Nachvollziehbarkeit.
2025-08-04 10:32:16 +00:00
911b098e35 Refactor Core Helpers & Introduce Tests
- Zentralisierung kritischer Hilfsfunktionen in helpers.py (get_col_idx, _get_col_letter).
- Bereinigung der helpers.py durch Entfernen der doppelten alignment_demo-Funktion.
- Anpassung des GoogleSheetHandler, um die zentralen Helper zu nutzen.
- Erstellung einer Test-Suite (test_core_functionality.py) zur Absicherung der Kernlogik.
2025-08-04 09:33:55 +00:00
9562789c6e helpers.py aktualisiert 2025-08-01 11:23:42 +00:00
df77fb757a erweiterung normalize URL 2025-08-01 11:11:37 +00:00
a5d3a50e24 helpers.py aktualisiert 2025-07-28 13:27:37 +00:00
6aaeb6dda8 helpers.py aktualisiert 2025-07-28 13:10:04 +00:00
993c9d2c4a helpers.py aktualisiert 2025-07-28 12:59:50 +00:00
c5c615ce0a Implementierung der Batch-Brancheneinstufung zur Kostenoptimierung
- FEATURE: Brancheneinstufung erfolgt nun in Batches (z.B. 20 Unternehmen pro API-Call), um die Token-Kosten drastisch zu senken.
- REFACTOR: Neue Funktion `evaluate_branches_batch` in `helpers.py` erstellt, die den komplexen Batch-Prompt generiert.
- REFACTOR: `reclassify_all_branches` in `data_processor.py` überarbeitet, um die Batch-Verarbeitung und das Ergebnis-Mapping zu steuern.
2025-07-28 12:42:28 +00:00
c0955a639d helpers.py aktualisiert 2025-07-28 11:11:37 +00:00
cfd0689fdb Implementierung der kontextbasierten Brancheneinstufung
- FEATURE: Brancheneinstufung 2.0 implementiert; nutzt nun die reichhaltigen Definitionen und Beispiele aus `config.py` für ein hochpräzises, kontextuelles Matching.
- REFACTOR: `evaluate_branche_chatgpt` in `helpers.py` komplett neugeschrieben; gibt nun eine detaillierte Begründung für die Zuordnung zurück.
- FEATURE: Neuer Batch-Modus `reclassify_branches` in `data_processor.py` hinzugefügt, um eine vollständige Neubewertung aller Accounts zu ermöglichen.
2025-07-28 09:48:41 +00:00
3eba023ebe Final Pitch Generation - The Elegance Update
- REFACTOR: Der FSM-Pitch-Prompt wurde final überarbeitet, um der KI maximale stilistische Freiheit für eine elegante, partnerschaftliche Tonalität zu geben.
- FIX: Die "FEHLER_DATEN"-Regel wurde entfernt, um sicherzustellen, dass für jedes Unternehmen ein Pitch generiert wird, auch bei dünnerer Datenlage.
- Die generierten Pitches sind nun optimal für die direkte Verwendung in der Marketing-Automation, mit einer hohen Erfolgsquote und exzellenter Tonalität.
2025-07-21 13:44:23 +00:00
11e34beb41 Final Pitch Polish & Data-to-Text Mapping
- FEATURE: Techniker-Buckets werden nun in `data_processor.py` in natürlichsprachliche Phrasen ("eine große Serviceorganisation") übersetzt, was die Prompt-Qualität verbessert.
- REFACTOR: Der FSM-Pitch-Prompt in `helpers.py` wurde final poliert, um eine positivere, partnerschaftlichere Tonalität zu fördern und die Eignung als "Door Opener" zu maximieren.
- Dies stellt den finalen Stand des FSM-Pitch-Moduls dar, optimiert für den Einsatz in der Marketing-Automation.
2025-07-21 13:14:42 +00:00
492e34f802 The Definitive FSM Pitch (Master Prompt Implementation)
- REVERT & FINALIZE: Der FSM-Pitch-Prompt wurde auf den bewährten "Chain of Thought"-Master-Prompt zurückgesetzt, der die qualitativ besten Ergebnisse liefert.
- FIX: Die Datenaufbereitung und die Anweisung zur Verwendung des Kurznamens wurden integriert, um die Zuverlässigkeit zu maximieren.
- Dies ist die finale, produktionsreife Version des FSM-Pitch-Moduls.
2025-07-21 13:01:07 +00:00
3eeac9e7bd The Definitive FSM Pitch (Master Prompt Implementation)
- REVERT & FINALIZE: Der FSM-Pitch-Prompt wurde auf die bewährte "Chain of Thought"-Version zurückgesetzt, die die qualitativ besten Ergebnisse liefert.
- FIX: Die Datenaufbereitung und die Anweisung zur Verwendung des Kurznamens wurden integriert, um die Zuverlässigkeit zu maximieren.
- Dies ist die finale, produktionsreife Version des FSM-Pitch-Moduls.
2025-07-21 12:53:40 +00:00
b28c4d771d Finalized FSM Pitch Generation
- REVERT: Zurück zur bewährten, ursprünglichen FSM-Pitch-Prompt-Logik, die die besten Ergebnisse in Tonalität und Spezifität geliefert hat.
- FIX: Die Datenaufbereitung wurde an die neue, strukturierte Website-Zusammenfassung angepasst, um eine saubere Input-Qualität für die KI sicherzustellen.
- Das FSM-Pitch-Modul ist nun finalisiert und liefert qualitativ hochwertige, für die Marketing-Automation geeignete Ergebnisse.
2025-07-21 08:57:29 +00:00
fedc7f4d57 Final Pitch Prompt via Few-Shot Examples
- REFACTOR: Der FSM-Pitch-Prompt wurde final überarbeitet und nutzt nun einen "Few-Shot"-Ansatz mit exzellenten Beispielen, um Tonalität und Qualität drastisch zu verbessern.
- FIX: Die KI wird explizit angewiesen, den bereitgestellten Kurznamen zu verwenden, um Fehler bei der Firmierung zu vermeiden.
- Die generierten Pitches sind nun strategisch, aktiv formuliert und direkt für die Marketing-Automation geeignet.
2025-07-21 08:51:21 +00:00
37e3ba59f6 Chain-of-Thought FSM Pitch Generation (Final)
- FEATURE: Der FSM-Pitch-Prompt wurde grundlegend überarbeitet und implementiert nun einen "Chain of Thought"-Ansatz für drastisch verbesserte Ergebnisse.
- Die KI analysiert nun schrittweise das Geschäftsmodell und die Service-Art, bevor sie einen strategischen, positiv formulierten Pitch generiert.
- Das Ergebnis ist nun eine Kombination aus interner Analyse und einem für die Marketing-Automation optimierten Ausgabesatz.
2025-07-21 08:31:02 +00:00
86f0870b47 Strategic Observation Pitch (Final)
- REFACTOR: Der FSM-Pitch-Prompt wurde final optimiert. Er kombiniert nun die strategische "Pain Point"-Analyse mit einer positiven, beobachtenden Tonalität für die E-Mail-Ansprache.
- Die KI fokussiert sich auf die Implikationen von Service-Prozessen (z.B. Uptime, Qualität), ohne das Unternehmen direkt zu kritisieren.
- Dies stellt den finalen, qualitativ hochwertigsten Stand für die automatische Pitch-Generierung dar.
2025-07-21 08:23:08 +00:00
2f94b51b36 Final Refined & Positive-Toned FSM Pitch
- REFACTOR: Der FSM-Pitch-Prompt wurde final überarbeitet, um eine positive, lösungsorientierte Tonalität für die direkte Kundenansprache zu gewährleisten.
- FIX: Die "FEHLER_DATEN"-Regel wurde gelockert, um die Erfolgsquote bei der Pitch-Generierung auch bei dünnerer Datenlage zu erhöhen.
- Die generierten Pitches sind nun strategisch fundiert UND für die Marketing-Automation geeignet.
2025-07-21 08:12:50 +00:00
67096e440a Refined Data Input for FSM Pitch
- FIX: Die `generate_fsm_pitch`-Funktion in `helpers.py` extrahiert nun korrekt nur den reinen Beschreibungstext aus der Website-Analyse.
- Dies verhindert, dass die KI durch Meta-Informationen (wie "FSM-POTENZIAL") im Prompt verwirrt wird, und verbessert die Qualität der generierten Pitches.
2025-07-21 08:02:59 +00:00
cb6019c7ac Anpassung FSM Pitch
Rolle geschärft: Von "Texter" zu "Lösungsberater", der "Pain Points" findet.
Aufgabe präzisiert: Von "Herausforderung beschreiben" zu "Schmerzpunkt adressieren".
Denkprozess explizit gemacht: Wir geben der KI klare, regelbasierte Anweisungen, wie sie von der Tätigkeit zum geschäftlichen Problem kommen soll.
Ihre Struktur bleibt erhalten: Der Rest Ihrer Funktion (call_openai_chat, Fehlerbehandlung etc.) bleibt exakt gleich. Wir tauschen nur das "Gehirn" (den Prompt) aus.
Modell-Empfehlung: Ich belasse in Ihrem call_openai_chat-Aufruf model="gpt-4o". Für diese strategische Aufgabe liefert dieses Modell signifikant bessere Ergebnisse als gpt-3.5-turbo oder gpt-4o-mini.
2025-07-21 07:38:38 +00:00
f424642b98 helpers.py aktualisiert 2025-07-21 06:53:29 +00:00
598f5956db Balanced Website Analysis Prompt
- REFACTOR: Prompt für Website-Zusammenfassung in `helpers.py` optimiert, um eine ausgewogene Analyse von Geschäftsmodell und Service-Potenzial zu liefern.
- Die KI fasst nun zuerst die Kerntätigkeit des Unternehmens zusammen und bewertet danach gezielt die Relevanz des technischen Außendienstes.
- Das Ergebnis ist nun eine umfassendere und strategisch wertvollere Analyse für die Lead-Qualifizierung.
2025-07-21 06:36:53 +00:00
36ea1477e7 helpers.py aktualisiert 2025-07-20 12:38:45 +00:00
09c9bf3090 helpers.py aktualisiert 2025-07-20 05:44:56 +00:00
73030d3ed5 helpers.py aktualisiert 2025-07-20 05:35:57 +00:00
7ffe14bf39 helpers.py aktualisiert 2025-07-19 19:53:33 +00:00