Ein sprachgesteuerter KI-KΓΌchenassistent fΓΌr Tablet und Desktop β powered by Google Gemini.
Author: Dr. Andreas Gotter, Aachen, Germany
License: MIT
GitHub: Andy1977D/Koch-Assistent
Der KI-Koch-Assistent ist eine sprachgesteuerte, Tablet-optimierte Webanwendung fΓΌr die KΓΌche. Er ermΓΆglicht es, freihΓ€ndig durch persΓΆnliche Rezepte zu navigieren, Zutaten abzufragen und sich Schritt fΓΌr Schritt durch den Kochprozess fΓΌhren zu lassen β komplett ΓΌber natΓΌrliche Sprache.
- Sprachsteuerung & -ausgabe: HΓΆrt auf Kommandos, beantwortet Fragen und liest Rezeptschritte sowie Zutaten laut vor.
- Intelligente RezeptvorschlΓ€ge: Findet passende Rezepte basierend auf vorhandenen Zutaten oder spontanen WΓΌnschen.
- Dynamische Portionsskalierung: Rechnet Zutatenmengen automatisch und intelligent auf die gewΓΌnschte Personenzahl um.
- Schritt-fΓΌr-Schritt-Navigation: FΓΌhrt im eigenen Tempo durch die Zubereitung β man kann jederzeit vor- und zurΓΌckspringen oder sich Dinge wiederholen lassen.
- Timer mit Alarm: Stellt automatisch KΓΌchentimer, wenn ein Rezeptschritt eine Wartezeit enthΓ€lt.
- Hands-Free-Betrieb: Speziell entwickelt, um das Tablet wΓ€hrend des Kochens mit schmutzigen HΓ€nden nicht berΓΌhren zu mΓΌssen.
- Live-Modus: Echtzeit-Audio-Streaming ΓΌber die Gemini Live API fΓΌr ein natΓΌrliches GesprΓ€chserlebnis.
βββββββββββββββββββββββββββββββββββββββββββββββββ
β Browser (Tablet/Desktop) β
β index.html + app.js + style.css β
β βββ SpeechRecognition (Mikrofon-Input) β
β βββ SpeechSynthesis (TTS-Output) β
β βββ Gemini Live WebSocket (Echtzeit-Audio) β
β βββ PWA / Fullscreen-Modus β
ββββββββββββββββ¬βββββββββββββββββββββββββββββββββ
β HTTP (Port 8077)
ββββββββββββββββΌβββββββββββββββββββββββββββββββββ
β server.py (ThreadedHTTPServer) β
β βββ /api/chat β Gemini Chat β
β βββ /api/reset β Session zurΓΌcksetzen β
β βββ /api/feedback β Rezept-Feedback β
β βββ /api/live-config β Live-API-Konfiguration β
β βββ /api/token β Ephemeral Token β
β βββ static/ β Frontend-Dateien β
ββββββββββββββββ¬βββββββββββββββββββββββββββββββββ
β HTTPS (google-genai SDK)
ββββββββββββββββΌβββββββββββββββββββββββββββββββββ
β Google Gemini / Gemma API β
β Modell konfigurierbar via .env β
βββββββββββββββββββββββββββββββββββββββββββββββββ
- Frontend (HTML/JS/CSS): Eine PWA-fΓ€hige (Progressive Web App) BenutzeroberflΓ€che. Nutzt die systemeigene Web Speech API (
SpeechRecognition&SpeechSynthesis) fΓΌr Spracheingabe und -ausgabe β keine externen AbhΓ€ngigkeiten, kein Framework-Overhead. Ein Tablet-optimiertes Dark-Theme schont die Augen und den Akku. - Backend (Python): Ein leichtgewichtiger, blockierungsfreier HTTP-Server (
server.py). Python wurde gewΓ€hlt, weil dasgoogle-genaiSDK hervorragend unterstΓΌtzt wird und der Server bewusst minimalistisch gehalten ist β keine Datenbank, kein Docker, keine komplexe Infrastruktur. - KI-Integration (Gemini / Gemma): Das KI-Modell analysiert die Nutzeranfragen, verarbeitet den Rezeptkontext und steuert das Frontend ΓΌber eine strukturierte JSON-API. Mehrere Modelle sind konfigurierbar, mit automatischer Fallback-Kette.
- Lokale Rezeptdatenbank (JSON): Rezepte liegen als strukturierte JSON-Dateien im Ordner
Rezepte_JSON/. Dadurch bleibt alles lokal, versionierbar und leicht zu bearbeiten β ohne externe Datenbank.
Der Assistent ist darauf ausgelegt, natΓΌrliche GesprΓ€che zu fΓΌhren. Ein typischer Ablauf sieht so aus:
-
Start & Auswahl:
βIch habe noch Γpfel und Mehl da, was kann ich backen?"
β Der Assistent schlΓ€gt z. B. einen Apfelkuchen vor und zeigt die Rezeptkarte. -
Portionen anpassen:
βRechne das Rezept bitte auf 4 Personen hoch."
β Die Zutatenliste wird automatisch umgerechnet und im Panel aktualisiert. -
Zutaten-Check:
βWas brauche ich fΓΌr den Teig?"
β Der Assistent listet die Zutaten auf. Auf dem Bildschirm kΓΆnnen diese abgehakt werden. -
Kochen / Backen:
βLass uns anfangen."
β Der Assistent liest den ersten Schritt vor (z. B. βHeize den Ofen auf 180 Grad vor"). -
Navigation & RΓΌckfragen:
βWeiter", βNochmal wiederholen" oder Zwischenfragen wie βWie viel Mehl brauchte ich noch gleich?"
β Man kann jederzeit vor- und zurΓΌckspringen, ohne den Faden zu verlieren. -
Timer:
βDer Kuchen ist jetzt im Ofen."
β Der Assistent erkennt die Backzeit aus dem Rezept und startet automatisch einen Timer mit Alarm.
- Python 3.10+
- Ein Google Gemini API-Key (hier kostenlos erstellen)
# 1. Repository klonen
git clone https://github.com/Andy1977D/Koch-Assistent.git
cd Koch-Assistent
# 2. AbhΓ€ngigkeiten installieren
pip install -r requirements.txt
# 3. API-Key konfigurieren
# Erstelle eine Datei .env mit folgendem Inhalt:
# GEMINI_API_KEY=dein_api_key_hier
# GEMINI_MODEL=gemma-4-31b-it
# 4. Server starten
python -u server.pyDer Server lΓ€uft dann auf http://localhost:8077.
Die enthaltene Batch-Datei start_koch_assistent.bat ist ein Beispiel-Startskript fΓΌr Windows. Sie enthΓ€lt einen hardcodierten Pfad (c:\python\RezeptServer), der auf den eigenen Installationspfad angepasst werden muss. Alternativ kann der Server einfach mit python -u server.py gestartet werden.
FΓΌr den Zugriff von anderen GerΓ€ten im lokalen Netzwerk bietet der Server unter /setup eine Setup-Seite mit Anleitungen fΓΌr Android (Chrome-Flag) und iOS (Zertifikat) an.
Dem Projekt liegen 28 erprobte Beispielrezepte bei, um den Einstieg zu erleichtern. Der Fokus liegt auf vollwertigen, oft pflanzlichen Rezepten β darunter:
| Kategorie | Beispiele |
|---|---|
| π° Kuchen & SΓΌΓes | Veganer Apfelkuchen (versch. Varianten), Schoko-Kirsch-Kuchen, Mohnkuchen, Pflaumenkuchen, Chia-Schoko-Pudding |
| π₯ Salate & Suppen | Italienischer Bohnensalat, SΓΌΓkartoffel-Karotten-Suppe, Blumenkohl-Suppe |
| π Hauptgerichte | Tomatenlasagne, Nudelauflauf, Vegane Quiche |
| π Curries | SΓΌΓkartoffel-Curry, Bananencurry, Mandarinen-Rosinen-Curry, Blumenkohl-Rosinen-Curry |
| π« Pfannenzauber-Serie | 8 Einzelkomponenten (Suppe, Quinoa, Soja-Medaillons, SoΓen, Dressings, Krokant, Dessert) |
Jedes Rezept enthΓ€lt neben den Metadaten detailliert strukturierte Zutatenlisten (ggf. unterteilt in Sektionen wie βTeig", βBelag") und klare Schritt-fΓΌr-Schritt-Anweisungen.
Das HinzufΓΌgen eigener Rezepte ist einfach: Eine JSON-Datei im Ordner Rezepte_JSON/ ablegen β fertig.
Orientiere dich an den bestehenden Rezepten. Die wichtigsten Felder:
name,kurzbeschreibung,typ,portionen,quellezutaten: Array aus Strings oder Gruppen-Objekten mitgruppeundzutaten_listezubereitungsanleitung: Array von Strings (ein Eintrag pro Schritt)
Am schnellsten geht es mit einem LLM wie ChatGPT oder der Google Gemini App. Kopiere einfach folgenden Prompt und fΓΌge Dein Rezept ein:
Bitte wandle das folgende Rezept in ein strukturiertes JSON-Format fΓΌr meinen Koch-Assistenten um.
Anforderungen an das JSON:
- Felder: "name", "kurzbeschreibung", "typ" (Array von Strings, z.B. ["Kuchen", "Vegan"]),
"portionen" (Zahl), "quelle", "fertiges_gericht_bild" (Dateiname oder null),
"handschriftliche_anmerkungen" (Array von Strings).
- "zutaten": Ein Array. Einfache Zutaten sind Strings (z.B. "200 g Mehl").
FΓΌr Gruppen verwende Objekte: {"gruppe": "Teig", "zutaten_liste": ["200 g Mehl", "100 g Zucker"]}.
- "zubereitungsanleitung": Ein Array von Strings. Jeder String ist ein Arbeitsschritt.
Formuliere die Schritte klar und knapp β sie werden dem Nutzer vorgelesen.
Hier ist mein Rezept:
[FΓGE HIER DEIN REZEPT ODER EINEN LINK ZUM REZEPT EIN]
Speichere das generierte JSON als z. B. 22_mein_rezept.json im Ordner Rezepte_JSON/ und starte den Server neu.
Dieses Projekt steht unter der MIT-Lizenz β frei nutzbar fΓΌr private Zwecke.