開始使用 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 專案已啟用計費功能。瞭解如何檢查專案是否已啟用計費功能
  3. 您將使用 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 自訂項目的「貨櫃」,將特定工作流程所需的一切項目打包成單一整齊的套件。

3e38c14fd2fa563d.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 指令是管理本機擴充功能的進入點。

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

bb066717359d2199.png

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

檢查目前狀態

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

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

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

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

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

ed9b19eac1fbde78.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 擴充功能清單指令,您應該會看到已安裝的 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 指令,您會看到下列訊息:

bb0a7b7a5c79b764.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 伺服器擴充功能中,選取合適的工具。例如,您應該會看到類似以下的訊息:

4142356c89a6e898.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 應用程式提供首頁:

e20308c96f980b8.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:86bd2b0af03b8f40.png

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

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

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

65bd3c1e7e9f89d1.png

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

e2dae10ef6bcfb67.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"3ef4579b11a363fc.png
  • 在幕後,Gemini 會生成適當的 SQL 查詢,叫用 execute_sql 工具,並傳回自然語言回應和資料:

adc85c0049493736.png

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

86c79ab7391acd2e.png

7. Google Workspace 擴充功能 (日常工作流程)

Google Workspace 擴充功能可做為 MCP 伺服器,與 Google Workspace 應用程式 (例如文件、Chat、日曆、雲端硬碟等) 整合。這項擴充功能的關鍵功能是本機執行模型。MCP 伺服器會在使用者電腦上執行,而非在雲端執行。並使用使用者的 OAuth 憑證直接與 Google API 通訊。

擴充功能庫中的 Google Workspace 擴充功能資訊卡如下所示:

aecc4672f27f10b7.png

如要安裝 Google Workspace 擴充功能,請按一下「複製」按鈕,然後將指令貼到 Cloud Shell 終端機 (指令應類似於下列內容):

gemini extensions install https://github.com/gemini-cli-extensions/workspace

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

現在執行 gemini extensions list 指令時,您應該會看到已安裝的 Google Workspace 擴充功能,如下所示 (或類似的輸出內容):

✓ google-workspace (v0.0.3)
 ID: 40be7ad1253320a38aba2f107f21349b41a458416fd4616550c832ff1d3b7dce
 name: a1f88ed96997755f9cd591bb26d8e1087e5969979caabe19fcde7b3544ea1a1e
 Path: /Users/romin/.gemini/extensions/google-workspace
 Source: https://github.com/gemini-cli-extensions/workspace (Type: github-release)
 Release tag: v0.0.3
 Enabled (User): true
 Enabled (Workspace): true
 Context files:
  /Users/romin/.gemini/extensions/google-workspace/WORKSPACE-Context.md
 MCP servers:
  google-workspace

現在啟動 Gemini CLI 時,您必須完成這個擴充功能設定程序中最重要的步驟,也就是驗證。與可能使用靜態 API 金鑰的簡單指令碼不同,Workspace 擴充功能會代表使用者做為授權代理程式,因此需要存取機密範圍 (雲端硬碟、郵件、日曆)。

擴充功能會啟動 OAuth 2.0 流程。選擇帳戶後,Google 會顯示擴充功能要求的權限 (範圍) 清單。這些項目十分廣泛,包括下列重要項目:

32a6b0d6c57a2ba9.png

完成這項 OAuth 2.0 流程後,一切就準備就緒。

啟動 Gemini,然後使用 /mcp list 指令,即可檢查擴充功能是否已成功安裝。這時應該會顯示擴充功能已安裝,且指令已公開為 MCP 工具。螢幕截圖如下所示:

5fb5ab11d7f9f4bc.png

Workspace 工具

這項擴充功能會將特定 Google Workspace API 端點對應至 LLM 可呼叫的「工具」。這些工具並非隨機挑選,而是經過精心挑選,涵蓋知識工作的主要模式:

  • 檔案管理 (雲端硬碟)
  • 撰寫文件 (Google 文件)
  • 時間管理 (日曆)
  • 通訊 (Gmail/Chat)

讓我們看看一些範例,您可以根據可用的不同工具嘗試這些範例。如要測試這些工具,您必須在已連結的 Gmail 帳戶中擁有幾封電子郵件、Google 日曆行程、Google 雲端硬碟中的檔案等。

雲端硬碟與文件:知識庫

如果 Google 雲端硬碟中有設計文件或其他有趣的文件,可以嘗試使用下列範例提示搜尋並摘要文件內容:

Search for <DOC_NAME> in Google Drive

找到文件後,Gemini CLI 會列出文件和文件 ID。然後要求生成文件摘要,方法如下:

Summarize <DOC_ID> for me

我們來做一個活動,這個活動通常會在需要某些資訊時進行。我們會搜尋網路,然後將相關資訊放入 Google 文件。

請參考以下提示:

Lookup information on The Richat Structure (Eye of Africa) and create a 1-pager document for me with relevant information about

這個提示會先讓 Gemini CLI 執行 Google 搜尋工具,從網路上擷取資訊,然後將這些資訊整合到我們要求的單頁文件中,並在 Google 雲端硬碟中建立新的 Google 文件。

請前往帳戶的 Google 雲端硬碟,查看系統建立的文件。以下文件來自範例執行作業。

8b82e5f213e54e27.png

日曆

使用擴充功能提供的日曆工具,讓擴充功能成為管理時間的行政助理。

你可以選擇使用 /calendar:get-schedule,也可以直接使用自然語言查詢來取得資訊。

我們先從最基本的內容開始,瞭解今天的行程。輸入下列提示,並注意系統是否存取了今天的日曆,以及是否顯示當天的日曆活動設定 (請確認您已在當天的日曆中設定幾個活動)。

What does my schedule look like for today?

接著可以嘗試下列做法:

要求當天行程中的特定時段,如果對系統提供的時段感到滿意,甚至可以要求系統建立當天的活動。立即試用!

通訊:Gmail 和 Chat

您可以使用 /gmail:search 工具搜尋電子郵件,並從電子郵件討論串中擷取內容。

舉例來說,如果您每週都會收到特定電子郵件,或是收到來自某個團隊的電子郵件,請嘗試透過類似這樣的提示搜尋這些電子郵件:

/gmail:search "Project Phoenix updates"

然後,你可以透過類似這樣的提示,要求 AI 摘要特定郵件,並傳送至 Google Chat 聊天室:

Send a chat message to <SPACE_NAME> and highlight the key points from the email.

上方僅列舉部分示例,請參考下列較複雜的工作流程:

Find the 'Project Phoenix Design Doc' in Drive,
read the section on API authentication,
and help me scaffold the middleware based on those specs.
Send a message to the ‘Core Eng' chat space letting them know the deployment is starting now.

如要充分發揮這類擴充功能的效用,建議您使用自己的檔案、日曆、Gmail 等內容試用,並找出想要自動執行的流程,或以更有效率的方式避免切換情境,節省時間。

8. 進一步探索

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

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

777e0293d5bd51e9.png

9. 恭喜

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

參考文件