1. Ziel dieses Labs
In diesem praxisorientierten Lab installieren und authentifizieren Sie die Gemini CLI und probieren einige grundlegende Anwendungsfälle aus.

Lerninhalte
- Grundlagen der Gemini CLI
- Grundlegende Aufgaben mit der Gemini CLI ausführen
2. Hinweis
- Wenn Sie noch kein Projekt haben, das Sie verwenden können, müssen Sie ein neues Projekt in der GCP Console erstellen.
- In diesem Lab verwenden wir die GCP Cloud Shell, um die folgenden Schritte auszuführen. Öffnen Sie die Cloud Shell und legen Sie das Projekt mit der Cloud Shell fest.
- Öffnen Sie den GCP Cloud Shell-Editor, indem Sie auf die Schaltfläche „Cloud Shell-Editor“ klicken oder diesen Link verwenden. Wenn das Pop-up „Shell autorisieren“ angezeigt wird, klicken Sie darauf, um den Cloud Shell-Editor zu autorisieren.
- Mit dem folgenden Befehl können Sie prüfen, ob das Projekt bereits authentifiziert wurde.
gcloud auth list
- Führen Sie in der Cloud Shell den folgenden Befehl aus, um Ihr Projekt zu bestätigen:
gcloud config list project
- Wenn Sie sich nicht an Ihre Projekt-ID erinnern, können Sie alle Ihre Projekt-IDs mit auflisten.
gcloud projects list
- Wenn Ihr Projekt nicht festgelegt ist, verwenden Sie den folgenden Befehl, um es festzulegen:
gcloud config set project <YOUR_PROJECT_ID>
- Wir müssen einige Dienste aktivieren, um dieses Lab auszuführen. Führen Sie in der Cloud Shell den folgenden Befehl aus.
gcloud services enable aiplatform.googleapis.com
gcloud services enable cloudresourcemanager.googleapis.com
3. Installation und Authentifizierung
Installation
Die Gemini CLI ist in GCP Cloud Shell-Editor vorinstalliert . Wenn Sie sie verwenden möchten, können Sie sofort loslegen.
Sie können die Gemini CLI auch in Ihrer lokalen Umgebung installieren.
Dazu benötigen Sie Node.js 20 oder höher. Führen Sie den folgenden Befehl aus, um die Gemini CLI zu installieren.
npm install -g @google/gemini-cli
Verwenden Sie den folgenden Befehl , um ein Upgrade auf die neueste Version durchzuführen:
npm update -g @google/gemini-cli
Führen Sie die Gemini CLI aus, indem Sie den folgenden Befehl im Terminal ausführen.
gemini
Authentifizierung
Wenn Sie den GCP Cloud Shell-Editor verwenden, sollten Sie bereits authentifiziert sein, wenn Sie die Authentifizierung der Shell beim Ausführen akzeptiert haben.
Wenn Sie die Gemini CLI lokal ausführen und noch nicht authentifiziert sind, wird ein Bildschirm wie unten angezeigt.
Sie können auch /auth eingeben, um den folgenden Bildschirm aufzurufen.

Abbildung 1: Die Gemini CLI bietet drei Methoden zur Authentifizierung.
Beenden Sie zuerst die Gemini CLI mit dem Befehl /quit.
Mit Google authentifizieren:Wenn Sie /auth in der Console ausführen, werden Authentifizierungsoptionen angezeigt. Wählen Sie in den Optionen „Mit Google anmelden“ aus. Der Google-Authentifizierungsbildschirm wird dann in Ihrem Browser angezeigt. Sobald Sie sich dort angemeldet haben, wird auch die Console authentifiziert. Obwohl die Authentifizierung abgeschlossen ist, müssen Sie ein Google Cloud-Projekt angeben, um die Gemini CLI tatsächlich verwenden zu können. Kehren Sie zum Console-Bildschirm zurück und führen Sie den folgenden Befehl aus, um das Projekt anzugeben. Sie können es auch in einer .env-Datei angeben.
export GOOGLE_CLOUD_PROJECT=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Mit API-Schlüssel authentifizieren: Für die Authentifizierung mit einem API-Schlüssel benötigen Sie einen API-Schlüssel. Sie können einen API-Schlüssel unter aistudio.google.com generieren . Sobald der API-Schlüssel ausgestellt wurde, legen Sie ihn in der Console so fest:
export GEMINI_API_KEY=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Mit Vertex AI authentifizieren: So verwenden Sie die Gemini API über Vertex AI:
Authentifizieren Sie sich zuerst mit dem folgenden Befehl in Google Cloud.
gcloud auth application-default login
Führen Sie danach die folgenden Befehle im Terminal aus:
export GOOGLE_GENAI_USE_VERTEXAI=true export GOOGLE_CLOUD_PROJECT=Your GCP Project Name export GOOGLE_CLOUD_LOCATION=us-central1
4. Gemini CLI ausprobieren
Jetzt können Sie die Gemini CLI ausprobieren. Probieren Sie die folgenden Anwendungsfälle aus.
Erstellen Sie zuerst einen Projektordner, my_cli_project.
mkdir ~/my_cli_project
cd ~/my_cli_project
Wenn Sie die Gemini CLI aus einem Projektordner ausführen, können Sie sie sicher innerhalb der Grenzen dieses Ordners verwenden.
- Wenn Sie sich noch nicht in der Gemini CLI befinden, geben Sie Folgendes im Cloud Shell-Terminal ein, um zur Gemini CLI zu wechseln
gemini
- Einfachen Prompt ausführen:
What is the weather today in Tokyo
今日の東京の天気について教えてください
Daraufhin sollte das Wetter in Tokio angezeigt werden. Beachten Sie, dass dabei automatisch
GoogleSearch Tool verwendet wird.
- Installierte Tools bestätigen: Führen Sie den folgenden Befehl im Gemini CLI-Terminal aus. Sie sollten die Liste der installierten Tools sehen.
/tools

Abbildung 2: Liste der angezeigten Tools
- Nachrichten von einer lokalen Nachrichtenseite abrufen : Beispiel: https://mainichi.jp. Ändern Sie die URL in die Ihrer lokalen Nachrichtenseite.
Get me the news summary from https://mainichi.jp/
このサイトからニュースのサマリーを教えてください https://mainichi.jp/
Sie sollten eine Zusammenfassung der Nachrichten von der lokalen Nachrichtenseite erhalten. Der Agent verwendet automatisch das WebFetch-Tool, um die Inhalte von der Nachrichtenseite herunterzuladen und die Zusammenfassung zu erstellen.
- Aufgabe mit mehreren Schritten ausführen: Ändern Sie die URL in die Ihrer lokalen Nachrichtenseite. Beispiel: „Get me the news from https://mainichi.jp/ and filter in only the sports news and summarize that for me.“
Get me the news from https://mainichi.jp/ and filter in only the sports news and summarize that for me.
https://mainichi.jp/ からニュースを取得し、スポーツニュースのみを抽出して、その要約を作成してください。
- Systembefehle ausführen : Drücken Sie dazu ! und geben Sie die Befehle ein. Um zum normalen Modus zurückzukehren, geben Sie noch einmal ! ein.
Type ! and Enter key. This starts the command mode. ls pwd Type ! to go back to normal mode.
- Tic-Tac-Toe-Spiel erstellen: Geben Sie den folgenden Prompt ein (englische Version).
Please develop a Tic-Tac-Toe game that meets the following requirements. The solution should be split into separate HTML, CSS, and JavaScript files, with the JavaScript file handling the majority of the game logic independently.
1. General Requirements
The game format should be a match between one human player and one computer player.
When the game ends (a win/loss is determined, or a draw occurs), display "GAME OVER" on the screen along with the winner's name ("X wins!," "O wins!," or "Draw!").
Provide a "Reset" button to start a new game.
2. HTML (index.html)
Create the basic page structure.
The game board should consist of nine squares (cells). Each cell should be clickable and display the player's mark (X or O).
Provide an element to display the game status (e.g., current player's turn, game result).
Place the reset button for starting a new game.
Link the CSS and JavaScript files appropriately.
3. CSS (style.css)
Style the game board and cells so they are visually clear and easy to understand.
Add borders to the cells to indicate they are clickable areas.
Set appropriate font size and color for the X and O marks to ensure good visibility.
Style the game status display and the "GAME OVER" message to make them stand out.
Consider responsive design to ensure appropriate display on various screen sizes.
4. JavaScript (script.js)
It is strongly requested that the JavaScript file handle all the game logic.
4.1. Game State Management
Define an array or object to manage the game board state (e.g., ['', '', '', '', '', '', '', '', '']).
Define a variable to track the current player (X or O). The initial value should be X.
Define a boolean value to track whether the game has ended (win/loss or draw).
4.2. Game Initialization
Create a function to initialize the game board upon page load.
Clear all cells.
Set the current player to X.
Reset the game end flag.
Clear the game result display.
4.3. Player Interaction
Set up event listeners for cell clicks.
Only place the current player's mark and update the board state if the clicked cell is empty.
After placing the mark, execute the following:
Call the win/draw check function.
If a winner is not yet determined, switch the player (X to O, O to X).
4.4. Computer AI Logic
Create a function that is called when it is the computer's (O) turn.
Implement a simple logic where the computer randomly selects an empty cell to place its mark. (While difficulty can be increased in the future, random selection is sufficient initially.)
After the computer places its mark, perform the win/draw check, and if the game is not over, switch the turn back to the human player.
4.5. Win/Draw Determination
Create a function that determines the win/draw status based on the current board state.
Check the following winning conditions:
Three rows
Three columns
Two diagonals
If a player meets a winning condition, declare that player the winner.
If all cells are filled and no player meets a winning condition, declare a draw.
If a win or draw is determined, set the game end flag to true and display the "GAME OVER" message and the result.
4.6. Game End Handling
When the game ends (win/loss or draw), prevent further clicks on the cells.
Display the text "GAME OVER" followed by the message "X wins!," "O wins!," or "Draw!" underneath it.
4.7. Reset Functionality
When the "Reset" button is clicked, call the function to return the game to its initial state.
Geben Sie den folgenden Prompt ein (japanische Version):
以下の要件を満たす三目並べ(Tic-Tac-Toe)ゲームを開発してください。HTML、CSS、JavaScriptの各ファイルに分割し、JavaScriptはゲームロジックの大部分を単独で処理するようにしてください。
1. 全体要件
プレイヤーは人間1人、コンピューター1人の対戦形式とする。
ゲーム終了時(勝敗が決まった場合、または引き分けの場合)は、画面上に「GAME OVER」と表示し、勝者の名前(「Xの勝利!」「Oの勝利!」または「引き分け!」)も併記すること。
新しいゲームを開始するための「リセット」ボタンを設けること。
2. HTML (index.html)
基本的なページ構造を作成してください。
ゲームボードは、9つのマス目(セル)で構成されるようにしてください。各セルはクリック可能で、プレイヤーのマーク(XまたはO)が表示されるようにします。
ゲームの状態(現在のプレイヤーのターン、ゲーム結果など)を表示する要素を設けてください。
ゲームをリセットするためのボタンを配置してください。
CSSファイルとJavaScriptファイルを適切にリンクしてください。
3. CSS (style.css)
ゲームボードとマス目が視覚的に分かりやすいようにスタイルを設定してください。
マス目には枠線をつけ、クリック可能な領域であることがわかるようにする。
XとOの表示は、見やすいように適切なフォントサイズと色を設定する。
ゲームの状態表示、および「GAME OVER」メッセージが目立つようにスタイルを設定してください。
レスポンシブデザインを考慮し、様々な画面サイズで適切に表示されるようにしてください。
4. JavaScript (script.js)
JavaScriptファイルがゲームロジックの全てを処理することを強く要請します。
4.1. ゲームの状態管理
ゲームボードの状態を管理する配列またはオブジェクト(例: ['', '', '', '', '', '', '', '', ''])を定義してください。
現在のプレイヤー(XまたはO)を追跡する変数を定義してください。初期値はXとする。
ゲームが終了したかどうか(勝敗が決まったか、引き分けか)を追跡するブール値を定義してください。
4.2. ゲームの初期化
ページ読み込み時にゲームボードを初期化する関数を作成してください。
全てのマス目を空にする。
現在のプレイヤーをXに設定する。
ゲーム終了フラグをリセットする。
ゲーム結果表示をクリアする。
4.3. プレイヤーの操作
マス目をクリックした際のイベントリスナーを設定してください。
クリックされたマス目が空の場合のみ、現在のプレイヤーのマークを配置し、ボードの状態を更新する。
マークを配置した後、以下の処理を実行する。
勝敗判定関数を呼び出す。
勝敗が決まっていない場合、プレイヤーを交代する(XからO、OからXへ)。
4.4. コンピューターの思考ロジック
コンピューター(O)が手番の時に呼び出される関数を作成してください。
コンピューターは、空いているマス目の中からランダムに選択してマークを配置するシンプルなロジックを実装してください。(将来的に難易度を上げることも考慮できるが、最初はランダムで十分です)
コンピューターがマークを配置した後、勝敗判定を行い、勝敗が決まっていない場合はプレイヤーを人間に戻す。
4.5. 勝敗判定
現在のボードの状態に基づいて勝敗を判定する関数を作成してください。
以下の勝利条件をチェックする。
3つの行
3つの列
2つの対角線
勝利条件を満たすプレイヤーがいる場合、そのプレイヤーの勝利とする。
全てのマス目が埋まり、かつ勝利条件を満たすプレイヤーがいない場合、引き分けとする。
勝敗または引き分けが決まった場合、ゲーム終了フラグをtrueに設定し、「GAME OVER」メッセージと結果を表示する。
4.6. ゲーム終了時の処理
ゲームが終了した場合(勝敗が決まったか、引き分けか)は、それ以上マス目をクリックできないようにする。
「GAME OVER」というテキストと、その下に「Xの勝利!」「Oの勝利!」または「引き分け!」というメッセージを表示する。
4.7. リセット機能
「リセット」ボタンがクリックされた際に、ゲームを初期状態に戻す関数を呼び出す。
- Erstellen Sie ein neues Terminal, indem Sie im Cloud Shell-Editor-Terminal auf Terminal>Neu klicken. Legen Sie zuerst die Projekt-ID fest, falls noch nicht geschehen.
gcloud projects list
gcloud config set project <YOUR_PROJECT_ID>
cd ~/my_cli_project
python3 -m http.server 8080
Dadurch sollte ein Python-Server gestartet werden. Öffnen Sie im Browser (Strg + Klick, wenn Sie sich in der Cloud Shell befinden):
http://localhost:8080
Dadurch sollte ein Python-Server gestartet werden. Öffnen Sie im Browser (Strg + Klick, wenn Sie sich in der Cloud Shell befinden):
5. Gemini CLI-Erweiterungen ausführen
Die Gemini CLI bietet einige sehr nützliche Erweiterungen, die einfach installiert und ausgeführt werden können. Mit diesen Erweiterungen können Sie eine Verbindung zu verschiedenen Diensten herstellen und sie verwenden. https://geminicli.com/extensions/ finden Sie eine Liste der verfügbaren Erweiterungen, die täglich erweitert wird. Weitere Informationen zu Gemini CLI-Erweiterungen finden Sie auf dieser Seite: https://medium.com/google-cloud/gemini-cli-tutorial-series-part-11-gemini-cli-extensions-69a6f2abb659
Installieren wir eine Gemini Nanobanana -Erweiterung und führen sie aus.
Führen Sie den folgenden Befehl aus, um die Erweiterung zu installieren.
gemini extensions install https://github.com/gemini-cli-extensions/nanobanana
Starten Sie nach der Installation der Erweiterung die Gemini CLI neu. Dann können Sie die folgenden Nanobanana-Befehle über die Gemini CLI ausführen.
/generate: Einzelne oder mehrere Bilder mit Stil-/Variationsoptionen generieren/edit: Bildbearbeitung/restore: Bildwiederherstellung/icon: App-Symbole, Favicons und UI-Elemente in verschiedenen Größen generieren/pattern: Nahtlose Muster und Texturen für Hintergründe generieren/story: Sequenzielle Bilder generieren, die eine visuelle Geschichte oder einen Prozess erzählen/diagram: Technische Diagramme, Flussdiagramme und Architekturmodelle generieren/nanobanana: Schnittstelle für natürliche Sprache
Führen wir einige Befehle aus.
Bevor Sie Nanobanana ausführen, müssen Sie einen Gemini API-Schlüssel von aistudio.google.com abrufen und hier festlegen.
export NANOBANANA_GEMINI_API_KEY=YOUR_API_KEY
Englische Version
# Single image /generate "a watercolor painting of a fox in a snowy forest" # Multiple variations with preview /generate "sunset over mountains" --count=3 --preview # Style variations /generate "mountain landscape" --styles="watercolor,oil-painting" --count=4 # Specific variations with auto-preview /generate "coffee shop interior" --variations="lighting,mood" --preview
Japanische Version
# Single image /generate "雪の森のキツネの水彩画" # Multiple variations with preview /generate "山にかかる夕焼け" --count=3 --preview # Style variations /generate "山岳風景" --styles="watercolor,oil-painting" --count=4 # Specific variations with auto-preview /generate "コーヒーショップのインテリア" --variations="lighting,mood" --preview
Bilder bearbeiten
Ändern Sie den Namen der Datei in Ihren lokalen Dateinamen.
/edit my_photo.png "change the color of fox to blue"
6. Aufgabe
Überlegen Sie sich den Prompt, um diese Anwendungen zu erstellen.
-Your favorite game
-A photo gallery application
-A Manga generator App
-お気に入りのゲーム
-フォトギャラリーアプリケーション
-マンガ生成アプリ
7. Abgeschlossen
Das war's. Gut gemacht! Weitere Informationen finden Sie in den folgenden Ressourcen.