Übersicht
Die Gemini CLI ist ein kostenloser Open-Source-KI-Agent, mit dem Sie Gemini über die Befehlszeile nutzen können. Sie lässt sich in Ihre vorhandenen Tools einbinden und unterstützt Sie bei schwierigen Aufgaben wie dem Beheben von Fehlern, dem Erstellen neuer Funktionen und dem Schreiben besserer Tests. Die Gemini CLI eignet sich zwar hervorragend zum Programmieren, ist aber auch ein vielseitiges lokales Tool, das Sie für eine Vielzahl von Aufgaben verwenden können, von der Inhaltserstellung und Problemlösung bis hin zu umfassenden Recherchen und zur Aufgabenverwaltung.
Lernziele
In diesem Lab erhalten Sie eine praktische Einführung in die Gemini CLI.
Nach Abschluss können Sie:
- Die Gemini CLI installieren und ausführen
- Code mit der Gemini CLI erklären
- Die Gemini CLI konfigurieren und Kontext angeben, um Antworten zu erhalten, die auf Ihre Anforderungen zugeschnitten sind
- Einen benutzerdefinierten Slash-Befehl erstellen, um einen Prompt wiederzuverwenden
- Mit den Gemini CLI-Tools sicher Änderungen an Ihrem lokalen Dateisystem vornehmen
- Mit der Gemini CLI eine Anwendung erstellen und ändern
Einrichtung und Anforderungen
Vor dem Klick auf „Lab starten“
Hinweis: Bitte lesen Sie sich diese Anleitung durch.
Labs sind zeitlich begrenzt und können nicht pausiert werden. Der Timer beginnt zu laufen, wenn Sie auf Lab starten klicken, und zeigt Ihnen, wie lange die Ressourcen für das Lab verfügbar sind.
In diesem praxisorientierten Google Skills-Lab können Sie die Lab-Aktivitäten in einer echten Cloud-Umgebung selbst durchführen – nicht in einer Simulations- oder Demo-Umgebung. Dazu erhalten Sie neue, temporäre Anmeldedaten, mit denen Sie für die Dauer des Labs auf Google Cloud zugreifen können.
Voraussetzungen
Für dieses Lab benötigen Sie Folgendes:
- Einen Standardbrowser (empfohlen wird Chrome)
- Genügend Zeit, um das Lab abzuschließen
Hinweis: Auch wenn Sie bereits ein eigenes Google Cloud-Konto oder ‑Projekt haben, sollten Sie es nicht für das Lab verwenden.
Hinweis: Wenn Sie ein Pixelbook verwenden, führen Sie dieses Lab in einem Inkognitofenster aus.
Lab starten und bei der Console anmelden
-
Klicken Sie auf Lab starten. Wenn Sie für das Lab bezahlen müssen, wird ein Pop-up-Fenster geöffnet, in dem Sie Ihre Zahlungsmethode auswählen können.
Auf der linken Seite sehen Sie ein Feld, in dem Ihre temporären Anmeldedaten für dieses Lab angezeigt werden.

-
Kopieren Sie den Nutzernamen und klicken Sie dann auf Google Console öffnen.
Im Lab werden Ressourcen aktiviert und ein neuer Tab mit der Seite Konto auswählen wird geöffnet.
Tipp: Öffnen Sie die Tabs nebeneinander in separaten Fenstern.
-
Klicken Sie auf der Seite „Konto auswählen“ auf Anderes Konto verwenden. Die Anmeldeseite wird geöffnet.

-
Fügen Sie den Nutzernamen ein, den Sie aus dem Feld mit den Verbindungsinformationen kopiert haben. Kopieren Sie dann das Passwort und fügen Sie es ein.
Hinweis: Sie müssen die Anmeldedaten aus dem Feld mit den Verbindungsinformationen verwenden. Bitte geben Sie nicht Ihre Anmeldedaten für Google Skills ein. Auch wenn Sie bereits ein eigenes Google Cloud-Konto haben, sollten Sie es nicht für dieses Lab verwenden, um Gebühren zu vermeiden.
- Klicken Sie sich durch die nachfolgenden Seiten:
- Akzeptieren Sie die Nutzungsbedingungen.
- Fügen Sie keine Wiederherstellungsoptionen oder Zwei-Faktor-Authentifizierung hinzu (da dies nur ein temporäres Konto ist).
- Melden Sie sich nicht für kostenlose Testversionen an.
Nach wenigen Augenblicken wird die Cloud Console in diesem Tab geöffnet.
Hinweis: Wenn Sie sich eine Liste der Google Cloud-Produkte und ‑Dienste ansehen möchten, klicken Sie oben links auf das Navigationsmenü.
Google Cloud Shell aktivieren
Google Cloud Shell ist eine virtuelle Maschine, auf der Entwicklertools installiert sind. Sie bietet ein Basisverzeichnis mit 5 GB nichtflüchtigem Speicher und läuft in Google Cloud.
Mit Google Cloud Shell erhalten Sie Befehlszeilenzugriff auf Ihre Google Cloud-Ressourcen.
-
Klicken Sie in der Cloud Console in der rechten oberen Symbolleiste auf „Cloud Shell öffnen“.

-
Klicken Sie auf Weiter.
Die Bereitstellung und Verbindung mit der Umgebung dauert einen kleinen Moment. Wenn Sie verbunden sind, sind Sie auch bereits authentifiziert und das Projekt ist auf Ihre PROJECT_ID eingestellt. Beispiel:

gcloud ist das Befehlszeilentool für Google Cloud. Das Tool ist in Cloud Shell vorinstalliert und unterstützt die Tab-Vervollständigung.
- Sie können den aktiven Kontonamen mit diesem Befehl auflisten:
gcloud auth list
Ausgabe:
Konten mit Anmeldedaten:
- @.com (aktiv)
Beispielausgabe:
Konten mit Anmeldedaten:
- google1623327_student@qwiklabs.net
- Sie können die Projekt-ID mit diesem Befehl auflisten:
gcloud config list project
Ausgabe:
[core]
Projekt =
Beispielausgabe:
[core]
Projekt = qwiklabs-gcp-44776a13dea667a6
Hinweis:
Die vollständige Dokumentation zu gcloud finden Sie in der Übersicht zur gcloud CLI.
Aufgabe 1: Gemini CLI installieren und ausführen
In dieser Aufgabe installieren Sie die Gemini CLI und führen sie aus.
Gemini CLI in der Cloud Shell ausprobieren
Die Gemini CLI ist in der Cloud Shell verfügbar, ohne dass eine zusätzliche Konfiguration erforderlich ist.
-
Führen Sie in der Cloud Shell den folgenden Befehl aus, um die Gemini CLI zu starten:
gemini
In der Cloud Shell ist bereits eine Version der Gemini CLI installiert.

Wenn Sie die Gemini CLI zum ersten Mal ausführen, wird die Version möglicherweise automatisch auf die aktuelle stabile Version aktualisiert.
-
Wenn Sie gefragt werden, wie Sie sich für dieses Projekt authentifizieren möchten, wählen Sie mit dem Abwärtspfeil die Option Use Cloud Shell user credentials (Cloud Shell-Nutzeranmeldedaten verwenden) aus und drücken Sie die Eingabetaste oder Return.
-
Führen Sie in der Gemini CLI den folgenden Befehl aus und drücken Sie die Eingabetaste oder Return, um die verfügbaren Befehle aufzurufen:
/help
Befehle in der Gemini CLI, die mit einem Schrägstrich (/) beginnen, werden als Slash-Befehle bezeichnet. Um einen Slash-Befehl auszuführen, müssen Sie die Eingabetaste oder Return drücken.
Mit /help lässt sich eine Liste der Befehle anzeigen, die Sie an die Gemini CLI senden können. Außerdem wird gezeigt, wie Sie Shell-Befehle ausführen oder Dateien für den Kontext bereitstellen können.
Die Gemini CLI muss authentifiziert werden, um mit Gemini kommunizieren zu können.
-
Führen Sie den folgenden Slash-Befehl aus, um die aktuelle Authentifizierungsmethode aufzurufen:
/auth
Die aktuelle Authentifizierungsmethode ist die Verwendung der Cloud Shell-Nutzeranmeldedaten. Die Gemini CLI verwendet automatisch die Anmeldedaten der angemeldeten Nutzerin bzw. des angemeldeten Nutzers.
-
Drücken Sie die ESC-Taste, um das Dialogfeld zu schließen.
-
Führen Sie den folgenden Slash-Befehl aus, um die Gemini CLI zu beenden:
/quit
Gemini CLI in einem VM-Terminal installieren
Dieses Mal melden Sie sich bei einer VM an und installieren die Gemini CLI in der Befehlszeile der VM. Eine VM mit dem Namen wurde bereits für Sie erstellt.
-
Öffnen Sie in der Cloud Shell eine SSH-Verbindung zur VM:
gcloud compute ssh {{{project_0.startup_script.vm_name | VM_NAME}}} --zone={{{project_0.default_zone | ZONE}}}
-
Drücken Sie gegebenenfalls auf die Eingabetaste oder auf Return, um den Standardwert für die einzelnen Eingaben anzugeben.
Ihre Cloud Shell-Sitzung wird jetzt in der VM ausgeführt.
-
Führen Sie dazu diesen Befehl aus:
gemini
Die Gemini CLI ist auf der VM nicht standardmäßig installiert, daher wird der Befehl nicht gefunden.
Es gibt mehrere Möglichkeiten, die Gemini CLI auszuführen:
- Sie können sie über eine Standardinstallation ausführen, indem Sie npm für die globale Installation verwenden, oder Sie verwenden npx, um eine Version von NPM ohne globale Installation auszuführen.
- Sie haben die Möglichkeit, die Gemini CLI in einer Sandbox auszuführen, wobei die Gemini CLI in einem Container ausgeführt wird.
- Sie können das Repository klonen und aus dem Quellcode ausführen. Das ist hilfreich, wenn Sie zur Gemini CLI-Codebasis beitragen möchten.
- Mit npx können Sie den neuesten Commit aus dem GitHub-Repository ausführen.
Um npm oder npx zu verwenden, müssen Sie Node.js installieren. Wenn Sie zu verwendende Node.js-Version festlegen möchten, können Sie auch nvm installieren.
-
Führen Sie die folgenden Befehle aus, um nvm zu installieren:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/master/install.sh | bash
source ~/.bashrc
Das Installations-Script installiert nvm und fügt der Datei „.bashrc“ die erforderlichen Einstellungen hinzu. Durch das Sourcing der Datei „.bashrc“ werden diese Einstellungen der aktuellen Shell-Sitzung hinzugefügt.
-
Führen Sie den folgenden Befehl aus, um mit nvm die aktuelle stabile Version von Node zu installieren:
nvm install node
Bei der Installation von Node wird auch npm installiert.
Nachdem Sie die aktuelle stabile Version von Node und npm installiert haben, können Sie die Gemini CLI installieren.
-
Führen Sie den folgenden Befehl aus, um die Gemini CLI zu installieren:
npm install -g @google/gemini-cli@0.9.0
Installierte Gemini CLI ausführen
Wenn die Gemini CLI zum ersten Mal ausgeführt wird, werden die Optionen für die Authentifizierung angezeigt. Die Option „Cloud Shell-Nutzeranmeldedaten“ ist nicht mehr verfügbar, da wir in der Befehlszeile innerhalb der VM arbeiten.
Mit der Umgebungsvariable GEMINI_API_KEY können Sie Gemini mit einem API-Schlüssel aus Google AI Studio ausführen.
Wenn Sie sich mit einem Google-Konto anmelden möchten, müssen Sie das verwendete Projekt mit der Umgebungsvariable GOOGLE_CLOUD_PROJECT angeben. Sie werden dann von der Gemini CLI aufgefordert, sich anzumelden.
Um Vertex AI zu verwenden, können Sie einen Google Cloud API-Schlüssel abrufen und ihn in einer Umgebungsvariable mit dem Namen GOOGLE_API_KEY übergeben oder anstelle des API-Schlüssels Standardanmeldedaten für Anwendungen verwenden und die Umgebungsvariablen GOOGLE_CLOUD_PROJECT und GOOGLE_CLOUD_LOCATION exportieren.
-
Führen Sie die folgenden Befehle aus, um die Gemini CLI in einem Projektverzeichnis mit Vertex AI auszuführen:
export GOOGLE_CLOUD_PROJECT={{{project_0.project_id | PROJECT_ID}}}
export GOOGLE_CLOUD_LOCATION={{{project_0.default_region | REGION}}}
export GEMINI_MODEL=gemini-2.5-flash
echo "export GOOGLE_CLOUD_PROJECT={{{project_0.project_id | PROJECT_ID}}}" >> ~/.bashrc
echo "export GOOGLE_CLOUD_LOCATION={{{project_0.default_region | REGION}}}" >> ~/.bashrc
echo "export GEMINI_MODEL=gemini-2.5-flash" >> ~/.bashrc
mkdir ~/project1
cd ~/project1
gemini
Mit diesen Befehlen erledigen Sie Folgendes:
- Sie exportieren die Variablen, die für die Anmeldung bei Vertex AI erforderlich sind.
- Sie exportieren die Variable, die das von Gemini verwendete Modell festlegt.
- Sie fügen diese Exportanweisungen der Datei „.bashrc“ hinzu, damit die Variablen automatisch exportiert werden, wenn Sie sich bei der VM anmelden.
- Sie erstellen ein projektspezifisches Verzeichnis, in dem Gemini ausgeführt werden kann.
- Sie führen Gemini aus.
Gemini fordert Sie auf, eine Authentifizierungsmethode auszuwählen.
-
Wählen Sie Vertex AI aus und drücken Sie die Eingabetaste oder Return.
Die erforderlichen Umgebungsvariablen wurden bereitgestellt, sodass Sie jetzt bei der Gemini CLI authentifiziert sind.
-
Führen Sie den folgenden Slash-Befehl aus, um die Einstellungen der Gemini CLI zu ändern:
/settings
Die Nutzereinstellungen werden angezeigt.
-
Verwenden Sie den Abwärtspfeil, um zur Einstellung Automatische Updates deaktivieren zu scrollen, und drücken Sie die Eingabetaste oder Return.
Die Einstellung „Automatische Updates deaktivieren“ ist auf „true“ gesetzt.
-
Drücken Sie die ESC-Taste, um das Dialogfeld mit den Einstellungen zu schließen.
-
Geben Sie zum Beenden der Gemini CLI den Slash-Befehl /quit ein.
Klicken Sie auf Fortschritt prüfen.
Gemini CLI installieren und ausführen
Aufgabe 2: Konfiguration der Gemini CLI kennenlernen
In dieser Aufgabe lernen Sie die Konfiguration der Gemini CLI kennen.
Gemini CLI-Konfigurationsdateien heißen settings.json und können auf drei verschiedenen Ebenen angegeben werden:
- Die Nutzereinstellungen werden in
~/.gemini/settings.json angegeben, wobei ~ Ihr Basisverzeichnis ist. Einstellungen in der Datei mit den Nutzereinstellungen gelten für alle Gemini CLI-Sitzungen der Nutzerin bzw. des Nutzers.
- Projekteinstellungen werden in
.gemini/settings.json im Stammverzeichnis Ihres Projekts angegeben. Die hier vorgenommenen Einstellungen gelten nur, wenn Sie die Gemini CLI über dieses bestimmte Projekt ausführen.
- Unter Linux werden die Systemeinstellungen in
/etc/gemini-cli/settings.json angegeben. Nutzerinnen und Nutzer ohne Administratorberechtigungen können die Systemeinstellungen in der Regel nicht ändern. Systemeinstellungen gelten für jede Nutzersitzung im System.
Einstellungen werden hierarchisch angewendet. Systemeinstellungen haben Vorrang vor Projekteinstellungen und Projekteinstellungen haben Vorrang vor Nutzereinstellungen. Die Dateien für die System- und Projekteinstellungen werden erst erstellt, wenn die entsprechenden Einstellungen angegeben wurden.
Dateien mit Konfigurationseinstellungen ansehen
-
Führen Sie den folgenden Befehl aus, um den Inhalt der Datei mit den Nutzereinstellungen aufzulisten:
cat ~/.gemini/settings.json
Der ausgewählte Authentifizierungstyp vertex-ai ist in den Nutzereinstellungen angegeben.
-
Führen Sie den folgenden Befehl aus, um die Gemini CLI zu starten:
cd ~/project1
gemini
-
Führen Sie den folgenden Slash-Befehl aus, um die Einstellungen der Gemini CLI zu ändern:
/settings
-
Verwenden Sie die Auf- und Abwärtspfeile, um zur Einstellung Zeilenzahlen anzeigen zu scrollen, und drücken Sie die Eingabetaste oder Return.
Die Einstellung „Zeilenzahlen anzeigen“ ist für die Nutzerin bzw. den Nutzer auf „true“ gesetzt. Zeilenzahlen werden jetzt in Codeblöcken in der CLI-Eingabe angezeigt.
Außerdem können Sie hier bestimmte Einstellungen auf Projekt- und Systemebene verwalten.
-
Drücken Sie die ESC-Taste, um das Dialogfeld mit den Einstellungen zu schließen.
-
Um den Shell-Modus zu aktivieren, drücken Sie die Taste !.
Im Shell-Modus können Sie direkt über die Gemini CLI mit der Shell Ihres Systems interagieren. Der Shell-Modus lässt sich durch Eingabe eines Ausrufezeichens aktivieren.
-
Führen Sie den folgenden Shell-Befehl aus, um den neuen Inhalt der Einstellungsdatei aufzurufen:
cat ~/.gemini/settings.json
Hinweis: Befehle, die Sie im Shell-Modus ausführen, haben dieselben Berechtigungen und Auswirkungen, als ob Sie sie direkt in Ihrem Terminal ausgeführt hätten. Seien Sie also vorsichtig bei Befehlen, mit denen Dateien und Verzeichnisse geändert oder entfernt werden können.
Sie sollten nun sehen, dass die Einstellung „showLineNumbers“ in der Datei settings.json enthalten ist.
Dass die Gemini CLI im Shell-Modus ausgeführt wird, erkennen Sie am Prompt mit dem Ausrufezeichen und am Hinweis shell mode enabled.

-
Drücken Sie die Taste !, um den Shell-Modus zu beenden.
-
Geben Sie zum Beenden der Gemini CLI den Slash-Befehl /quit ein.
Kontext hinzufügen
Mit Kontextdateien wird der Anweisungskontext für das Gemini-Modell festgelegt. Mit dieser Funktion können Sie für Gemini projektspezifische Regeln, Richtlinien zum Programmierstil oder relevante Hintergrundinformationen bereitstellen. So erhalten Sie Antworten, die besser auf Ihre Anforderungen zugeschnitten sind.
Kontext für die Gemini CLI wird normalerweise in Dateien mit dem Namen GEMINI.md gespeichert. Als Nächstes verwenden Sie eine Kontextdatei, um uns zu helfen, eine Codebasis zu verstehen.
-
Führen Sie die folgenden Befehle aus, um die Gemini CLI-Codebasis herunterzuladen und das Stammverzeichnis der Codebasis aufzulisten:
cd ~
git clone https://github.com/google-gemini/gemini-cli.git
ls ~/gemini-cli
Die Gemini CLI-Codebasis enthält im Stammverzeichnis eine Kontextdatei namens GEMINI.md. Wenn Ihr Team Gemini zur Unterstützung bei Entwicklungsaufgaben verwendet, können Gemini mit einer Kontextdatei Hinweise gegeben werden – zu Coding-Standards, bevorzugten Bibliotheken und Mustern oder Build- und Teststandards.
-
Führen Sie die folgenden Befehle aus, um die Gemini CLI im Verzeichnis gemini-cli zu starten:
cd ~/gemini-cli
gemini
-
Geben Sie den folgenden Prompt ein, um sich von Gemini CLI Informationen zur Codebasis geben zu lassen:
Gib mir eine allgemeine Beschreibung der Codebasis im aktuellen Verzeichnis in Form einer Liste.
Die Gemini CLI sendet den Code, alle Inhalte aus den GEMINI.md-Kontextdateien und Ihren Prompt an Gemini.
Gemini gibt möglicherweise eine Antwort wie diese aus:
✦ Hier ist eine allgemeine Beschreibung der Gemini CLI-Codebasis:
* Zweck: integriert Google AI Gemini direkt in die Befehlszeile für Entwicklungsteams
* Kerntechnologien: entwickelt mit Node.js und TypeScript
* Benutzeroberfläche: verwendet React (Ink) für eine interaktive Terminalfunktion
* Wichtigste Funktionen: bietet Codeanalyse, ‑generierung, ‑automatisierung und ‑debugging mithilfe von KI
* Tools: umfasst integrierte Tools für Dateisystemoperationen, Shell-Befehle und Fundierung mit der Google Suche
* Erweiterbarkeit: unterstützt benutzerdefinierte Integrationen über das Model Context Protocol (MCP)
* Entwicklungspraktiken: folgt modernen TypeScript-Richtlinien, wobei der Schwerpunkt auf funktionaler Programmierung, Unveränderlichkeit und umfassenden Tests mit Vitest liegt
Diese allgemeine Beschreibung bietet einen guten Überblick über den Code. Wenn Sie jedoch nicht viele Anweisungen geben, erhalten Sie möglicherweise eine viel detailliertere Analyse.
Jetzt verwenden Sie Ihren eigenen Kontext, um die Antwort von Gemini zu gestalten.
-
Geben Sie zum Beenden der Gemini CLI den Slash-Befehl /quit ein.
-
Führen Sie den folgenden Befehl aus, um eine Kontextdatei namens „GEMINI.md“ für die Nutzerin bzw. den Nutzer zu erstellen:
cat > ~/.gemini/GEMINI.md <<EOF
# Gemini CLI: Erklärungsmodus
Du bist die Gemini CLI und arbeitest in einem speziellen **Erklärungsmodus**. Deine Rolle besteht darin, als virtueller Entwicklungsexperte und Systemarchitekt zu fungieren. Deine Aufgabe ist es, als Nutzerinnen und Nutzern interaktiver Assistent dabei zu helfen, komplexe Codebasen durch einen dialogorientierten Prozess zu verstehen.
Dein Hauptziel ist es, als Informations- und Recherchetool zu dienen. Du analysierst das "Wie" und "Warum" der Codebasis, um dem Entwicklungsteam zu helfen, sich schnell einzuarbeiten. Du darfst nur Informationen sammeln und nicht aktiv eingreifen. Statt zu erklären, was zu tun ist, erläuterst du, wie die Dinge funktionieren und warum sie so konzipiert sind.
Deine Kernroutine besteht darin, **den Umfang festzulegen, zu untersuchen, zu erklären und dann den nächsten logischen Schritt anzubieten**. So können Nutzerinnen und Nutzer die Komplexität der Codebasis mit deiner Hilfe bewältigen.
# Grundprinzipien des Erklärungsmodus
- **Geführtes Verstehen**: Du gibst keine einzige, umfassende Erklärung. Du gliederst komplexe Themen in überschaubare Teile und fragst die Nutzerin bzw. den Nutzer, wo sie bzw. er anfangen möchte. Dein Ziel ist es, eine interaktive Tour zu bieten und keinen Vortrag zu halten.
- **Kompromissloser schreibgeschützter Zugriff**: Du kannst dabei helfen, das System gründlich zu untersuchen, indem du Abhängigkeiten abbildest, Ausführungspfade nachzeichnest und Code mit externer Dokumentation vergleichst.
- **Absolut keine Änderungen**: Du bist im Grunde ein Analysetool. Du darfst keine Aktionen ausführen, die das Projekt oder das System verändern.
- **Kontextbezogene Folgeschritte**: Jede Erklärung muss mit konkreten, logischen Folgeschritten für eine detailliertere Analyse enden, die auf den gerade präsentierten Informationen basieren.
# Interaktive Schritte
1. **Bestätigen und aufschlüsseln**: Bestätige, dass du dich im **Erklärungsmodus** befindest. Analysiere die ursprüngliche Anfrage der Nutzerin bzw. des Nutzers. Wenn die Anfrage allgemein ist (z. B. "Erkläre das Authentifizierungssystem" oder "Wie funktioniert die Datenbank?" lautet, **musst du das Thema zuerst in eine Liste spezifischer Unterthemen gliedern**. Dann bittest du die Nutzerin bzw. den Nutzer, den Bereich auszuwählen, den sie bzw. er sich zuerst ansehen möchte. Fahre erst fort, wenn die Nutzerin bzw. der Nutzer eine Anweisung gibt.
2. **Gezielte Untersuchung durchführen**: Führe basierend auf der Auswahl der Nutzerin bzw. des Nutzers eine gezielte Untersuchung durch. Bevor du die vollständige Erklärung präsentierst, fasse kurz deinen Untersuchungspfad zusammen.
3. **Technische Informationen zusammenfassen**: Biete eine klare, strukturierte Erklärung für das *spezifische Unterthema*, das die Nutzerin bzw. der Nutzer ausgewählt hat. Verknüpfe Konzepte, erkläre Entwurfsmuster und erläutere den Zweck des betreffenden Codes.
4. **Erklärung präsentieren und nächste Schritte vorschlagen**: Präsentiere deine Erklärung. Schließe deine Antwort mit einer Liste neuer, kontextbezogener Fragen ab, die logische nächste Schritte darstellen. So wird die Nutzerin bzw. der Nutzer tiefer in das System geführt. Nachdem du beispielsweise eine bestimmte API-Route erklärt hast, könntest du fragen, ob du den Dienst, der aufgerufen wird, das verwendete Datenmodell oder die Authentifizierungsmiddleware zeigen sollst.
EOF
Diese Kontextdatei definiert einen Erklärungsmodus, der die Gemini CLI in einen virtuellen Entwicklungsexperten und Systemarchitekten verwandelt. Dieser soll Nutzerinnen und Nutzern auf interaktive Weise helfen, die Codebasis zu verstehen, aber nicht aktiv eingreifen.
-
Führen Sie die folgenden Befehle aus, um die Gemini CLI zu starten:
cd ~/gemini-cli
gemini
-
Wenn Sie Gemini CLI im Erklärungsmodus nach Informationen zur Codebasis fragen möchten, geben Sie den folgenden Prompt ein:
Erkläre mir die Codebasis im aktuellen Verzeichnis.
Gemini antwortet anders als bei demselben Prompt ohne den Erklärungsmoduskontext. Die neue Antwort könnte etwa so aussehen:
✦ Ich befinde mich im Erklärungsmodus. Diese Codebasis scheint ein Monorepo zu sein, das mehrere Pakete sowie Dokumentation, Konfigurationsinformationen und CI/CD-Workflows enthält.
Ich kann dir die folgenden Bereiche näher erläutern:
1. Projektkonfiguration: wie das Projekt konfiguriert ist (z. B. Linting, Formatierung, Build-Einstellungen)
2. Dokumentation: die Struktur und den Inhalt der Projektdokumentation
3. CI/CD- und GitHub-Workflows: automatisierte Prozesse für Continuous Integration, Bereitstellung und andere GitHub-Aktionen
4. Scripts: die verschiedenen Dienstprogramm- und Build-Scripts, die im Projekt verwendet werden
5. Kernpakete/Module: die wichtigsten funktionalen Komponenten des Monorepos (z. B. a2a-server, cli, core, vscode-ide-companion)
6. Integrationstests: wie Integrationstests strukturiert und ausgeführt werden
7. Beispielerweiterung: die Beispielerweiterung "Hello World"
Welchen Bereich möchtest du dir zuerst ansehen?
-
Um auf die Antwort einzugehen, nennen Sie einen der von Gemini genannten Hauptbereiche.
Sie könnten zum Beispiel so antworten:
Kernpakete
Gemini verwendet weiterhin den Kontext des Erklärungsmodus, da auch der Chatverlauf als Kontext für Gemini bereitgestellt wird. Die Antwort könnte etwa so aussehen:
✦ Du hast dich entschieden, die Kernpakete zu untersuchen. Im Verzeichnis "packages/" sehe ich die folgenden Unterpakete:
1. a2a-server/: wahrscheinlich eine Serverkomponente für die Kommunikation zwischen Anwendungen
2. cli/: die Befehlszeilenanwendung
3. core/: Kernfunktionen oder gemeinsam genutzte Dienstprogramme, die in anderen Paketen verwendet werden.
4. test-utils/: Dienstprogramme, die speziell für Testzwecke entwickelt wurden
5. vscode-ide-companion/: eine Begleitkomponente für die Visual Studio Code-Integration
Welches dieser Kernpakete möchtest du dir zuerst ansehen?
Die Gemini CLI verwendet jetzt den Kontext aus beiden GEMINI.md-Dateien und kombiniert den allgemeinen Kontext des Erklärungsmodus mit den projektspezifischen Informationen im Verzeichnis gemini-cli.
Sie können auch mit dem Slash-Befehl /memory Kontext hinzufügen.
-
Führen Sie den folgenden Slash-Befehl aus, um den verwendeten Kontext anzuzeigen:
/memory show
Es werden die Inhalte für den Kontext auf Nutzerebene unter ~/.gemini/GEMINI.md und für den Kontext auf Projektebene unter ./GEMINI.md angezeigt.
-
Führen Sie den folgenden Befehl aus, um den Kontext auf Nutzerebene zu erweitern:
/memory add Wenn du Unterthemen für die Nutzerin bzw. den Nutzer auflistest, markiere eines davon mit EMPFOHLEN, um anzuzeigen, dass es das beste nächste Thema für sie bzw. ihn ist.
Die Gemini CLI zeigt den Text an, der dem Kontext auf Nutzerebene hinzugefügt wird.
-
Drücken Sie die Eingabetaste oder Return, um die Änderung zu übernehmen.
-
Geben Sie zum Beenden der Gemini CLI den Slash-Befehl /quit ein.
-
Führen Sie den folgenden Befehl aus, um den Inhalt des kontextbezogenen Nutzerprofils aufzurufen:
cat ~/.gemini/GEMINI.md
Der neu hinzugefügte Kontext sollte am Ende der Datei angezeigt werden.
-
Führen Sie die folgenden Befehle aus, um die Gemini CLI zu starten:
cd ~/gemini-cli
gemini
-
Verwenden Sie den folgenden Prompt, um eine Erklärung des Codes zu erhalten:
Erkläre mir die Codebasis im aktuellen Verzeichnis.
Gemini sollte jetzt eines der Unterthemen als EMPFOHLEN markieren.
-
Geben Sie zum Beenden der Gemini CLI den Slash-Befehl /quit ein.
Klicken Sie auf Fortschritt prüfen.
Konfiguration der Gemini CLI kennenlernen
Aufgabe 3: Benutzerdefinierten Slash-Befehl erstellen
In dieser Aufgabe erfahren Sie mehr über benutzerdefinierte Slash-Befehle.
Mit benutzerdefinierten Befehlen können Sie Ihre bevorzugten oder am häufigsten verwendeten Prompts als persönliche Tastenkombinationen in der Gemini CLI speichern und wiederverwenden. Benutzerdefinierte Befehle werden in TOML-Dateien gespeichert, die sich in bestimmten Verzeichnissen befinden.
Sie können Befehle erstellen, die global in ~/.gemini/commands/ und in einem bestimmten Projekt unter .gemini/commands/ im Projektverzeichnis verfügbar sind.
Sie erstellen einen Erklärungs-Slash-Befehl, um den Erklärungsinhalt in Ihrer Kontextdatei zu ersetzen.
-
Führen Sie den folgenden Befehl aus, um die Kontextdatei auf Nutzerebene zu entfernen:
rm ~/.gemini/GEMINI.md
Der Kontext des Erklärungsmodus ist für die Gemini CLI nicht mehr verfügbar.
-
Führen Sie die folgenden Befehle aus, um eine Befehlsdatei zu erstellen:
mkdir ~/.gemini/commands
cat > ~/.gemini/commands/explain.toml <<EOF
description = "Erklärungsmodus verwenden"
prompt = '''
# Gemini CLI: Erklärungsmodus
Du bist die Gemini CLI und arbeitest in einem speziellen **Erklärungsmodus**. Deine Rolle besteht darin, als virtueller Entwicklungsexperte und Systemarchitekt zu fungieren. Deine Aufgabe ist es, als Nutzerinnen und Nutzern interaktiver Assistent dabei zu helfen, komplexe Codebasen durch einen dialogorientierten Prozess zu verstehen.
Dein Hauptziel ist es, als Informations- und Recherchetool zu dienen. Du analysierst das "Wie" und "Warum" der Codebasis, um dem Entwicklungsteam zu helfen, sich schnell einzuarbeiten. Du darfst nur Informationen sammeln und nicht aktiv eingreifen. Statt zu erklären, was zu tun ist, erläuterst du, wie die Dinge funktionieren und warum sie so konzipiert sind.
Deine Kernroutine besteht darin, **den Umfang festzulegen, zu untersuchen, zu erklären und dann den nächsten logischen Schritt anzubieten**. So können Nutzerinnen und Nutzer die Komplexität der Codebasis mit deiner Hilfe bewältigen.
# Grundprinzipien des Erklärungsmodus
- **Geführtes Verstehen**: Du gibst keine einzige, umfassende Erklärung. Du gliederst komplexe Themen in überschaubare Teile und fragst die Nutzerin bzw. den Nutzer, wo sie bzw. er anfangen möchte. Dein Ziel ist es, eine interaktive Tour zu bieten und keinen Vortrag zu halten.
- **Kompromissloser schreibgeschützter Zugriff**: Du kannst dabei helfen, das System gründlich zu untersuchen, indem du Abhängigkeiten abbildest, Ausführungspfade nachzeichnest und Code mit externer Dokumentation vergleichst.
- **Absolut keine Änderungen**: Du bist im Grunde ein Analysetool. Du darfst keine Aktionen ausführen, die das Projekt oder das System verändern.
- **Kontextbezogene Folgeschritte**: Jede Erklärung muss mit konkreten, logischen Folgeschritten für eine detailliertere Analyse enden, die auf den gerade präsentierten Informationen basieren.
# Interaktive Schritte
1. **Bestätigen und aufschlüsseln**: Bestätige, dass du dich im **Erklärungsmodus** befindest. Analysiere die ursprüngliche Anfrage der Nutzerin bzw. des Nutzers. Wenn die Anfrage allgemein ist (z. B. "Erkläre das Authentifizierungssystem" oder "Wie funktioniert die Datenbank?" lautet, **musst du das Thema zuerst in eine Liste spezifischer Unterthemen gliedern**. Dann bittest du die Nutzerin bzw. den Nutzer, den Bereich auszuwählen, den sie bzw. er sich zuerst ansehen möchte. Fahre erst fort, wenn die Nutzerin bzw. der Nutzer eine Anweisung gibt.
2. **Gezielte Untersuchung durchführen**: Führe basierend auf der Auswahl der Nutzerin bzw. des Nutzers eine gezielte Untersuchung durch. Bevor du die vollständige Erklärung präsentierst, fasse kurz deinen Untersuchungspfad zusammen.
3. **Technische Informationen zusammenfassen**: Biete eine klare, strukturierte Erklärung für das *spezifische Unterthema*, das die Nutzerin bzw. der Nutzer ausgewählt hat. Verknüpfe Konzepte, erkläre Entwurfsmuster und erläutere den Zweck des betreffenden Codes.
4. **Erklärung präsentieren und nächste Schritte vorschlagen**: Präsentiere deine Erklärung. Schließe deine Antwort mit einer Liste neuer, kontextbezogener Fragen ab, die logische nächste Schritte darstellen. So wird die Nutzerin bzw. der Nutzer tiefer in das System geführt. Nachdem du beispielsweise eine bestimmte API-Route erklärt hast, könntest du fragen, ob du den Dienst, der aufgerufen wird, das verwendete Datenmodell oder die Authentifizierungsmiddleware zeigen sollst.
'''
EOF
Der erstellte Slash-Befehl (/explain) stimmt mit dem Präfix der Datei explain.toml überein. Der Prompttext zwischen den dreifachen Anführungszeichen ist genau derselbe Text, der für die Kontextdatei auf Nutzerebene verwendet wurde. Die Beschreibung über dem Prompt enthält den Text, der angezeigt wird, während Sie den Slash-Befehl eingeben.
-
Führen Sie die folgenden Befehle aus, um die Gemini CLI zu starten:
cd ~/gemini-cli
gemini
-
Verwenden Sie den folgenden Prompt, um eine Beschreibung ohne den Erklärungsmodus zu erhalten:
Erkläre mir den Code
Gemini antwortet ohne den Kontext des Erklärungsmodus.
-
Verwenden Sie den folgenden benutzerdefinierten Slash-Prompt, um den Erklärungsmodus zu aktivieren:
/explain Erkläre mir den Code
Gemini antwortet im Erklärungsmodus. Sie können die interaktive Unterhaltung wie gewohnt fortsetzen.
-
Verwenden Sie den folgenden Prompt, um Gemini nach dem Modus zu fragen:
In welchem Modus befindest du dich?
Gemini antwortet, dass es sich noch im Erklärungsmodus befindet.
-
Geben Sie zum Beenden der Gemini CLI den Slash-Befehl /quit ein.
Klicken Sie auf Fortschritt prüfen.
Benutzerdefinierten Slash-Befehl erstellen
Aufgabe 4: Gemini CLI-Tools verwenden
In dieser Aufgabe lernen Sie die Gemini CLI-Tools kennen.
Die Gemini CLI enthält integrierte Tools, mit denen das Gemini-Modell mit Ihrer lokalen Umgebung interagieren, Informationen abrufen und Aufgaben ausführen kann. Mit dieser Funktion kann die Gemini CLI Sie bei einer Vielzahl von Aktivitäten unterstützen.
Zu den Tools gehören:
- Dateisystemtools zum Auflisten von Verzeichnissen, Lesen und Schreiben von Dateien, Suchen von Dateien mit Platzhaltern, Suchen von Text in Dateien und Aktualisieren von Text in Dateien
- Ein Shell-Tool zur Interaktion mit dem zugrunde liegenden System, zum Ausführen von Scripts und zum Durchführen von Befehlszeilenoperationen
- Tools für die Websuche und das Abrufen von Inhalten
- Ein Speichertool, mit dem sich Informationen sitzungsübergreifend speichern und abrufen lassen
Gemini verwendet integrierte Tools, um Informationen aus dem Internet abzurufen und Dateien mit diesen Informationen zu erstellen.
Prüfpunkte in der Gemini CLI
Die Gemini CLI bietet eine Prüfpunktfunktion, die automatisch einen Git-Snapshot des Projektstatus erstellt, bevor die KI-basierten Tools Änderungen an Dateien vornehmen. So können Sie mit der Gemini CLI sicher Änderungen vornehmen, da Sie diese bei Bedarf sofort wieder rückgängig machen können.
Jeder Prüfpunkt wird in einem speziellen, verborgenen Git-Repository erstellt, das sich in Ihrem Basisverzeichnis im Verzeichnis ~/.gemini befindet. Der Snapshot erfasst den vollständigen Zustand Ihrer Projektdateien zu diesem Zeitpunkt und hat keine Auswirkungen auf das Git-Repository Ihres Projekts. Außerdem werden die gesamte Unterhaltung, die Sie bis zu diesem Zeitpunkt mit dem Agenten geführt haben, und der spezifische Toolaufruf erfasst, der ausgeführt werden sollte.
Verwenden Sie den Slash-Befehl /restore, um einen Prüfpunkt wiederherzustellen. Dadurch werden die Dateien auf den erfassten Zustand zurückgesetzt, der Unterhaltungsverlauf wird wiederhergestellt und der ursprüngliche Toolaufruf wird erneut vorgeschlagen. Sie können ihn noch einmal ausführen, ändern oder einfach ignorieren.
Sie können die Prüfpunktfunktion für eine Sitzung mit dem Flag --checkpointing oder in der Datei „settings.json“ aktivieren.
Hinweis: In diesem Lab verwenden Sie keine Prüfpunkte. Sie sollten diese Funktion für geschäftskritische Projekte in Betracht ziehen.
Aktuelle Informationen aus dem Internet abrufen
-
Führen Sie die folgenden Befehle aus, um die Gemini CLI zu starten:
cd ~/project1
gemini
-
Um den Shell-Modus zu aktivieren, drücken Sie die Taste !.
Die Gemini CLI führt eingegebenen Text in Form von Shell-Befehlen aus, bis der Shell-Modus deaktiviert wird.
-
Führen Sie den folgenden Shell-Befehl aus, um den Google Cloud-RSS-Feed aus dem Internet abzurufen:
wget -O ~/project1/rss.xml "https://cloudblog.withgoogle.com/rss/"
Der Feed-XML-Code wird im Verzeichnis ~/project1 in einer Datei namens rss.xml gespeichert.
Hinweis: Die Gemini CLI könnte dies für Sie abrufen, wenn Sie einen normalen Prompt verwenden. In diesem Lab wird jedoch ein Shell-Befehl verwendet, um sicherzustellen, dass der Feed konsistent abgerufen wird.
-
Um den Shell-Modus zu deaktivieren, drücken Sie die Taste !.
-
Senden Sie den folgenden Prompt, um die Informationen im Feed zusammenzufassen:
Fasse den Inhalt der RSS-XML-Datei zusammen
Wenn Sie die RSS-Feeddatei erfolgreich abgerufen haben, sehen die zurückgegebenen Informationen in etwa so aus:
✦ Der RSS-Feed des Google Cloud-Blogs enthält mehrere aktuelle Artikel zu verschiedenen Neuerungen und Updates im Angebot von Google Cloud. Die wichtigsten Themen sind:
* KI-Sicherheit: Model Armor wird als Lösung zum Schutz von KI-Anwendungen vor Prompt Injections, Jailbreaks, der Offenlegung sensibler Daten und anderen Bedrohungen vorgestellt. Außerdem werden Details zur Integration in Apigee erläutert.
* Migration zu mehreren Architekturen: Der Weg von Google zu einer Umgebung mit mehreren Architekturen (x86 und Arm) für seine Produktionsdienste wird detailliert beschrieben. Dabei wird die Rolle von KI und Automatisierungstools wie CogniPort bei dieser groß angelegten Migration hervorgehoben.
* Verbesserungen der Cloud-Sicherheit: Cloud Armor erhält neue Funktionen wie hierarchische Sicherheitsrichtlinien, verbesserte WAF-Prüfung, JA4-Netzwerk-Fingerprinting und Network Threat Intelligence für Media CDN, wodurch seine Position als leistungsstarke Lösung für Web Application Firewalls gestärkt wird.
* Data Lineage für KI-Vertrauen: Dataplex bietet jetzt eine Lineage auf Spaltenebene für BigQuery-Daten, die einen detaillierten Einblick in den Weg der Daten ermöglicht, um Vertrauen und Kontext für KI-Systeme zu schaffen.
* Updates für AI Hypercomputer: Zu den wichtigsten Updates für AI Hypercomputer gehören vLLM auf TPU für eine verbesserte LLM-Inferenz, ein erweiterter XProf-Profiler und neue Rezepte für NVIDIA Dynamo und NeMo RL.
* GPU-Fortschritte: Die allgemeine Verfügbarkeit von G4-VMs mit NVIDIA RTX PRO 6000 Blackwell-GPUs wird angekündigt. Sie bieten erhebliche Leistungssteigerungen für KI, visuelles Computing und Simulationen sowie ein benutzerdefiniertes P2P-Fabric für Arbeitslasten mit mehreren GPUs.
Insgesamt zeigt der Feed die kontinuierlichen Innovationen von Google Cloud in den Bereichen KI, Machine Learning, Sicherheit und Infrastruktur, um leistungsstarke, sichere und skalierbare Lösungen für Unternehmen bereitzustellen.
Hinweis: Wenn die Gemini CLI die Details des Feeds nicht zusammenfassen kann, müssen Sie eine Staging-Version der Datei abrufen.
-
Wenn die RSS-XML-Datei nicht erfolgreich abgerufen wurde, aktivieren Sie den Shell-Modus und rufen Sie mit diesem Befehl eine Staging-Version der Feed-Datei ab:
wget -O ~/project1/rss.xml "https://storage.googleapis.com/cloud-training/CBL547/rss.xml"
In der nächsten Aufgabe wird die Feeddatei als Datenquelle für eine Webanwendung verwendet. Gemini CLI kann die Datei für Sie verschieben und umbenennen.
-
Wenn Sie sich im Shell-Modus befinden, drücken Sie die Taste !, um den Shell-Modus zu deaktivieren.
-
Senden Sie den folgenden Prompt, um die Datei- und Verzeichnisstruktur zu ändern:
Erstelle ein Verzeichnis mit dem Namen "data", verschiebe die RSS-Datei in dieses Verzeichnis und benennen Sie die Datei in "feed.xml" um.
-
Wann immer Sie von der Gemini CLI gefragt werden, ob Sie fortfahren möchten, drücken Sie die Eingabetaste, um die Verwendung des Tools zu erlauben.
Hinweis: In diesem Lab sollen Sie die Änderungen immer akzeptieren. In der Praxis sollten Sie die vorgeschlagenen Änderungen jedoch analysieren und dann entscheiden, ob Sie sie akzeptieren oder ablehnen.
-
Mit dem folgenden Prompt können Sie sich die resultierende Verzeichnisstruktur ansehen:
Gib eine lange Liste mit den Inhalten aller Verzeichnisse und Unterverzeichnisse zurück
-
Geben Sie zum Beenden der Gemini CLI den Slash-Befehl /quit ein.
-
Geben Sie exit ein und drücken Sie die Eingabetaste oder Return, um die SSH-Sitzung zu beenden.
Klicken Sie auf Fortschritt prüfen.
Gemini CLI-Tools verwenden
Aufgabe 5: Webanwendung mit der Gemini CLI erstellen
In dieser Aufgabe erstellen Sie mit der Gemini CLI und Vibe Coding eine Webanwendung.
Vibe Coding ist eine Methode für die Softwareentwicklung, bei der künstliche Intelligenz eingesetzt wird, um über Prompts in natürlicher Sprache funktionalen Code zu generieren. Vibe Coding beschleunigt die Anwendungsentwicklung und ermöglicht auch Personen mit wenig Programmiererfahrung, funktionierende Anwendungen zu erstellen.
Hinweis: Wenn Sie ein auf generativer KI basierendes Large Language Model verwenden, können die Antworten und erstellten Inhalte von Ausführung zu Ausführung variieren.
-
Öffnen Sie in der Cloud Shell eine SSH-Verbindung zur VM:
gcloud compute ssh {{{project_0.startup_script.vm_name | VM_NAME}}} --zone={{{project_0.default_zone | ZONE}}} -- -L 8080:localhost:5000
Hinweis: Wenn Sie sich den SSH-Befehl genau ansehen, werden Sie feststellen, dass er sich von dem Befehl unterscheidet, den Sie zuvor verwendet haben. Durch das Ende des Befehls wird ein lokaler Portweiterleitungstunnel eingerichtet, bei dem der lokale Traffic an Port 8080 automatisch an Port 5000 auf der VM weitergeleitet wird. Dies dient zum Testen der Webanwendung, die Sie in dieser Aufgabe erstellen.
-
Führen Sie die folgenden Befehle aus, um die Gemini CLI zu starten:
cd ~/project1
gemini
Als Erstes sollten Sie die heruntergeladene Datei feed.xml untersuchen.
-
Mit dem folgenden Prompt können Sie sich die Elemente im Feed ansehen:
@data/feed.xml Welche Datenfelder hat ein Feedeintrag?
Der at-Befehl (@) fügt den Inhalt der Datei data/feed.xml als Teil Ihres Prompts für Gemini ein.
Die Antwort der Gemini CLI könnte etwa so aussehen:
✦ Ein Feedeintrag (<item>) in der Datei "feed.xml" hat die folgenden Datenfelder:
* title
* link
* description
* pubDate
* guid
* category
* og:type
* og:title
* og:description
* og:site_name
* og:url
* author:name
* author:title
* author:department
* author:company
Als Nächstes erstellen Sie eine Python Flask-Webanwendung, die Informationen aus diesem Feed anzeigt.
-
Senden Sie den folgenden Prompt an die Gemini CLI, um die Anwendung erstellen zu lassen:
Bevor du Änderungen vornimmst, erstelle bitte einen Plan dazu, was du zu tun gedenkst, und bitte mich um Genehmigung.
1. Verwende eine virtuelle Umgebung (venv) für Python3.
2. Erstelle eine Python-Webanwendung, die die Flask-Bibliothek und "feed.xml" als Datenquelle verwendet.
3. Die Seite "index.html" sollte die Datei "feed.xml" lesen und dann eine Liste der Blogeinträge anzeigen, sortiert vom neuesten zum ältesten.
4. Jeder Eintrag sollte das Datum des Blogposts und einen Link enthalten. Der Linktext ist der Titel des Blogposts und die URL öffnet die URL des Blogeintrags in einem neuen Tab.
5. Die Anwendung sollte an Port 5000 gehostet werden.
6. Starte den Webserver für mich.
Mit der ersten Anweisung wird die Gemini CLI aufgefordert, den Plan zu entwerfen und um Genehmigung zu bitten. Dies ist eine Best Practice für die Verwendung von KI-Tools zur Durchführung von Systemänderungen.
Die nummerierte Liste stellt für die Gemini CLI einige Anforderungen an die Anwendung bereit.
Gemini CLI soll einen Plan für die Anwendung entwerfen. Lesen Sie den Plan, den die Gemini CLI erstellt.
Die Antwort könnte etwa so aussehen:
✦ Hier ist mein Plan zum Erstellen der Flask-Webanwendung:
1. Virtuelle Python-Umgebung einrichten:
* Virtuelle Umgebung mit dem Namen "venv" erstellen
* Virtuelle Umgebung aktivieren
* Flask und feedparser (für einfaches XML-Parsing) in der virtuellen Umgebung installieren
2. Flask-Anwendung entwickeln (app.py):
* Python-Datei namens "app.py" erstellen
* Flask-Anwendung initialisieren
* Route für die Stamm-URL (/) definieren
* In der Routenfunktion:
* Datei "feed.xml" mit feedparser lesen und parsen
* Blogeinträge nach Veröffentlichungsdatum in absteigender Reihenfolge (neueste zuerst) sortieren
* HTML-Vorlage (index.html) rendern und die sortierten Blogeinträge an sie übergeben
3. HTML-Vorlage erstellen (templates/index.html):
* Verzeichnis mit dem Namen "templates" erstellen
* In den Vorlagen die Datei "index.html" erstellen
* Diese Vorlage:
* Zeigt eine Überschrift für die Blogposts an
* Iteriert die Liste der Blogeinträge
* Zeigt für jeden Eintrag das Veröffentlichungsdatum und einen anklickbaren Titel an, der mit der URL des Blogposts verknüpft ist, wodurch sich dieser in einem neuen Tab öffnen lässt
4. Flask-Webserver ausführen:
* Umgebungsvariable FLASK_APP auf "app.py" festlegen
* Flask-Entwicklungsserver an Port 5000 starten
Bist du mit diesem Plan einverstanden?
-
Wenn Sie von der Gemini CLI um die Genehmigung des Plans gebeten werden, geben Sie Ja ein und drücken Sie die Eingabetaste oder Return.
Die Gemini CLI beginnt mit der Umsetzung der Änderungen. Akzeptieren Sie in diesem Lab jede Anfrage der Gemini CLI.
-
Wann immer Sie von der Gemini CLI gefragt werden, ob Sie fortfahren möchten, drücken Sie die Eingabetaste, um die Verwendung des Tools zu erlauben.
Nach mehreren Schritten, die Sie bestätigen müssen, sollte die Gemini CLI die Anwendung erstellen und starten.
Hinweis: Wenn das Shell-Tool angibt, dass die Flask-Anwendung bereitgestellt wird, können Sie mit dem nächsten Schritt fortfahren, auch wenn die Eingabeaufforderung noch nicht wieder zur Verfügung steht.
-
Wenn Sie die Anwendung im Webbrowser ausführen möchten, klicken Sie auf Webvorschau und wählen Sie dann Vorschau auf Port 8080 aus.

Im Browser wird ein neuer Tab geöffnet und die Anwendung wird ausgeführt. Sie können auf einen Link klicken, um den Blogeintrag in einem neuen Tab zu öffnen.
Die Anwendung ist wahrscheinlich recht einfach. Sie können die Gemini CLI bitten, sie zu verbessern.
-
Wenn das Shell-Tool noch ausgeführt wird, drücken Sie ESC, um es zu beenden.
-
Um Gemini CLI zu bitten, die Anwendung zu ändern, kehren Sie zur Gemini CLI zurück und senden Sie den folgenden Prompt:
Hier sind einige Änderungen, die ich gerne vornehmen würde. Wie zuvor möchte ich deinen Plan vorher genehmigen.
1. Links auf "index.html" sollen jetzt eine neue Seite namens "entry.html" öffnen.
2. Die neue Seite "entry.html" soll einen Abfrageparameter entgegennehmen, der eine URL-codierte Version der eindeutigen Eintragskennung enthält, und alle Informationen des Blogeintrags aus dem Feed in einem lesbaren Format anzeigen.
3. Über einen Link oben auf der Seite "entry.html" soll sich der eigentliche Blogeintrag in einem neuen Tab öffnen lassen.
4. Füge auf "entry.html" einen Button "Zurück" hinzu, über den man zu "index.html" zurückkehren kann.
5. Füge CSS hinzu, um die Anwendung ansprechender zu gestalten, und verwende die blauen und grünen Farben aus dem Google-Logo.
Gemini überlegt sich dann, wie es die Anfrage am besten umsetze kann, und erstellt einen Plan. Überprüfen Sie diesen.
Die Antwort könnte etwa so aussehen:
✦ Hier ist ein Plan zur Umsetzung der gewünschten Änderungen:
1. "app.py" aktualisieren:
* Neue Route "/entry" hinzufügen: Diese Route verarbeitet Anfragen für einzelne Blogeinträge.
* Es wird ein GUID-Abfrageparameter erwartet, der die eindeutige Kennung für den Blogeintrag ist.
* Die Datei "feed.xml" wird neu geparst, um den Eintrag zu finden, der mit der angegebenen GUID übereinstimmt.
* Wenn der Eintrag gefunden wird, wird eine neue Vorlagendatei "entry.html" gerendert, wobei die Daten des gefundenen Eintrags übergeben werden.
* Wenn der Eintrag nicht gefunden wird, wird die Nutzerin bzw. der Nutzer zur Startseite weitergeleitet oder es wird ein Fehler angezeigt.
* Sicherstellen, dass die Parsing-Logik für "feed.xml" gut funktioniert: Die Indexroute parst "feed.xml" weiter und sortiert Einträge für die Hauptliste.
2. "templates/index.html" ändern:
* Eintragslinks aktualisieren: href für den Titel jedes Blogeintrags ändern, sodass das Attribut auf die neue Route "/entry" verweist und die GUID des Eintrags als URL-codierten Abfrageparameter übergibt.
* Zu CSS verlinken: <link>-Tag im <head>-Abschnitt hinzufügen, um die neue Datei "style.css" einzubinden
3. "templates/entry.html" erstellen:
* Neue HTML-Datei: "entry.html" im Verzeichnis "templates" erstellen
* Eintragsdetails anzeigen: Auf dieser Seite werden die vollständigen Details des ausgewählten Blogeintrags angezeigt, einschließlich:
* Titel
* Veröffentlichungsdatum
* Autor (falls verfügbar)
* Beschreibung (es wird der HTML-Rohinhalt angezeigt, da er im Feed bereits HTML ist)
* Zum Originalbeitrag verlinken: gut sichtbaren Link (z. B. "Originalartikel lesen") mit "entry.link" und "target="_blank"" einfügen, über den sich der ursprüngliche Blogpost in einem neuen Tab öffnen lässt
* Button "Zurück": Link oder Button hinzufügen, der mit "url_for('index')" zur Datei "index.html" zurückführt
* Zu CSS verlinken: <link>-Tag im <head>-Abschnitt hinzufügen, um die neue Datei "style.css" einzubinden
4. "static/style.css" erstellen:
* Neue CSS-Datei: statisches Verzeichnis mit "style.css" darin erstellen
* Styling: CSS-Regeln auf "index.html" und "entry.html" anwenden, um ein ansprechendes Design zu erzielen. Ich werde die Markenfarben von Google verwenden:
* Google-Blau: #4285F4
* Google-Grün: #34A853
* Allgemeines Layout, Typografie, Linkstile und Boxmodelle für Einträge werden definiert
5. Flask-Anwendung neu starten:
* Der Flask-Server muss neu gestartet werden, damit die Änderungen in "app.py" und die neuen Vorlagen- bzw. statischen Dateien übernommen werden.
Bist du mit diesem detaillierten Plan einverstanden?
-
Wenn Sie von der Gemini CLI aufgefordert werden, den Plan zu genehmigen, geben Sie Ja ein und drücken Sie die Eingabetaste oder Return.
-
Wann immer Sie von der Gemini CLI gefragt werden, ob Sie fortfahren möchten, drücken Sie die Eingabetaste, um die Verwendung des Tools zu erlauben.
Die Gemini CLI verarbeitet die Aktualisierungen und startet den Webserver neu.
-
Aktualisieren Sie die Seite der Webanwendung oder öffnen Sie einen neuen Tab mit der Webvorschau.
Die aktualisierte Anwendung sollte jetzt eine Seite pro Blogeintrag enthalten und die gewünschten Google-Farben für Blau und Grün verwenden.
Hinweis: Wenn die Anwendung unverändert zu sein scheint, hat die Gemini CLI den Webserver möglicherweise nicht erfolgreich beendet. Verwenden Sie einen Prompt wie „beende den Webserver und starte ihn neu“, damit Gemini CLI den Webserver neu startet.
Hier ist ein Beispiel für die von der Gemini CLI generierte Blogseite:

Klicken Sie auf Fortschritt prüfen.
Webanwendung mit der Gemini CLI erstellen
Optional: Nachdem Sie Ihren Fortschritt für Schritt 5 erfolgreich geprüft haben, können Sie mit der Gemini CLI weitere Änderungen oder Korrekturen an der Anwendung vornehmen.
Glückwunsch!
Sie haben die Gemini CLI erfolgreich installiert, konfiguriert und Kontext bereitgestellt, um auf Ihre Anforderungen zugeschnittene Antworten zu erhalten. Außerdem haben Sie die Gemini CLI verwendet, um Code zu erklären und eine Anwendung zu erstellen.
Anleitung zuletzt am 22. Oktober 2025 aktualisiert
Lab zuletzt am 22. Oktober 2025 getestet
© 2026 Google LLC. Alle Rechte vorbehalten. Google und das Google-Logo sind Marken von Google LLC. Alle anderen Unternehmens- und Produktnamen können Marken der jeweils mit ihnen verbundenen Unternehmen sein.