Gemini CLI 扩展程序使用入门

1. 简介

Gemini CLI 是一款开源的 AI 赋能的终端智能体,可将 Gemini 模型的功能直接带入您的命令行。虽然 Gemini 本身就已十分强大,但通过 Gemini CLI 扩展程序,可以充分发挥其潜力。

扩展程序是增强 Gemini CLI 功能的官方标准化方式。在推出扩展程序之前,自定义 CLI 通常需要手动修改 settings.json 等配置文件,这个过程可能“杂乱无章且容易出错”。

可以将扩展程序视为 Gemini CLI 自定义的“运输箱”。它是一个自成一体、可纳入版本控制且易于分发的软件包,其中捆绑了教 Gemini 一组新技能所需的所有组件。此“运输容器”可包括:

  • MCP 服务器配置:这些配置将 Gemini 连接到外部工具和 API,例如 Google Cloud API 或第三方服务。
  • 上下文文件 (GEMINI.md):这些是“使用指南”,可为模型提供有关如何有效使用新工具的具体说明和准则。
  • 自定义斜杠命令(.toml 文件):这些命令将复杂的多步骤提示封装为简单易用的命令,例如 /deploy。
  • 工具限制 (excludeTools):这些限制可以停用内置工具,以打造更安全或更专注的环境。

扩展程序的核心价值是将 Gemini CLI 从个人助理转变为可扩缩的企业级平台。团队可以将整个云堆栈打包到单个扩展程序中,从而让新开发者只需一条命令即可高效工作。

在此 Codelab 中,您将学习如何使用以下强大的生态系统。您不会编写扩展程序,但会安装并使用四种不同的扩展程序,以便为终端添加应用部署、安全分析、数据分析和基础设施即代码功能。

实践内容

  • 安装并配置 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 项目

此 Codelab 专为各种水平的用户和开发者(包括新手)而设计。您应熟悉 Gemini CLI,不过我们也会提供从头开始安装 Gemini CLI 的步骤。如果您想熟悉 Gemini CLI,不妨试试这个 Codelab:“亲自体验 Gemini CLI”。

2. 准备工作

创建项目

  1. Google Cloud Console 的项目选择器页面上,选择或创建一个 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 的首次互动

我们需要确保 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)即可安装完整而复杂的工具集,而无需进行多步手动设置。上述命令中的 <网址> 可以是您托管扩展程序的 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

这些命令非常简单(安装/卸载、列出、更新、启用/停用等),我们将在本 Codelab 中使用其中的一些命令。

检查当前状态

在安装任何内容之前,我们先检查一下“全新状态”。

  1. 运行 gemini extensions list 命令:
  2. 您应该会看到以下输出内容,确认尚未安装任何扩展程序。
No extensions installed.

5. Cloud Run 扩展程序(部署应用)

Gemini CLI 扩展程序库中提供的 Cloud Run 扩展程序是一个 MCP 服务器,可用于将应用部署到 Cloud Run。

扩展程序库中的 Cloud Run 扩展程序卡片如下所示:

648026b7668d0db.png

我们先点击上图所示的复制安装命令,安装 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.py 文件和 requirements.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 User (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 电子商务数据集)提出一个基本分析问题。此数据集包含虚构服装电子商务网站的客户、产品和订单数据。在 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. 进一步探索

至此,我们的 Codelab 已完成。在此 Codelab 中,我们介绍了 Gemini CLI 扩展程序是什么、使用它们的基本命令,并探索了 cloud-runbigquery-data-analytics 扩展程序。

访问 Gemini 扩展程序库 (https://geminicli.com/extensions/),探索目前可用的扩展程序(撰写本文时有 100 多个),这些扩展程序现已可供您使用。每个扩展程序卡片都包含信息、扩展程序的类型(MCP、上下文等)、GitHub 代码库链接以及用于在环境中安装扩展程序的命令。

1c26d4f029747914.png

8. 恭喜

恭喜!您已成功了解 Gemini CLI 扩展程序以及如何安装和使用各种 Gemini CLI 扩展程序。

参考文档