fix(transcription): [2f388f42] finalize and fix AI insights feature

This commit resolves all outstanding issues with the AI Insights feature.

- Corrects the transcript formatting logic in  to properly handle the database JSON structure, ensuring the AI receives the correct context.
- Fixes the Gemini API client by using the correct model name ('gemini-2.0-flash') and the proper client initialization.
- Updates  to securely pass the API key as an environment variable to the container.
- Cleans up the codebase by removing temporary debugging endpoints.
- Adds  script for programmatic updates.
- Updates documentation with troubleshooting insights from the implementation process.
This commit is contained in:
2026-01-26 08:53:13 +00:00
parent 771b06c1bc
commit adafab61ae
29 changed files with 2254 additions and 80 deletions

View File

@@ -105,3 +105,43 @@ Das Skript schlägt automatisch einen Git-Branch-Namen vor, der dem Muster `feat
* Stelle sicher, dass deine Notion-Datenbanken die Property `Status` mit mindestens einer Statusoption haben.
* Der `Readme Path` wird dynamisch aus dem in Notion ausgewählten Projekt geladen. Falls in Notion kein spezifischer Pfad hinterlegt ist, wird standardmäßig `readme.md` verwendet. Dies eliminiert die Notwendigkeit einer manuellen `project_to_path_map` im Skript.
## Entwicklung & Troubleshooting des Start-Skripts
Das Start-Skript (`start-gemini.sh` und die Entwicklungsversion `start-gemini-dev.sh`) hat mehrere Iterationen durchlaufen, um die aktuelle, stabile Funktionalität zu erreichen. Die wesentlichen Herausforderungen und deren Lösungen sind hier dokumentiert.
### Problem 1: Fehlende Interaktivität
Die erste Version des Skripts hat die Ausgabe von `dev_session.py` direkt in eine Variable umgeleitet (`OUTPUT=$(docker run ...)`), um den Kontext für Gemini zu extrahieren.
* **Problem:** Die interaktiven `input()`-Aufforderungen von Python wurden nicht im Terminal des Benutzers angezeigt, da die Standardausgabe (stdout) vollständig in die Variable geschrieben wurde. Die Sitzung schien zu hängen.
* **Lösung:** Umstellung auf den `tee`-Befehl. Der `docker run`-Befehl wird nun so ausgeführt, dass seine Ausgabe gleichzeitig (`tee`) auf dem Bildschirm angezeigt UND in eine temporäre Datei geschrieben wird. Nachdem der Benutzer seine Auswahl getroffen hat, wird der Kontext aus dieser temporären Datei ausgelesen.
```bash
# Gekürztes Beispiel
TEMP_FILE=$(mktemp)
docker run -it ... python3 dev_session.py | tee "$TEMP_FILE"
CLI_CONTEXT=$(sed ... "$TEMP_FILE")
rm "$TEMP_FILE"
```
### Problem 2: Fehlerhafter Start-Parameter für Gemini
Die Gemini CLI erwartet den initialen Prompt über das Argument `--prompt-interactive`.
* **Problem:** Falsche Verwendung von `--initial-prompt` führte zu einem Fehler und verhinderte, dass der Kontext korrekt an die CLI übergeben wurde.
* **Lösung:** Korrektur des Arguments im `docker run`-Befehl für die Gemini CLI zu `--prompt-interactive`.
### Problem 3: Konflikt durch nicht aufgeräumte Container
Der interaktive `docker run`-Befehl für `dev_session.py` erstellte einen temporären Container (z.B. `gemini-dev-session-temp`).
* **Problem:** Wenn das Skript vorzeitig beendet wurde, blieb dieser Container bestehen und blockierte den nächsten Start mit einem "container name already in use"-Fehler.
* **Lösung:** Am Anfang des Start-Skripts wurde eine explizite Aufräum-Anweisung hinzugefügt, die sowohl den Haupt-Container als auch den temporären Container vor dem Start entfernt.
```bash
docker rm -f "gemini-dev-session" > /dev/null 2>&1
docker rm -f "gemini-dev-session-temp" > /dev/null 2>&1
```
Diese Anpassungen haben zu dem robusten, zweistufigen Startprozess geführt, der nun eine nahtlose interaktive Auswahl und den anschließenden Start der Gemini CLI ermöglicht.