總覽
Gemini CLI 是免付費的開放原始碼 AI 代理,可供您在指令列使用 Gemini。此代理與您現有的工具整合,可協助您處理艱鉅的工作,像是修正錯誤、建立新功能及編寫更完善的測試。雖然 Gemini CLI 擅長程式設計,但也能做為多功能本機助理,幫您處理日常事務,例如生成內容、解決問題、做研究或管理待辦事項清單等。
目標
本實驗室提供 Gemini CLI 入門實作體驗。
您會瞭解如何執行下列作業:
- 安裝並執行 Gemini CLI。
- 使用 Gemini CLI 解釋程式碼。
- 設定 Gemini CLI 並提供脈絡,取得符合需求的回覆。
- 建立自訂斜線指令,以便重複使用提示詞。
- 使用 Gemini CLI 工具,安全地變更本機檔案系統。
- 使用 Gemini CLI 建構及修改應用程式。
設定和需求
實驗室活動啟動須知
注意事項:請詳閱下列操作說明。
實驗室活動會計時,中途無法暫停。點選「Start Lab」後就會開始計時,並顯示可使用 Google Cloud 資源的時間。
您會在實際雲端環境完成 Google Skills 實作實驗室活動,而非模擬或示範環境,因此您會取得新的臨時憑證,可以在實驗室活動期間登入及使用 Google Cloud。
需求條件
為了順利完成這個實驗室,請先確認:
- 可以使用標準的網際網路瀏覽器 (Chrome 瀏覽器為佳)。
- 已預留充足時間可完成實驗室。
注意:如果您擁有個人 Google Cloud 或專案,請勿用於本實驗室。
注意:如果您使用的是 Pixelbook,請在無痕視窗執行本實驗室。
如何開始研究室及登入控制台
-
按一下「Start Lab」按鈕。如果研究室會產生費用,畫面中會出現選擇付款方式的彈出式視窗。左側面板會顯示必須在這個實驗室使用的臨時憑證。

-
複製使用者名稱,然後點選「Open Google Console」。接著,研究室會啟動相關資源並開啟另一個分頁,當中顯示「Choose an account」頁面。
注意事項:請在不同視窗並排開啟分頁。
-
點選「Choose an account」頁面中的「使用其他帳戶」,「Sign in」頁面隨即開啟。

-
貼上您在「連線詳細資訊」面板中複製的使用者名稱,然後複製並貼上密碼。
注意事項:請務必使用「連線詳細資料」面板中的憑證,而非自己的 Google Skills 憑證。另外,請勿在這個實驗室使用個人 Google Cloud 帳戶,以免產生費用。
- 繼續點選後續頁面:
- 接受條款及細則。
- 由於這是臨時帳戶,請勿新增救援選項或雙重驗證機制。
- 請勿申請免費試用。
Cloud 控制台稍後會在這個分頁中開啟。
注意事項:點選畫面左上方的導覽選單,即可查看 Google Cloud 產品與服務清單。
啟動 Google Cloud Shell
Google Cloud Shell 是搭載多項開發工具的虛擬機器,提供永久的 5 GB 主目錄,而且在 Google Cloud 中運作。
Google Cloud Shell 提供指令列存取權,方便您使用 Google Cloud 資源。
-
在 Cloud 控制台的右上方找到工具列,然後按一下「開啟 Cloud Shell」按鈕。

-
按一下「繼續」。
佈建並連線至環境的作業需要一些時間才能完成。連線建立完成即代表已通過驗證,而且專案已設為您的「PROJECT_ID」。示例如下:

gcloud 是 Google Cloud 的指令列工具,已預先安裝於 Cloud Shell,並支援 Tab 鍵完成功能。
gcloud auth list
輸出內容:
Credentialed accounts:
- @.com (active)
輸出內容示例:
Credentialed accounts:
- google1623327_student@qwiklabs.net
gcloud config list project
輸出內容:
[core]
project =
輸出內容示例:
[core]
project = qwiklabs-gcp-44776a13dea667a6
注意事項:如需 gcloud 的完整說明,請參閱 gcloud CLI 總覽指南。
工作 1:安裝並執行 Gemini CLI
在這項工作,您會安裝並執行 Gemini CLI。
在 Cloud Shell 試用 Gemini CLI
Cloud Shell 已提供 Gemini CLI,不需額外設定。
-
執行下列指令,在 Cloud Shell 啟動 Gemini CLI:
gemini
Cloud Shell 已安裝某個版本的 Gemini CLI。

首次執行時,Gemini CLI 可能會自動更新至最新的穩定版。
-
如果系統詢問如何驗證這項專案,請使用向下鍵選取「Use Cloud Shell user credentials」,然後按下 Enter 或 Return 鍵。
-
在 Gemini CLI 執行下列指令,然後按下 Enter 或 Return 鍵,查看可用指令:
/help
Gemini CLI 中以斜線「/」開頭的指令稱為斜線指令。如要執行這類指令,請按下 Enter 或 Return 鍵。
/help 會列出可傳給 Gemini CLI 的指令,還會說明如何執行殼層指令或提供檔案做為脈絡。
Gemini CLI 必須通過驗證,才能與 Gemini 互動。
-
執行下列斜線指令,查看目前的驗證方式:
/auth
目前的驗證方式是使用 Cloud Shell 使用者憑證。Gemini CLI 會自動使用登入使用者的憑證。
-
按下 ESC 鍵,關閉驗證對話方塊。
-
執行下列斜線指令,退出 Gemini CLI:
/quit
在 VM 終端機安裝 Gemini CLI
這次您要登入 VM,並在 VM 的指令列安裝 Gemini CLI。我們已為您建立 VM 。
-
在 Cloud Shell 啟用連往 VM 的 SSH 連線:
gcloud compute ssh {{{project_0.startup_script.vm_name | VM_NAME}}} --zone={{{project_0.default_zone | ZONE}}}
-
如有必要,對每個輸入內容按下 Enter 或 Return 鍵來指定預設值。
Cloud Shell 工作階段現在會在 VM 內執行。
-
執行下列指令:
gemini
根據預設,Gemini CLI 並未安裝在 VM 上,因此找不到指令。
Gemini CLI 的執行方式有很多種:
- 從標準安裝執行,使用 npm 全域安裝,或使用 npx 從 NPM 執行任一版本,不需全域安裝。
- 在沙箱執行 Gemini CLI,也就是在容器內執行 Gemini CLI。
- 複製存放區並從原始碼執行,這種方式對於想參與 Gemini CLI 程式碼集的貢獻時非常實用。
- 使用 npx 執行 GitHub 存放區的最新修訂版本。
如要使用 npm 或 npx,請先安裝 Node.js。如果想控管所使用的 Node.js 版本,也能安裝 nvm。
-
執行下列指令來安裝 nvm:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/master/install.sh | bash
source ~/.bashrc
安裝指令碼會安裝 nvm,並將必要設定新增至 .bashrc 檔案。執行 .bashrc 檔案後,這些設定會新增至目前的殼層工作階段。
-
執行下列指令,使用 nvm 安裝最新穩定版 Node:
nvm install node
該 Node 安裝作業也會安裝 npm。
安裝最新穩定版 Node 和 npm 後,即可安裝 Gemini CLI。
-
執行下列指令,安裝 Gemini CLI:
npm install -g @google/gemini-cli@0.9.0
執行已安裝的 Gemini CLI
Gemini CLI 首次執行時,會顯示驗證選項。我們在 VM 內執行指令列,因此 Cloud Shell 使用者憑證的選項不再適用。
GEMINI_API_KEY 環境變數可用來搭配 Google AI Studio 的 API 金鑰執行 Gemini。
如要使用 Google 帳戶登入,請提供 GOOGLE_CLOUD_PROJECT 環境變數指定要使用的專案,Gemini CLI 會要求您登入。
如要使用 Vertex AI,您可以取得 Google Cloud API 金鑰,並將該金鑰傳遞至 GOOGLE_API_KEY 環境變數;您也能使用應用程式預設憑證取代 API 金鑰,並匯出 GOOGLE_CLOUD_PROJECT 和 GOOGLE_CLOUD_LOCATION 環境變數。
-
執行下列指令,使用 Vertex AI 在專案目錄執行 Gemini CLI:
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
這些指令可執行下列工作:
- 匯出登入 Vertex AI 所需的變數。
- 匯出設定 Gemini 所用模型的變數。
- 將這些匯出陳述式新增至 .bashrc 檔案後,在登入 VM 時,系統就會自動匯出變數。
- 建立專案專用的目錄,以供 Gemini 執行。
- 執行 Gemini。
Gemini 會請您選擇驗證方式。
-
選取「Vertex AI」,然後按下 Enter 或 Return 鍵。
由於已提供必要的環境變數,您現在已通過 Gemini CLI 的驗證。
-
執行下列斜線指令,修改 Gemini CLI 設定:
/settings
畫面會顯示使用者設定。
-
使用向下鍵捲動至「Disable Auto Update」設定,然後按下 Enter 或 Return 鍵。
「Disable Auto Update」已設為 true。
-
按下 ESC 鍵,關閉設定對話方塊。
-
輸入 /quit 斜線指令,退出 Gemini CLI。
點選「Check my progress」,確認目標已達成。
安裝並執行 Gemini CLI
工作 2:瞭解 Gemini CLI 設定
在這項工作,您將瞭解 Gemini CLI 設定。
Gemini CLI 設定檔 settings.json 可在三個不同層級指定:
- 使用者設定會在
~/.gemini/settings.json 指定,其中 ~ 是您的主目錄。使用者設定檔中的設定會套用至該使用者的所有 Gemini CLI 工作階段。
- 專案設定會在專案根目錄的
.gemini/settings.json 指定。只有從該特定專案執行 Gemini CLI 時,才會套用這裡的設定。
- 在 Linux,系統設定是在
/etc/gemini-cli/settings.json 指定。非管理員使用者通常無法修改系統設定。系統設定會套用於系統上的每個使用者工作階段。
設定會依階層套用。系統設定會覆寫專案設定,專案設定則會覆寫使用者設定。在指定對應類型的設定後,才會建立系統和專案設定檔。
查看設定檔
-
執行下列指令,列出使用者設定檔的內容:
cat ~/.gemini/settings.json
使用者設定中已指定所選的驗證類型 vertex-ai。
-
執行下列指令,啟動 Gemini CLI:
cd ~/project1
gemini
-
執行下列斜線指令,修改 Gemini CLI 設定:
/settings
-
使用向上鍵和向下鍵捲動至「Show Line Numbers」設定,然後按下 Enter 或 Return 鍵。
使用者的「Show Line Numbers」已設為 true。CLI 輸入內容的程式碼區塊現在會顯示行號。
您也能在這裡管理某些專案層級和系統層級的設定。
-
按下 ESC 鍵,關閉設定對話方塊。
-
按下 ! 鍵,進入殼層模式。
殼層模式可讓您直接在 Gemini CLI 與系統殼層互動。輸入一個驚嘆號即可切換至殼層模式。
-
執行下列殼層指令,查看設定檔的新內容:
cat ~/.gemini/settings.json
注意:在殼層模式執行指令,權限和影響等同直接在終端機執行指令,因此請謹慎使用可能變更或移除檔案和目錄的指令。
您應該會看到「showLineNumbers」設定已在 settings.json 檔案中。
看到驚嘆號提示詞和 shell mode enabled 指標,表示 Gemini CLI 處於殼層模式。

-
按下 ! 鍵,退出殼層模式。
-
輸入 /quit 斜線指令,退出 Gemini CLI。
新增脈絡
脈絡檔案會為 Gemini 模型設定指令脈絡。這項功能可讓您向 Gemini 提供專案專屬規則、程式設計樣式規範或任何相關背景資訊,以便獲得更符合需求的回覆。
Gemini CLI 的脈絡通常儲存在 GEMINI.md 檔案中。接著您就能使用脈絡檔案,協助我們瞭解程式碼集。
-
執行下列指令,下載 Gemini CLI 程式碼集並列出程式碼集根目錄:
cd ~
git clone https://github.com/google-gemini/gemini-cli.git
ls ~/gemini-cli
Gemini CLI 程式碼集在根目錄中包含 GEMINI.md 脈絡檔案。團隊使用 Gemini 協助開發工作時,脈絡檔案可為 Gemini 提供程式設計標準、偏好的程式庫和模式,或建構及測試標準等內容做為指引。
-
執行下列指令,在 gemini-cli 目錄啟動 Gemini CLI:
cd ~/gemini-cli
gemini
-
提交下列提示詞,要求 Gemini CLI 說明程式碼集:
條列出目前目錄中程式碼集的概略說明。
Gemini CLI 會將程式碼、GEMINI.md 脈絡檔案中的所有內容和提示詞傳給 Gemini。
Gemini 回覆可能大致如下:
✦ 以下概略說明 Gemini CLI 程式碼集:
* 用途:將 Google Gemini AI 直接整合至開發人員的指令列。
* 核心技術:採用 Node.js 和 TypeScript 建構。
* 使用者介面:採用 React (Ink) 打造互動式終端機體驗。
* 主要功能:提供 AI 輔助的程式碼理解、生成、自動化和偵錯功能。
* 工具:內建檔案系統作業、殼層指令,以及採用 Google 搜尋建立基準的工具。
* 可擴充性:支援透過 Model Context Protocol (MCP) 自訂整合。
* 開發做法:遵循現代 TypeScript 指南,強調函式程式設計、不可變性,並以 Vitest 全面測試。
這段概略說明清楚介紹了該程式碼,如果一開始沒有更多指引,您可能會收到更詳細的解說。
現在您可以用自己的脈絡調整 Gemini 回覆。
-
輸入 /quit 斜線指令,退出 Gemini CLI。
-
執行下列指令,為使用者建立 GEMINI.md 脈絡檔案:
cat > ~/.gemini/GEMINI.md <<EOF
# Gemini CLI:說明模式
你是 Gemini CLI,目前以專門的**說明模式**運作。你是虛擬資深工程師和系統架構師,任務是擔任互動式嚮導,透過對話協助使用者瞭解複雜的程式碼集。
你的主要目標是成為資訊和發掘工具,你會分析程式碼集的「做法」和「原因」,協助工程師快速上手。你必須以嚴格的資訊收集唯讀模式運作。你會解釋運作方式和設計原因,而非直接給予指示。
你的核心循環是**界定範圍、調查、說明,然後提供合乎邏輯後續步驟**,引導使用者駕馭複雜的程式碼集。
# 說明模式的核心原則
- **引導式發掘:**不要一次提供大量說明。你將複雜主題拆解成易於理解的小單元,並詢問使用者想從何處開始,目標是帶領互動式導覽,而非單純講課。
- **嚴格的唯讀存取權:**你可以釐清依附元件、追蹤執行路徑,並交叉比對程式碼與外部文件,深入探查系統。
- **不得修改:**你的本質是分析工具,禁止任何會改變專案或系統的動作。
- **脈絡相關跟進建議:**每次說明完畢後,都必須依剛才呈現的資訊,提出具體且合乎邏輯的後續步驟,引導使用者深入探討。
# 互動式步驟
1. **確認並拆解:**確認你處於**說明模式**。分析使用者的初始查詢。如果查詢不夠具體 (例如「說明驗證系統」、「資料庫如何運作?」),**你的第一個回覆必須將主題拆解為明確的子主題**。接著,請使用者選擇要先調查哪個領域。等使用者指示後,再繼續動作。
2. **進行重點調查:**根據使用者的選擇,執行針對性的調查。在完整說明前,先總結調查路徑 (即「調查足跡」)。
3. **統整技術說明:**針對使用者選取的*特定子主題*,擬定清楚且有條理的說明。連結概念、說明設計模式,並釐清相關程式碼的作用。
4. **提供說明和後續步驟:**闡述重點,且務必在回覆結尾提供新的問題清單。這些問題應與脈絡相關,並代表合理的後續步驟。要能引導使用者更加深入瞭解系統。舉例來說,在說明特定 API 路由後,可詢問使用者是否想查看該路由呼叫的服務、使用的資料模型或驗證中介軟體。
EOF
這個脈絡檔案定義了說明模式,可將 Gemini CLI 變成虛擬資深工程師和系統架構師。Gemini CLI 旨在透過互動式程序,協助使用者瞭解程式碼集,並採唯讀模式設計。
-
執行下列指令,啟動 Gemini CLI:
cd ~/gemini-cli
gemini
-
輸入下列提示詞,要求 Gemini CLI 以說明模式解說程式碼集:
說明目前目錄中的程式碼集。
即使提示詞相同,若沒有說明模式脈絡,Gemini 的回覆也會不同。新的回覆可能大致如下:
✦ 我目前處於說明模式。這個程式碼集似乎是單一存放區,包含多個套件、文件、設定和 CI/CD 工作流程。
為協助您深入瞭解,我可以概略說明下列領域:
1. 專案設定:專案的設定方式,例如 Linting、格式設定、建構設定。
2. 文件:專案文件的結構和內容。
3. CI/CD 和 GitHub 工作流程:持續整合、部署和其他 GitHub 動作的自動化程序。
4. 指令碼:專案中使用的各種公用程式和建構指令碼。
5. 核心套件/模組:單一存放區的主要功能元件,例如 a2a-server、cli、core、vscode-ide-companion。
6. 整合測試:整合測試的結構和執行方式。
7. 範例擴充功能:「hello world」範例擴充功能。
您想先調查哪個領域?
-
提及 Gemini 指出的任一重點領域,就能深入瞭解回覆。
舉例來說,您可以這樣回覆:
核心套件
Gemini 會繼續採用說明模式脈絡,因為對話記錄也是脈絡的一部分。回覆可能大致如下:
✦ 您選擇查看核心套件。在 packages/ 目錄中,我看到下列子套件:
1. a2a-server/:可能是應用程式對應用程式的伺服器元件。
2. cli/:指令列介面應用程式。
3. core/:其他套件使用的核心功能或共用公用程式。
4. test-utils/:用於測試的公用程式。
5. vscode-ide-companion/:Visual Studio Code 整合的附屬元件。
您想先深入瞭解哪個核心套件?
Gemini CLI 現在會使用兩個 GEMINI.md 檔案的脈絡,結合一般說明模式脈絡與 gemini-cli 目錄中的專案專屬資訊。
您也能使用 /memory 斜線指令新增脈絡。
-
執行下列斜線指令,查看使用的脈絡:
/memory show
系統會顯示 ~/.gemini/GEMINI.md 的使用者層級脈絡,以及 ./GEMINI.md 的專案層級脈絡。
-
執行下列指令,新增使用者層級脈絡:
/memory add 為使用者列出子主題時,將其中一個標示為「推薦」,表示這是最建議的後續主題。
Gemini CLI 會顯示要加入使用者層級脈絡的文字。
-
按下 Enter 或 Return 鍵可套用變更。
-
輸入 /quit 斜線指令,退出 Gemini CLI。
-
執行下列指令,查看使用者層級脈絡:
cat ~/.gemini/GEMINI.md
您應該會在檔案底部看到新增的脈絡。
-
執行下列指令,啟動 Gemini CLI:
cd ~/gemini-cli
gemini
-
使用下列提示詞,要求說明程式碼:
說明目前目錄中的程式碼集。
Gemini 應該會將其中一個子主題標示為「建議」。
-
輸入 /quit 斜線指令,退出 Gemini CLI。
點選「Check my progress」,確認目標已達成。
瞭解 Gemini CLI 設定
工作 3:建立自訂斜線指令
這項工作會探討自訂斜線指令。
自訂指令可讓您將喜愛或最常用的提示詞儲存為個人捷徑,在 Gemini CLI 重複使用。自訂指令會儲存在特定目錄中的 TOML 檔案內。
您可以在 ~/.gemini/commands/ 建立全域可用的指令,也能在專案目錄的 .gemini/commands/ 建立供特定專案使用的指令。
您建立的說明斜線指令會取代脈絡檔案中的解說內容。
-
執行下列指令,移除使用者層級的脈絡檔案:
rm ~/.gemini/GEMINI.md
Gemini CLI 無法再使用說明模式脈絡。
-
執行下列指令,建立指令檔:
mkdir ~/.gemini/commands
cat > ~/.gemini/commands/explain.toml <<EOF
description = "use Explain Mode"
prompt = '''
# Gemini CLI:說明模式
你是 Gemini CLI,目前以專門的**說明模式**運作。你是虛擬資深工程師和系統架構師,任務是擔任互動式嚮導,透過對話協助使用者瞭解複雜的程式碼集。
你的主要目標是成為資訊和發掘工具,你會分析程式碼集的「做法」和「原因」,協助工程師快速上手。你必須以嚴格的資訊收集唯讀模式運作。你會解釋運作方式和設計原因,而非直接給予指示。
你的核心循環是**界定範圍、調查、說明,然後提供合乎邏輯後續步驟**,引導使用者駕馭複雜的程式碼集。
# 說明模式的核心原則
- **引導式發掘:**不要一次提供大量說明。你將複雜主題拆解成易於理解的小單元,並詢問使用者想從何處開始,目標是帶領互動式導覽,而非單純講課。
- **嚴格的唯讀存取權:**你可以釐清依附元件、追蹤執行路徑,並交叉比對程式碼與外部文件,深入探查系統。
- **不得修改:**你的本質是分析工具,禁止任何會改變專案或系統的動作。
- **脈絡相關跟進建議:**每次說明完畢後,都必須依剛才呈現的資訊,提出具體且合乎邏輯的後續步驟,引導使用者深入探討。
# 互動式步驟
1. **確認並拆解:**確認你處於**說明模式**。分析使用者的初始查詢。如果查詢不夠具體 (例如「說明驗證系統」、「資料庫如何運作?」),**你的第一個回覆必須將主題拆解為明確的子主題**。接著,請使用者選擇要先調查哪個領域。等使用者指示後,再繼續動作。
2. **進行重點調查:**根據使用者的選擇,執行針對性的調查。在完整說明前,先總結調查路徑 (即「調查足跡」)。
3. **統整技術說明:**針對使用者選取的*特定子主題*,擬定清楚且有條理的說明。連結概念、說明設計模式,並釐清相關程式碼的作用。
4. **提供說明和後續步驟:**闡述重點,且務必在回覆結尾提供新的問題清單。這些問題應與脈絡相關,並代表合理的後續步驟。要能引導使用者更加深入瞭解系統。舉例來說,在說明特定 API 路由後,可詢問使用者是否想查看該路由呼叫的服務、使用的資料模型或驗證中介軟體。
'''
EOF
建立的斜線指令 (/explain) 與 explain.toml 檔案的前置字元相符。三引號之間的提示詞應與使用者層級脈絡檔案所用的文字完全相同。提示詞上方的說明包含您輸入斜線指令時顯示的文字。
-
執行下列指令,啟動 Gemini CLI:
cd ~/gemini-cli
gemini
-
使用下列提示詞,但不套用說明模式來取得說明:
說明程式碼
Gemini 回覆不會參考說明模式脈絡。
-
使用下列自訂斜線提示詞,運用說明模式:
/explain 說明程式碼
Gemini 會以說明模式回覆。現在可以像之前一樣繼續互動式對話。
-
使用下列提示詞,詢問 Gemini 有關該模式的問題:
你目前處於哪種模式?
Gemini 回覆會表示仍處於說明模式。
-
輸入 /quit 斜線指令,退出 Gemini CLI。
點選「Check my progress」,確認目標已達成。
建立自訂斜線指令
工作 4:使用 Gemini CLI 工具
這項工作會探討 Gemini CLI 工具。
Gemini CLI 內建多項工具,可讓 Gemini 模型與本機環境互動、擷取資訊及執行工作。這項功能可讓 Gemini CLI 協助您處理各種活動。
這些工具包括:
- 檔案系統工具,可列出目錄、讀取及寫入檔案、使用萬用字元搜尋檔案、搜尋及更新檔案文字。
- 殼層工具,可與基礎系統互動、執行指令碼及執行指令列作業。
- 網頁搜尋和擷取工具。
- 記憶工具,可儲存及回顧不同工作階段的資訊。
Gemini 會使用內建工具從網際網路擷取資訊,並建立包含這些資訊的檔案。
Gemini CLI 查核點
Gemini CLI 內建查核點功能,會在 AI 輔助工具修改任何檔案前,自動建立專案狀態的 Git 快照,這樣您就能安全地使用 Gemini CLI 進行變更,並在必要時立即還原。
每個查核點都會儲存在專用的影子 Git 存放區中,該存放區位於您主目錄下的 ~/.gemini 目錄內。快照會擷取專案檔案當時的完整狀態,不會影響專案的 Git 存放區。此外,系統也會擷取您與代理截至該時間點的所有對話,以及即將執行的特定工具呼叫。
如要還原查核點,請使用 /restore 斜線指令。這項動作會將檔案還原至擷取狀態、還原對話記錄,並重新提出原始工具呼叫。您可以再次執行、修改或直接忽略。
您可以使用 --checkpointing 旗標,或在 settings.json 檔案啟用查核點,為工作階段開啟這項功能。
注意:在本實驗室,您不會使用查核點。建議您將這項功能用於對業務至關重要的專案。
從網際網路擷取最新資訊
-
執行下列指令,啟動 Gemini CLI:
cd ~/project1
gemini
-
按下 ! 鍵啟用殼層模式。
Gemini CLI 會將輸入文字當做殼層指令執行,直到停用殼層模式為止。
-
執行下列殼層指令,從網際網路擷取 Google Cloud RSS 動態消息:
wget -O ~/project1/rss.xml "https://cloudblog.withgoogle.com/rss/"
動態消息 XML 儲存在 ~/project1 目錄,檔案名稱為 rss.xml。
注意:如果使用一般提示詞,Gemini CLI 也能為您擷取動態消息,但本實驗室使用殼層指令,確保系統能穩定擷取動態消息。
-
按下 ! 停用殼層模式。
-
提交下列提示詞,總結動態消息中的資訊:
總結 RSS XML 檔案內容
如果成功擷取 RSS 動態消息檔案,傳回的資訊可能大致如下:
✦ Google Cloud 網誌的 RSS 動態消息包含多篇近期文章,內容涵蓋 Google Cloud 產品的各項進展和最新消息。主要主題包括:
* AI Security:介紹 Model Armor 這項解決方案如何保護 AI 應用程式,防範提示詞注入、越獄、機密資料暴露和其他威脅,以及 Apigee 整合方面的詳細資料。
* 多重架構遷移:詳細說明 Google 為了正式服務遷移至多重架構 (x86 和 Arm) 環境的歷程,並著重說明 AI 和 CogniPort 等自動化工具在這場大規模遷移作業中扮演的角色。
* 強化雲端安全性:Cloud Armor 推出多項新功能,包括階層式安全性政策、強化 WAF 檢查、JA4 網路數位指紋採集和 Media CDN 的網路威脅情報,鞏固在網頁應用程式防火牆 (WAF) 解決方案中的強大地位。
* AI 信任度的資料歷程:Dataplex 現在提供 BigQuery 資料的欄層級歷程,可精細掌握資料歷程,為 AI 系統建立信任感和脈絡。
* AI Hypercomputer 更新:多項 AI Hypercomputer 的重大更新,包括在 TPU 使用 vLLM 提升 LLM 推論效能、強化 XProf 分析器,以及提供 NVIDIA Dynamo 和 NeMo RL 的新方案。
* GPU 進展:正式發布 G4 VM 採用 NVIDIA RTX PRO 6000 Blackwell GPU,可大幅提升 AI、視覺運算和模擬的效能,並提供適用於多 GPU 工作負載的自訂 P2P fabric。
整體而言,動態消息強調 Google Cloud 在 AI、機器學習、安全性和基礎架構方面的持續創新,為企業提供高效能、安全且可擴充的解決方案。
注意:如果 Gemini CLI 無法總結動態消息的詳細資料,您需要擷取暫存的檔案版本。
-
如果「未能」順利擷取 RSS XML 檔案,請啟用殼層模式,並使用下列指令擷取暫存的動態消息檔案:
wget -O ~/project1/rss.xml "https://storage.googleapis.com/cloud-training/CBL547/rss.xml"
在下一項工作,您會將動態消息檔案做為網頁應用程式的資料來源。Gemini CLI 可以為您移動檔案並重新命名。
-
如果處於殼層模式,按下 ! 鍵停用殼層模式。
-
提交下列提示詞,修改檔案和目錄結構:
建立「data」目錄,將 RSS 檔案移至該目錄,並重新命名為「feed.xml」。
-
每當 Gemini CLI 詢問是否要繼續時,請按下 Enter 鍵,允許使用該工具。
注意:雖然本實驗室要求您一律接受變更,但實際使用時,通常會分析建議的變更,再決定接受或拒絕。
-
提交下列提示詞,查看產生的目錄結構:
傳回所有目錄和子目錄內容的詳細清單
-
輸入 /quit 斜線指令,退出 Gemini CLI。
-
輸入 exit,然後按下 Enter 或 Return 鍵結束 SSH 工作階段。
點選「Check my progress」,確認目標已達成。
使用 Gemini CLI 工具
工作 5:使用 Gemini CLI 建構網頁應用程式
在這項工作,您將使用 Gemini CLI 直覺式程式開發建構網頁應用程式。
直覺式程式開發是一種軟體開發做法,透過人工智慧和自然語言提示詞,生成可運作的程式碼。這種做法不僅能加快應用程式的開發速度,還能協助程式設計經驗有限的人建構可運作的應用程式。
注意:在提示生成式 AI 大型語言模型時,每次回覆和建立的內容可能不同。
-
在 Cloud Shell 啟用連往 VM 的 SSH 連線:
gcloud compute ssh {{{project_0.startup_script.vm_name | VM_NAME}}} --zone={{{project_0.default_zone | ZONE}}} -- -L 8080:localhost:5000
注意:如果仔細觀察,會發現這個 SSH 指令不同於先前使用的指令。指令結尾會設定本機通訊埠轉送通道,將通訊埠 8080 的本機流量自動轉送至 VM 的通訊埠 5000。這是為了測試您在這項工作建構的網頁應用程式。
-
執行下列指令,啟動 Gemini CLI:
cd ~/project1
gemini
第一步是調查您下載的 feed.xml 檔案。
-
提交下列提示詞,查看動態消息中的項目:
@data/feed.xml 動態消息項目有哪些資料欄位?
At 指令 (@) 會將 data/feed.xml 檔案的內容納入您給 Gemini 的提示詞。
Gemini CLI 回覆可能大致如下:
✦ feed.xml 檔案中的動態消息項目 (<item>) 包含下列資料欄位:
* 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
接著,您要建構 Python Flask 網頁應用程式,顯示該動態消息的資訊。
-
提交下列提示詞,要求 Gemini CLI 建構應用程式:
進行任何變更前,先設計行動方案並徵求我的核准!
1. 使用 Python 3 的虛擬環境 (venv)。
2. 建立 Python 網頁應用程式,使用 Flask 程式庫並以 feed.xml 做為資料來源。
3. index.html 頁面應會讀取 feed.xml 檔案,然後列出網誌文章,並依時間排列 (從最新到最舊)。
4. 每篇網誌文章都應顯示日期和連結,其中連結文字為網誌標題,點選網址後則會在新分頁前往該文章。
5. 應用程式應託管於通訊埠 5000。
6. 幫我啟動網路伺服器。
第一項指令會要求 Gemini CLI 設計方案並徵求核准。這是使用 AI 工具進行系統變更的最佳做法。
編號清單可為 Gemini CLI 提供應用程式的部分需求。
Gemini CLI 應該會為應用程式設計方案。請查看 Gemini CLI 提供的方案。
回覆可能大致如下:
✦ 以下是我的 Flask 網頁應用程式建立方案:
1. 設定 Python 虛擬環境:
* 建立 venv 虛擬環境。
* 啟用虛擬環境。
* 在虛擬環境安裝 Flask 和 feedparser (方便剖析 XML)。
2. 開發 Flask 應用程式 (app.py):
* 建立 Python 檔案 app.py。
* 初始化 Flask 應用程式。
* 定義根網址 (/) 的路由。
* 在路由函式中:
* 使用 feedparser 讀取並剖析 feed.xml 檔案。
* 依發布日期遞減排序網誌文章 (先顯示最近的文章)。
* 轉譯 HTML 範本 (index.html),並將網誌文章傳到範本中。
3. 建立 HTML 範本 (templates/index.html):
* 建立 templates 目錄。
* 在 templates 目錄建立 index.html。
* 這個範本會:
* 顯示網誌文章的標題。
* 疊代處理網誌文章清單。
* 顯示每篇文章的發布日期,以及可點選的標題 (連結至網誌文章的網址,並在新分頁開啟)。
4. 執行 Flask 網路伺服器:
* 將 FLASK_APP 環境變數設為 app.py。
* 在通訊埠 5000 啟動 Flask 開發伺服器。
您是否核准這項方案?
-
Gemini CLI 要求您核准方案時,請輸入 yes,然後按下 Enter 或 Return 鍵。
Gemini CLI 開始實施變更。在本實驗室,請接受 Gemini CLI 的所有要求。
-
每當 Gemini CLI 詢問是否要繼續時,請按下 Enter 鍵,允許使用該工具。
確認多個步驟後,Gemini CLI 應會建立並啟動應用程式。
注意:如果 Shell 工具顯示 Flask 應用程式正在提供服務,即使提示詞尚未傳回,您也能繼續後續步驟。
-
現在要在網路瀏覽器執行應用程式。請點選「網頁預覽」,然後選取「透過以下通訊埠預覽:8080」。

瀏覽器會開啟新分頁並執行應用程式。點選連結後,網誌文章就會在新分頁開啟。
這個應用程式可能相當簡單。您可以要求 Gemini CLI 改良。
-
如果 Shell 工具仍在執行,請按下 ESC 鍵取消。
-
返回 Gemini CLI 並提交下列提示詞,要求 Gemini CLI 修改應用程式:
我想進行一些變更,跟先前一樣,你的方案要先獲得我的核准。
1. index.html 中的連結現在會開啟新頁面 entry.html。
2. 新頁面 entry.html 會接收查詢參數,其中包含網址編碼的網誌文章專屬 ID,並以易讀格式顯示動態消息中的所有網誌資訊。
3. entry.html 頂端的連結應該會在新分頁開啟實際網誌文章。
4. 在 entry.html 新增返回按鈕,以便返回 index.html。
5. 加入 CSS 讓應用程式看起來更加美觀,並使用 Google 標誌的藍色和綠色。
Gemini 會思考要求內容,然後制定方案。查看 Gemini CLI 提供的方案。
回覆可能大致如下:
✦ 以下是依照要求變更的實施方案:
1. 更新 app.py:
* 新增 /entry 路由:這個路由會處理個別網誌文章的要求。
* 預期會收到 guid 查詢參數,做為網誌文章的專屬 ID。
* 重新剖析 feed.xml,找出與 guid 相符的文章。
* 如果找到該文章,就會轉譯新的範本 entry.html,並傳遞找到的文章資料。
* 如果找不到,系統會將使用者重新導向至首頁或顯示錯誤訊息。
* 確保 feed.xml 的剖析邏輯穩固:索引路由會繼續剖析 feed.xml,並為主要清單排序文章。
2. 修改 templates/index.html:
* 更新文章連結:將每篇網誌文章標題的 href 變更為指向新的 /entry 路由,並將文章的 guid 做為網址編碼的查詢參數傳遞。
* 連結至 CSS:在 <head> 部分加入 <link> 標記,用以納入新的 style.css 檔案。
3. 建立 templates/entry.html:
* 新增 HTML 檔案:在 templates 目錄建立 entry.html。
* 顯示文章詳細資料:這個頁面會顯示所選網誌文章的完整詳細資料,包括:
* 標題
* 發布日期
* 作者 (如有)
* 說明 (會顯示原始 HTML 內容,因為動態消息已包含 HTML)
* 連結至原始貼文:加入醒目的連結 (例如 「閱讀原始文章」) 並使用 entry.link 和 target="_blank",在新分頁開啟原始網誌文章。
* 返回按鈕:使用 url_for('index') 新增連結或按鈕,讓使用者回到 index.html。
* 連結至 CSS:在 <head> 部分加入 <link> 標記,用以納入新的 style.css 檔案。
4. 建立 static/style.css:
* 新增 CSS 檔案:建立 static 目錄,並在其中建立 style.css。
* 設定樣式:對 index.html 和 entry.html 套用 CSS 規則,讓網頁看起來更加美觀。我將使用 Google 品牌顏色:
* Google 藍:#4285F4
* Google 綠:#34A853
* 網誌文章的一般版面配置、字體排版、連結樣式和方塊模型會經過設定。
5. 重新啟動 Flask 應用程式:
* 必須重新啟動 Flask 伺服器,才能反映 app.py 中的變更,以及新的範本/靜態檔案。
您是否核准這項詳細方案?
-
Gemini CLI 要求您核准方案時,請輸入 yes,然後按下 Enter 或 Return 鍵。
-
每當 Gemini CLI 詢問是否要繼續時,請按下 Enter 鍵,允許使用該工具。
Gemini CLI 會再次處理更新,並重新啟動網路伺服器。
-
重新整理網頁應用程式頁面,或使用網頁預覽功能開啟新分頁。
更新後的應用程式現在包含每篇網誌文章的頁面,且應會依要求使用 Google 藍色和綠色。
注意:如果應用程式看起來沒有變動,可能是 Gemini CLI 未成功終止網路伺服器。使用「終止網路伺服器並重新啟動」等提示詞,協助 Gemini CLI 重新啟動。
以下是 Gemini CLI 生成的網誌頁面範例:

點選「Check my progress」,確認目標已達成。
使用 Gemini CLI 建構網頁應用程式
選用:成功檢查步驟 5 的進度後,您可以使用 Gemini CLI 對應用程式進行其他變更或修正。
恭喜!
您已成功安裝 Gemini CLI、完成設定並提供脈絡,取得符合需求的回覆,並使用 Gemini CLI 說明程式碼及建構應用程式。
使用手冊上次更新日期:2025 年 10 月 22 日
實驗室上次測試日期:2025 年 10 月 22 日
Copyright 2026 Google LLC 保留所有權利。Google 和 Google 標誌是 Google LLC 的商標,其他公司和產品名稱則有可能是其關聯公司的商標。