開始使用 Gemini CLI 擴充功能

1. 簡介

Gemini CLI 是終端機專用的開放原始碼 AI 輔助代理,可直接在指令列中使用 Gemini 模型。Gemini CLI 本身功能強大,但透過 Gemini CLI 擴充功能,更能發揮其真正潛力。

擴充功能是擴增 Gemini CLI 功能的官方標準方式。在擴充功能推出前,自訂 CLI 通常需要手動編輯 settings.json 等設定檔,這個過程「雜亂且容易出錯」。

您可以將擴充功能視為 Gemini CLI 自訂項目的「貨櫃」。這項工具是獨立、可版本化且容易發布的套件,內含教導 Gemini 一組新技能所需的所有元件。這個「貨櫃」可以包括:

  • MCP 伺服器設定:將 Gemini 連線至外部工具和 API,例如 Google Cloud API 或第三方服務。
  • 脈絡檔案 (GEMINI.md):這些是「應對手冊」,提供具體指示和指南,教導模型如何有效使用新工具。
  • 自訂斜線指令 (.toml 檔案):將複雜的多步驟提示封裝成簡單易用的指令,例如 /deploy。
  • 工具限制 (excludeTools):停用內建工具,打造更安全或更專注的環境。

擴充功能的價值在於將 Gemini CLI 從個人助理轉變為可擴充的企業級平台。團隊可以將整個雲端堆疊封裝成單一擴充功能,讓新開發人員透過一個指令提高生產力。

在本程式碼研究室中,您將瞭解如何使用這個強大的生態系統。您不會編寫擴充功能,但會安裝及使用四種不同的擴充功能,在終端機中加入應用程式部署、安全性分析、資料分析和基礎架構即程式碼功能。

執行步驟

  • 安裝及設定 Gemini CLI 和 Google Cloud 必要元件。
  • 瀏覽官方 Gemini CLI 擴充功能庫,尋找擴充功能。
  • 使用 gemini extensions 指令列介面安裝、列出及管理擴充功能。
  • 探索幾項 Gemini CLI 擴充功能

課程內容

  • 瞭解 Gemini CLI 擴充功能,以及為何這是自訂 CLI 的標準。
  • 如何從擴充功能庫或 GitHub 網址尋找及安裝擴充功能。
  • 金鑰管理指令的功能:gemini extensions installgemini extensions listgemini extensions update
  • 安裝及使用幾個 Gemini CLI 擴充功能

軟硬體需求

  • Chrome 網路瀏覽器
  • Gmail 帳戶
  • 已啟用計費功能的 Cloud 專案

本程式碼研究室適合所有程度的使用者和開發人員 (包括初學者)。您應對 Gemini CLI 有基本認識,但我們也會提供從頭安裝 Gemini CLI 的步驟。如要熟悉 Gemini CLI,請試用「動手練習 Gemini CLI」程式碼實驗室。

2. 事前準備

建立專案

  1. Google Cloud 控制台的專案選取器頁面中,選取或建立 Google Cloud 專案
  2. 確認 Cloud 專案已啟用計費功能。瞭解如何檢查專案是否已啟用計費功能
  1. 您將使用 Cloud Shell,這是 Google Cloud 中執行的指令列環境,已預先載入 bq。按一下 Google Cloud 控制台上方的「啟用 Cloud Shell」。

「啟用 Cloud Shell」按鈕圖片

  1. 連線至 Cloud Shell 後,請使用下列指令檢查您是否已通過驗證,且專案已設為您的專案 ID:
gcloud auth list
  1. 在 Cloud Shell 中執行下列指令,確認 gcloud 指令知道您的專案。
gcloud config list project
  1. 如果未設定專案,請使用下列指令來設定:
gcloud config set project <YOUR_PROJECT_ID>
  1. 透過下列指令啟用必要的 API。這項作業可能需要幾分鐘才能完成,請耐心等候。
gcloud services enable cloudresourcemanager.googleapis.com \
                       servicenetworking.googleapis.com \
                       run.googleapis.com \
                       cloudbuild.googleapis.com \

成功執行指令後,您應該會看到類似下方的訊息:

Operation "operations/..." finished successfully.

如果遺漏任何 API,您隨時可以在導入過程中啟用。

如需 gcloud 指令和用法的相關資訊,請參閱文件。設定及執行 Gemini CLI 前,請先建立資料夾,做為您在其中建立的所有專案的主資料夾。這是 Gemini CLI 的起點,但它也會參考系統上的其他資料夾,您稍後可以視需要使用這些資料夾。

請繼續建立範例資料夾 (gemini-cli-projects),並透過下列指令前往該資料夾。如要使用其他資料夾名稱,請自行變更。

mkdir gemini-cli-projects

前往該資料夾:

cd gemini-cli-projects

您可以在新的 Cloud Shell 終端機中,透過 gemini 指令直接啟動 Gemini CLI,或在另一個 Cloud Shell 終端機中啟動。

首次與 Gemini CLI 互動

我們需要確保 Gemini CLI 環境一切正常,才能發出第一個提示,如下所示:

Give me a famous quote on Artificial Intelligence and who said that?

您會發現查詢結果是叫用 GoogleSearch 工具 (Gemini CLI 內建工具)。換句話說,您已使用 Gemini CLI 強大的內建工具 (即 GoogleSearch),根據從網路上取得的資訊生成回覆。您應該會收到查詢的回覆。

接下來,我們來瞭解擴充功能。

3. 什麼是擴充功能?

擴充功能是獨立、可版本化且易於發布的套件。這就像是 Gemini CLI 自訂項目的「貨櫃」,將特定工作流程所需的一切資源打包成單一整齊的套件。

816cd3c3d4057c11.png

擴充功能可組合下列項目:

  • 自訂斜線指令 (您的 .toml 檔案)。
  • MCP 伺服器設定 (先前位於 settings.json 中)。
  • 內容檔案 (GEMINI.md):為模型提供具體指示和規範。
  • 工具限制 (excludeTools),打造更安全、更專注的環境。

為什麼要使用擴充功能?核心福利

採用擴充功能進行自訂可帶來多項強大優勢:

  • 單一指令安裝:這是關鍵。使用者不必手動執行多個步驟,只要使用 gemini extensions install <URL>gemini extensions install --path=some/local/path 單一指令,即可安裝完整複雜的工具組。上述指令中的 <URL> 可以是您代管擴充功能的 Github 網址。
  • 簡便的配發流程:分享工作內容就像分享單一 Git 存放區網址一樣簡單。不必再傳送個別檔案和設定程式碼片段。
  • 版本管理和依附元件管理:擴充功能通常會託管在 Git 存放區中,因此您可免費使用版本控制功能。有 gemini extensions update command 可將擴充功能更新至最新版本。
  • 可探索性和生態系統:擴充功能是豐富開放生態系統的基礎,就像 VS Code 或 Chrome 的市集一樣。擴充功能機制可做為未來市集的基礎,讓使用者以真正的社群風格,審查、下載及使用這些擴充功能。

擴充功能架構的推出,清楚表明 Gemini CLI 正從強大的獨立工具,演變為真正的可擴充平台。

4. 瞭解擴充功能的基本概念

本節將說明擴充功能生態系統中面向使用者的部分:尋找擴充功能管理擴充功能

擴充功能庫是集中式市集,可供探索所有官方 Google 擴充功能和第三方擴充功能:

  1. 在瀏覽器中開啟下列網址:https://geminicli.com/extensions/browse/
  2. 這個藝廊是生態系統的探索引擎,您可以查看 GitHub、Redis 和 DynaTrace 等公司的擴充功能,瞭解可用的工具範圍。
  3. 向下捲動,找出 Cloud Run 的擴充功能資訊卡。
  4. 請注意,資訊卡會提供說明、作者 (Google) 和一鍵 Copy install 指令按鈕。這是取得擴充功能安裝指令最簡單的方法。

Gemini CLI 擴充功能 - 管理指令

gemini extensions 指令是管理本機擴充功能的進入點。

在終端機中執行該指令,即可查看可用指令清單。

5a774a9fab1be3ed.png

這些指令很簡單 (安裝/解除安裝、列出、更新、啟用/停用等),我們會在本次程式碼研究室中使用部分指令。

檢查目前狀態

安裝任何項目之前,請先檢查「乾淨的狀態」。

  1. 執行 gemini extensions list 指令:
  2. 您應該會看到下列輸出內容,確認目前尚未安裝任何擴充功能。
No extensions installed.

5. Cloud Run 擴充功能 (部署應用程式)

Gemini CLI 擴充功能庫提供的 Cloud Run 擴充功能是 MCP 伺服器,可讓我們將應用程式部署至 Cloud Run。

擴充功能庫中的 Cloud Run 擴充功能資訊卡如下所示:

648026b7668d0db.png

首先,請按一下如上所示的「Copy install command」(複製安裝指令),安裝 Cloud Run 擴充功能。然後將該指令貼到 Cloud Shell 終端機 (應與下列指令類似):

gemini extensions install https://github.com/GoogleCloudPlatform/cloud-run-mcp

執行上述指令後,系統會要求您確認。請核准這項要求。Cloud Run 擴充功能應會順利安裝。

Installing extension "cloud-run".
**Extensions may introduce unexpected behavior. Ensure you have investigated the extension source and trust the author.**
This extension will run the following MCP servers:
  * cloud-run (local): npx -y @google-cloud/cloud-run-mcp
This extension will append info to your gemini.md context using gemini-extension/GEMINI.md
Do you want to continue? [Y/n]: Y
Extension "cloud-run" installed successfully and enabled.

現在執行 gemini extensions list 指令時,您應該會看到已安裝的 Cloud Run 擴充功能,如下所示:

✓ cloud-run (1.0.0)
 Path: <HOME_FOLDER>/.gemini/extensions/cloud-run
 Source: https://github.com/GoogleCloudPlatform/cloud-run-mcp (Type: github-release)
 Release tag: v1.5.0
 Enabled (User): true
 Enabled (Workspace): true
 Context files:
  <HOME_FOLDER>/.gemini/extensions/cloud-run/gemini-extension/GEMINI.md
 MCP servers:
  cloud-run

如果您現在啟動 Gemini CLI 並執行 /mcp 指令,會看到以下內容:

7ca93915c06e4ce2.png

現在回到 Cloud Shell,嘗試部署應用程式。為此,我們首先需要一個簡單的應用程式,以便部署到 Cloud Run。請按照下列步驟操作:

確認您位於先前建立的資料夾,也就是 gemini-cli-projects。在這個資料夾中建立另一個名為 gemini-cloud-run 的資料夾,然後前往該資料夾。

mkdir gemini-cloud-run

cd gemini-cloud-run

現在在這個資料夾中建立兩個檔案 (app.pyrequirements.txt 檔案),內容如下:

app.py

from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
  return 'Hello from Gemini and Cloud Run!'
if __name__ == "__main__":
  app.run(debug=True, host='0.0.0.0', port=8080)

requirements.txt

Flask
gunicorn

現在從 gemini-cloud-run 資料夾啟動 Gemini CLI,終端機準備就緒後,請輸入下列提示:

/deploy --project="PROJECT_ID" --location="PROJECT_LOCATION" --name="SERVICE_NAME"

您需要指定 PROJECT_ID (Google Cloud 專案 ID)、PROJECT_LOCATIONSERVICE_NAME。如未提供這項資訊,Cloud Run 指令會叫用適當的工具,協助您選擇。

這個程序會從我們安裝的 Cloud Run MCP 伺服器擴充功能中,選取合適的工具。例如,您應該會看到類似以下的訊息:

9dcf78679bffd710.png

請允許使用這項工具。

大功告成!Gemini CLI 現在已取得所需的所有資訊,以及執行工具的權限。現在會執行整個部署管道:建構 Docker 映像檔、將映像檔推送至 Artifact Registry,以及設定並部署新的 Cloud Run 服務。

不久後 (實際上是 2 到 3 分鐘),您會看到成功訊息和服務網址。以下是執行範例:

The Cloud Run service SERVICE_NAME has been deployed from the current folder in project PROJECT_ID.
  You can view the service in the Cloud Console: https://console.cloud.google.com/run/detail/PROJECT_LOCATION/SERVICE_NAME?project=PROJECT_ID
  The service is accessible at: https://SERVICE_NAME-SOME-ID.a.run.app

請按一下該連結。您應該會看到 Flask 應用程式提供首頁:

92414fd2270ccc46.png

這項操作展現了 Gemini CLI 擴充功能 (本例為 Cloud Run) 的強大功能,它完全封裝了 gcloud CLI 指令的複雜性,並為您處理所有細節。

歡迎探索 Cloud Run MCP 伺服器中的其他工具。

6. BigQuery 擴充功能 (分析大型資料集)

如要跟著操作,請準備下列項目:

  • 已啟用 BigQuery API 的 Google Cloud 專案。
  • IAM 權限:
  • BigQuery 使用者 (roles/bigquery.user)
  1. 執行這項指令來設定 BIGQUERY_PROJECT 環境變數。這個專案會執行 BigQuery 工作,不一定是資料所在的專案 (但兩者確實可能相同)
export BIGQUERY_PROJECT=<YOUR_GCP_PROJECT_ID>
  1. 透過下列指令安裝 BigQuery Data Analytics 擴充功能。請授予安裝權限。安裝完成後,您會在設定中看到 2 個擴充功能:cloud-runbigquery-data-analytics
gemini extensions install https://github.com/gemini-cli-extensions/bigquery-data-analytics
  1. 請透過下列指令再次啟動 Gemini CLI:
gemini

終端機應會啟動 Gemini CLI:7a140fbd0d7f7d3c.png

請在 Gemini CLI 終端機中輸入下列指令。

  1. 輸入下列斜線指令,確認 BigQuery 擴充功能已安裝完成並可供使用:
/extensions list

您應該也會看到 bigquery-data-analytics 擴充功能。

9461d5119d9dc693.png

  1. 執行下列指令,查看可用的工具
/mcp list

fd23c246e2a6e4db.png

  1. 我們來對 BigQuery 公開資料集 (look ecommerce) 提出基本的數據分析問題。這個資料集包含虛構服飾電子商務網站的顧客、產品和訂單資料。在 Gemini CLI 中輸入以下提示詞:
Look at BigQuery's the look ecommerce public dataset. Identify the top 5 products that had the most orders.
  • Gemini CLI 會詢問您是否允許執行 BigQuery 工具。如要繼續,請選取第三個選項:Yes, always allow all tools from server "bigquery_data_analytics"3d6e7372e5147216.png
  • 在幕後,Gemini 會生成適當的 SQL 查詢,叫用 execute_sql 工具,並連同資料傳回自然語言回應:

ac5c0cd94bc3bb78.png

  1. 現在,我們要請 Gemini 根據歷來資料預測產品退貨率。對於這項指令,Gemini CLI 不應嘗試生成一些詳細的 SQL 來建立這項預測,而應從 MCP 伺服器叫用 forecast 工具,該工具會在幕後使用 BigQuery 的 AI.Forecast:
Forecast what the return rate will be next month.
  • 畫面會顯示類似以下的回應:

8a763a03852984ff.png

7. 進一步探索

本程式碼研究室到此結束。我們介紹了 Gemini CLI 擴充功能,以及使用這些擴充功能的基本指令,並探討了 cloud-runbigquery-data-analytics 擴充功能。

前往 Gemini 擴充功能庫 (https://geminicli.com/extensions/) 探索目前可用的擴充功能 (撰寫本文時超過 100 個),並立即開始使用。每個擴充功能資訊卡都包含資訊、擴充功能類型 (MCP、Context 等)、GitHub 存放區連結,以及在環境中安裝擴充功能的指令。

1c26d4f029747914.png

8. 恭喜

恭喜!您已成功瞭解 Gemini CLI 擴充功能,以及如何安裝及使用各種 Gemini CLI 擴充功能。

參考文件