Commit Graph

114 Commits

Author SHA1 Message Date
aa1319856c feat(gtm): add aspect ratio & corporate design; fix(market): harden backend logging & json parsing 2026-01-05 11:42:15 +00:00
c3c5773ecc feat(gtm): upgrade to google-genai, fix image gen & frontend crash 2026-01-04 16:02:23 +00:00
c6313019ec Fix: Gemini API modernization, dynamic model selection, and config path corrections 2026-01-03 12:19:51 +00:00
4ed36fc514 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
6056018f64 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
571e05ed51 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
8c31a4f2b9 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
708c2f423f 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
f98f0edcba 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
c356f9a990 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
8475fe5807 Fix GTM Architect: Robust prompt syntax, Gemini API migration, Docker logging 2026-01-01 22:39:43 +00:00
9091b1d14c 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
ad965f3509 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
688da12f53 Refactor(helpers): Remove duplicate code 2025-11-07 14:59:40 +01:00
067f41a429 helpers.py aktualisiert 2025-08-25 18:19:45 +00:00
da5f454b3d helpers.py aktualisiert 2025-08-25 17:32:59 +00:00
01e9358006 Revoke to Openai v0.X 2025-08-25 07:24:54 +00:00
c39ed67d4f helpers.py aktualisiert 2025-08-22 12:03:55 +00:00
d1444b88a5 helpers.py aktualisiert 2025-08-18 09:15:33 +00:00
3f37790056 evaluate_branche_chatgpt wieder ergänzt 2025-08-04 17:28:12 +00:00
cf0c2c22ae entferne def evaluate_branche_chatgpt 2025-08-04 17:19:21 +00:00
ae8fb42caf bugfix 2025-08-04 11:58:24 +00:00
06729954aa helpers.py aktualisiert 2025-08-04 11:31:44 +00:00
1d64eb4d1a 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
c6315c1592 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
76eb026faa helpers.py aktualisiert 2025-08-01 11:23:42 +00:00
d71e9ebe85 erweiterung normalize URL 2025-08-01 11:11:37 +00:00
a419f141b0 helpers.py aktualisiert 2025-07-28 13:27:37 +00:00
a3feefae0d helpers.py aktualisiert 2025-07-28 13:10:04 +00:00
599699ba24 helpers.py aktualisiert 2025-07-28 12:59:50 +00:00
5aad6082b1 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
642588c103 helpers.py aktualisiert 2025-07-28 11:11:37 +00:00
d33b1bd37d 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
51f6736a23 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
e2d6f68787 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
06744e4cbe 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
ad4f4ec127 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
57afdb6bcd 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
dc9b194091 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
e98c9c3129 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
8d2a3d0770 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
8e007bbf86 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
f64e8582b8 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
8885ac21ad 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
b53dbdc733 helpers.py aktualisiert 2025-07-21 06:53:29 +00:00
9064c28ef6 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
6b14736e7d helpers.py aktualisiert 2025-07-20 12:38:45 +00:00
148267b8ba helpers.py aktualisiert 2025-07-20 05:44:56 +00:00
e14cd75ada helpers.py aktualisiert 2025-07-20 05:35:57 +00:00
fdb7ab3b28 helpers.py aktualisiert 2025-07-19 19:53:33 +00:00