DLAI-GeminiCLI-笔记-全-
DLAI GeminiCLI 笔记(全)
001:课程介绍 🚀
在本节课中,我们将要学习由吴恩达与谷歌合作推出的《Gemini CLI:使用开源智能体进行代码开发与创作》课程。我们将了解如何利用AI智能体编码助手来显著提升工作效率,并探索其在软件开发乃至非编码任务中的广泛应用。
课程概述
欢迎来到Gemini CLI课程。谷歌的开发者们正在使用智能体生成式编码助手来极大地加速工作流程。本课程将介绍谷歌内部关于智能体生成式编码的最佳实践。
上一节我们介绍了课程背景,本节中我们来看看课程的具体内容。你将学习如何将其应用于常见场景,例如构建Web前端、使用GitHub Actions自动化代码审查,甚至是创建社交媒体多媒体内容等非编码任务。
我个人非常喜欢使用Gemini CLI,并希望你也从中获得巨大价值。我们很高兴本课程的讲师是谷歌的开发者倡导者Jack Wellerwood。
感谢吴恩达。Gemini CLI是众多智能体编码助手之一,你可能已经使用或听说过。
课程学习路径
本课程将带你从安装Gemini CLI开始,一直到在自动化工作流中组织和协调多个工具与MCP服务器。
以下是课程的核心学习模块:
- 协调开发:学习如何在本地文件与云服务之间进行协调,以开发功能和分析数据。
- 优化输出:通过设计Gemini的上下文和记忆,以获得最佳的输出结果。
- 自动化任务:在后续课程中,你将使用复杂的自动化来处理诸如代码审查之类的常规任务。
在整个课程中,你将探索Gemini CLI在软件开发及其他领域的应用。我们将以策划一场AI会议(如下一届AI开发大会)为例。
以下是基于该示例你将完成的具体任务列表:
- 使用Gemini CLI原生的Google Workspace扩展,与文档和日历协作,为会议网站构建关键功能。
- 使用Canva MCP服务器创建会议营销材料。
- 构建一个数据仪表板,将与会者数据与现有公司数据库相结合。
- 使用Gemini CLI处理多媒体,将会议播客转换为社交媒体剪辑和帖子。
- 作为额外收获,你将看到Gemini CLI如何帮助组织和搜索混乱的课程材料,使学习更轻松,这有望在你下一门深度学习AI课程中提供帮助。
智能体编码工具的价值
许多人正在使用像Gemini Code或OpenAI Codex这样的生成式编码系统。这些智能体生成式工具之所以有价值,是因为它们能够访问你的本地机器。
因此,你可以授予它们在机器上运行命令的权限,例如 pip install、playwright、npx 或 git,来为你完成工作。

事实上,仅需一小套工具,这些智能体编码助手就能快速设置所需的开发环境,并构建完整的应用程序或功能集。
特别是在原型设计方面,我现在几乎不再手动编写代码,而是让AI编码助手为我编写。这极大地加快了我以及许多其他开发者的速度。原型设计从未如此快速。
Gemini CLI的开源优势
Gemini CLI令人兴奋的一点在于它是完全开源的。你可以确切地看到它是如何工作的。
每一行代码,包括实际的指令和系统提示,都在我们的GitHub上公开。
我们已经合并了来自社区成员的数千个拉取请求,其中包括会话管理等热门功能,并且我们欢迎你的贡献。开源软件对于创新至关重要,尤其是在AI时代。
如果你感兴趣,可以去GitHub仓库查看提示词。完成本课程后,你也可以考虑为Gemini CLI或其他开源项目做出贡献。这些贡献为每个人创造了价值。
致谢与启动
说到贡献,许多人共同努力创建了这门课程。我要感谢来自谷歌的Denise Kwan,以及来自DeepLearning.AI的Isabel Zro和Ismail Ggari。
在最初的课程中,你将看到如何启动和运行Gemini CLI,并体验社区中最常见的任务、内置工具和使用模式。我相信使用Gemini CLI会给你带来很多乐趣。
让我们进入下一个视频,开始学习吧。

本节课中我们一起学习了:Gemini CLI课程的总体介绍、学习路径、智能体编码工具的核心价值,以及其作为开源项目的优势。我们了解到本课程将通过一个策划AI会议的完整项目,带领我们从环境搭建深入到复杂的自动化工作流。
002:什么是Gemini CLI 🚀

在本节课中,我们将学习什么是Gemini CLI,了解其工作原理、核心优势以及它能完成的各种任务。我们还将探讨为什么命令行界面比网页界面更强大。
概述
Gemini CLI是一个设计用于处理本地文件和多种工具任务的智能体。它运行在终端中,是一个轻量级、开源的对话式AI助手。本节课将深入其内部机制,展示其多功能性,并指导你如何安装和开始使用。



Gemini CLI能做什么?💡


Gemini CLI的应用范围非常广泛。以下是它的一些主要用例:
- 软件开发:可以实现功能、审查代码,甚至可以作为GitHub Action在CI/CD流水线中运行。
- 内容创作:例如,可以将播客内容分解并生成为社交媒体短片,过程中会用到像Nano Banana这样的技术。
- 数据分析:可以处理大量数据文件(如CSV文件),进行数据清洗并生成可视化仪表板。
- 学习伙伴:可以帮助复习课程笔记、生成摘要并创建互动测试,以巩固学习成果。
什么是Gemini CLI?🤖
上一节我们了解了Gemini CLI的多种用途,现在我们来具体看看它是什么。
Gemini CLI是一个驻留在终端中的智能体。这意味着你可以轻松安装它。它非常轻量,你可以直接输入提示词提问,智能体会代表你去进行研究。它会找到需要访问的文件、读取内容,然后给你一个清晰的答复。
它本质上是一个对话式AI智能体,旨在成为一个交互式助手。你应该与它进行来回对话,以帮助你完成所需的任务。
核心特性与优势 ⚙️
了解了Gemini CLI的基本定义后,我们来看看它的一些核心特性和优势。
- 开源:社区推动了许多功能开发。你可以检查每一行代码,进行自定义、修改代码、添加自己的功能或创建自己的版本。
- 由Gemini模型驱动:免费层级提供非常慷慨的请求额度,你可以完全免费地将此工具用于日常工作。
- 直接访问文件系统:它可以读取你机器上的所有文件(它需要的那些),这使其具有上下文感知能力,感觉像一个任务伙伴。
- 工具的“瑞士军刀”:它可以访问你本地计算机上安装的任何工具,甚至可以为你安装新工具。这有助于减少上下文切换。
- 自动化与脚本编写:无需学习具体方法,你可以让Gemini CLI构建并运行脚本。
- 强大的扩展生态系统:通过添加扩展、MP服务器或自定义命令,可以完全定制Gemini CLI以完成任何任务。
Gemini CLI如何工作?🔧
我们已经看到了Gemini CLI的优势,现在让我们深入了解一下它的工作原理。
其工作流程可以概括为以下步骤:
- 发送提示:你将提示词发送给大型语言模型(Gemini模型)。
- 推理:模型进行推理,理解它需要哪些工具,是否需要处理任何信息,是否需要向用户请求后续信息。
- 调用工具:然后,它会调用相应的工具以生成正确的响应。
- 迭代循环:这个过程可以重复多次,它可以迭代调用不同的工具,获取不同的信息并进行推理,直到对响应满意后才将其发送给你。
这个过程非常强大,因为这意味着Gemini CLI可以长时间运行,进行推理和循环调用不同的工具,从而构建完整的应用程序或调试复杂问题。
内置工具一览 🛠️
为了让Gemini CLI如此强大,它内置了一系列工具。以下是其主要工具类别:
- 文件系统工具:用于列出目录、读取文件、写入文件、进行搜索和编辑。
- 网络搜索工具:当需要访问最新发布的信息、新闻或未经训练的新数据时非常有用。
- Shell工具:可以通过Shell命令运行你机器上的任何应用程序。例如,它可以运行
git命令来提交拉取请求。 - 记忆工具:能够保存记忆,这样在频繁使用时,它可以记住你偏好如何定制工作流程或某些你不想每次都重复的细节。

总结

本节课我们一起学习了Gemini CLI。我们了解到它是一个运行在终端中的开源、对话式AI智能体,由Gemini模型驱动。它能够直接访问文件系统和本地工具,适用于软件开发、内容创作、数据分析和学习辅助等多种场景。其核心优势在于减少了上下文切换,并通过迭代调用工具来完成复杂任务。现在,我们已经了解了它的能力和原理,接下来就可以准备安装并开始使用它了。
003:3. 初识 Gemini CLI 🚀
在本节课中,我们将学习如何安装并启动 Gemini CLI,探索其基本命令,并尝试完成第一个工作流程。我们将扮演一个科技会议组织者的角色,利用 Gemini CLI 来协助完成网站建设、研究规划、社交媒体运营及会后数据分析等一系列任务。
安装与启动

上一节我们介绍了课程背景,本节中我们来看看如何安装并运行 Gemini CLI。
首先,你需要安装 Node.js,因为 Gemini CLI 是一个 NPM 包。安装命令如下:
npm install -g @google/gemini
此命令会将 Gemini CLI 作为全局包安装,以便你可以在机器上的所有项目中使用它。

安装完成后,你可以在终端中通过输入 gemini 命令来启动它。启动时,请确保你位于项目目录下(例如我们的会议项目文件夹)。启动后,系统会提示你进行身份验证。

以下是三种身份验证方法:
- 使用 Google 账户登录:这是本课程推荐的方式,可访问免费层级。
- 使用 API 密钥:适用于后续需要更多请求的情况。
- 使用 Vertex AI:同样适用于需要更多请求的场景。
选择“使用 Google 登录”并回车,系统将在你的浏览器中打开 OAuth 流程。完成验证后,返回终端即可看到验证成功的提示。
界面与基本命令
成功启动后,你将看到 Gemini CLI 的界面,包含一些提示信息和 Gemini 横幅。默认情况下,系统使用“auto”模式智能选择最适合当前请求的 Gemini 模型。
要了解如何开始使用,可以输入 s help 命令。
以下是 s help 命令会列出的一些核心内置命令和快捷键:
s settings:打开设置菜单。s clear:清除当前会话历史。s stats:查看当前会话的统计信息。s docs:在 CLI 内直接打开官方文档。s exit或s quit:退出 Gemini CLI。
另一个有用的命令是 s settings。在设置中,你可以启用 Vim 模式、隐藏底部状态栏以使界面更简洁,或通过 s theme 自定义配色方案。
执行第一个任务
现在,让我们开始执行第一个任务。去年(2025年)的会议组织者留下了一份建议文件 suggestions.md。
我们可以使用 @ 符号来引用该文件,为 Gemini CLI 提供上下文。输入提示词:“阅读 @suggestions.md 文件并总结建议”。Gemini CLI 会读取文件内容并给出总结,例如关于网站、日程安排和社交媒体标签的建议。
为了确保建议不过时,我们可以让 Gemini CLI 联网搜索最新的行业最佳实践。输入提示词:“根据在线最佳实践,验证这些建议是否仍然适用”。Gemini CLI 将调用网络搜索工具获取最新信息。
搜索完成后,我们可以让 Gemini CLI 将新发现整合到原始文档中。输入提示词:“将新的发现添加到 suggestions.md 文件中”。此时,Gemini CLI 会调用文件编辑工具并给出修改建议。
在处理工具调用建议时,你有多个选择:
- 按
C S展开查看完整的更改差异。 - 选择 允许一次、始终允许 此工具,或在外部编辑器(如 VS Code)中打开。
- 也可以选择 拒绝 建议。
我们选择允许并写入文件。现在,suggestions.md 文件就包含了历史建议和最新的网络最佳实践。
会话管理与总结
完成一个任务后,最好使用 s clear 命令清除当前会话历史。这可以移除所有工具调用和对话记录,让你能清晰地开始下一个任务。
要查看当前会话的统计数据,可以运行 s stats 命令。它会显示模型所做的代码更改、工具调用、请求数量以及所使用的模型。由于我们使用“auto”模式,你会看到请求被智能地分配给了不同的模型。

如果需要了解更多功能或遇到问题,可以随时在 CLI 内运行 s docs 命令来打开官方文档。
要退出 Gemini CLI,只需输入 s exit 或 s quit,退出前你会看到本次会话的简要历史快照。



本节课中我们一起学习了 Gemini CLI 的安装、身份验证、基本命令和界面操作,并完成了第一个结合文件上下文和网络搜索的工作流程。我们还了解了如何管理会话、查看统计信息以及获取帮助。下一节课,我们将更深入地探讨 Gemini CLI 中的上下文与记忆管理功能。
004:上下文是关键 🧠
在本节课中,我们将要学习AI智能体工作的核心——上下文。上下文决定了智能体知道什么以及如何行动,就像为你的私人助理提供工作手册一样重要。
什么是上下文?
上一节我们介绍了Gemini CLI的基本概念,本节中我们来看看其运作的基石:上下文。
上下文是AI智能体用来理解用户请求的信息集合。你可以将其想象为雇佣Gemini成为你的个人助理。你需要告诉它你的喜好和做事方式。
例如,如果你喜欢在咖啡里加12块糖,一个新助理不会知道这一点。Gemini CLI也是如此,我们需要为其提供必要的上下文,它才能高效地回答查询和响应。
上下文的类型
上下文可以以多种形式存在。以下是主要的几种类型:
- 通用指令:适用于所有项目的总体指导原则。
- 项目特定指令:针对特定项目的说明,例如“本项目使用Python”或“本项目使用UV而非Pip”。
- 角色设定:你可以为Gemini CLI设定一个角色,例如“你是一名QA测试员,请确保测试所有更改并在每次测试后结束”。

如何管理上下文文件?
那么,我们将所有这些上下文信息放在哪里呢?Gemini CLI从名为 gemini.md 的文件中读取上下文。
以下是管理这些文件的方法:
- 全局上下文文件:位于用户目录级别,其中包含的指令适用于你希望Gemini记住的所有项目。
- 项目上下文文件:你可以在特定项目文件夹中放置
gemini.md文件。
Gemini加载这些文件的逻辑是:在当前文件夹中查找,并向上遍历祖先目录,直到找到一个 .git 文件夹为止,此路径范围内的所有 gemini.md 文件都会被纳入上下文范围。
- 子目录上下文文件:你还可以在子目录(如
testing或builds文件夹)中拥有gemini.md文件。这非常有用,可以为不同的工作区域定制Gemini的行为。
实践:初始化项目上下文
我们的同事一直在为技术栈会议开发网站,现在将全部代码移交给了我们。我们想从头开始,了解这个项目的结构和组成。
Gemini CLI提供了几个命令来帮助你管理记忆和上下文。/memory show 命令可以显示当前的记忆内容。目前我们的记忆是空的。
/memory add 命令允许我们向全局的 gemini.md 上下文添加记忆。这会保存在所有项目中,适用于你希望Gemini在所有会话中记住的通用信息,例如你的名字、你希望它如何与你交谈,以及其他关键信息。
现在,让我们更进一步。一个好的习惯是为每个项目创建一个新的 gemini.md 上下文文件。向智能体提供关于你所使用技术的通用知识、项目结构概述以及特定文件的位置,可以极大地帮助它更高效地工作。用上下文引导智能体,能帮助它走上正确的道路,而无需在每次开始新会话时都重新探索你的代码或文件。
幸运的是,有一个内置命令可以帮助你快速为任何现有项目创建一个良好的初始上下文文件:/init。它会读取不同的关键文件,例如 package.json,查看依赖项,并浏览一些关键文件来理解项目。
你会看到Gemini CLI现在想要创建 gemini.md 文件,详细描述项目结构和我们使用的技术。我们的网站使用了React和Vite。它会梳理技术栈和文件夹组织,并将所有这些信息存储到上下文文件中。

创建好 gemini.md 文件后,我们可以仔细查看其内容,以了解网站的构建方式。文件中包含了关键细节,如项目的入门先决条件,以及关键命令,例如如何运行 npm install、如何启动开发服务器,甚至如何为生产环境构建项目。
现在,如果我们开始一个新会话并运行 /memory show,实际上可以看到我们的 gemini.md 文件内容已被加载到记忆中。
总结


本节课中我们一起学习了上下文的概念及其对AI智能体的重要性。我们探讨了上下文的类型,学习了如何通过全局和项目级的 gemini.md 文件来管理上下文,并实践了使用 /init 命令为现有项目快速生成初始上下文。通过为Gemini CLI提供清晰的上下文,我们可以引导它更准确、高效地理解我们的需求并执行任务。在下一课中,我们将重点学习如何通过模型上下文协议(MCP)来加载外部上下文。
005:5. 使用模型上下文协议(MCP)的工作流 🛠️
在本节课中,我们将学习如何使用模型上下文协议(MCP)将 Gemini CLI 连接到外部工具和服务。我们将通过一个具体示例,演示如何利用 Canva 的品牌素材来生成一个网页。
概述
模型上下文协议(MCP)是一个开放标准,它使得 AI 智能体能够无缝且安全地连接外部工具、API 和数据源。MCP 为大型语言模型(LLM)与上下文中的数据交互提供了一套标准。本节课,我们将学习如何配置 MCP 服务器,并将其与 Gemini CLI 结合使用,以扩展其功能。
什么是模型上下文协议(MCP)?
上一节我们介绍了 MCP 的基本概念。本节中,我们来看看它的具体工作原理。
MCP 是一个开放标准,它使得 AI 智能体能够无缝且安全地连接外部工具、API 和数据源。它为大型语言模型(LLM)如何与上下文中的数据交互提供了标准。
以 MongoDB 为例。假设我们有信息存储在 MongoDB 数据库中,并且 MongoDB 提供了一个 MCP 服务器。我们可以在 Gemini CLI 中使用该 MCP 服务器来访问所有数据、读取表格、并通过此标准协议对我们的实际数据库进行读写操作。
MCP 的价值在于它不局限于 Gemini CLI。如果我们决定迁移应用程序或使用不同的智能体,我们仍然可以使用完全相同的工具,因为我们使用了 MCP。这非常宝贵,因为它允许你在 Gemini CLI 内置功能的基础上进行构建,扩展你可访问的工具和命令。
你可以使用 MCP 连接到 Google Cloud、GitHub、Sneak 等。你甚至可以构建自己的 MCP 服务器来运行你的代码。你在日常任务中使用的任何流行云服务,很可能都有可用的 MCP 服务器。

准备工作:查看网站结构
在将第一个 MCP 服务器连接到 Gemini CLI 之前,我们先来看看我们的网站及其结构。我们可以使用 Gemini CLI 的 shell 模式。
这个模式会直接传递并实际运行命令,而无需 Gemini CLI 进行“思考”。现在,你运行的任何命令都像是在你的普通终端中直接运行一样。
以下是启动开发服务器的步骤:



- 首先,确保网站依赖已安装。
- 运行实际的开发服务器。Gemini CLI 可以从我们的上下文中获知这一点,它甚至不需要去读取任何文件。它知道启动开发服务器的命令是
npm run dev。 - 它会提示我们执行 shell 命令,我们允许它执行。
- 然后,我们可以在端口 5173 上打开本地主机,查看正在运行的 npm 服务器。

网站看起来不错,我们有了一个很好的基础,大部分想要的功能都已实现。
识别需求:添加社交媒体工具包
观察网站,我们发现缺少一个社交媒体工具包。参加会议的人会希望在社交媒体上分享,我们应该告诉他们使用什么话题标签,以及会议的颜色方案和字体。
我们的社交媒体团队已经在 Canva 中策划了一个品牌工具包,我们可以用它来实现这个功能。我们无需下载和保存图像及设计,而是可以利用 Canva 的 MCP 服务器,在 Gemini CLI 内部完成这项工作,而无需离开我们的终端。
连接 Canva MCP 服务器
Gemini CLI 有用于 MCP 的子命令,我们可以用一行命令添加一个 MCP 服务器。
以下是添加 MCP 服务器的命令:
gemini mcp add -t http canva <MCP_SERVER_URL>
-t http指定我们使用的是 HTTP 远程服务器。canva是服务器的名称。<MCP_SERVER_URL>是远程 MCP 端点的 URL(你可以在 Canva 的在线文档中找到此 URL)。
运行该命令后,我们应该会看到 MCP 服务器已添加到我们的设置中。现在,当我们启动 Gemini CLI 时,它会要求我们对远程服务器进行身份验证。


我们可以使用 gemini mcp auth 命令来完成。它会列出你配置的 MCP 服务器,我们选择 Canva。它会在你的本地浏览器中打开一个 OAuth 流程,你需要点击允许授权。
授权后,回到 Gemini CLI,你应该会看到已通过身份验证。要验证这一点,可以运行 gemini mcp。这将列出你可用的 MCP 服务器,并会有一个图标(例如绿色)显示你已连接。
gemini mcp 命令会列出所有可用的工具。如果你想查看详细描述,可以运行 gemini mcp describe。
使用 MCP 工具生成社交媒体页面
现在我们已经连接到 Canva 的 MCP 服务器,可以向它询问关于我们 Canva 设计的问题了。
例如,我们可以问:“你能列出我最新的设计吗?” Gemini CLI 会查看 Canva 提供的工具,并意识到它需要调用“搜索设计”工具。它会发现我们最近编辑的设计是 techtac-brand-kit。
接下来,我们让 Gemini CLI 读取该设计,并为我们的社交媒体工具包创建一个 /socials 页面。
Gemini CLI 会再次发现完成任务需要调用的工具。它会去获取设计。我们实际上看到它在这里并行调用了不同的工具,即在读取文件的同时,也从我们的 Canva 设计中获取内容。
我们可以看到它正在从我们的设计中提取不同的元素,例如屏幕上显示的内容,以及所有不同的字体和颜色。现在,它正在逐步制定计划,弄清楚如何将社交媒体页面添加到我们的网站中,然后开始编写文件。
为了加快流程,我们可以选择“全部允许,始终是”,而不是手动批准每一个确认。完成后,我们现在应该有了一个社交媒体页面,并且在页脚中应该有一个指向社交媒体工具包的链接。
让我们来看看效果。确实,页面上出现了“社交媒体工具包”链接。我们现在有了一个官方页面,可以发送给与会者,以便他们在社交媒体上发布时使用官方素材。


总结
本节课中,我们一起学习了模型上下文协议(MCP)的核心概念及其价值。我们通过实际操作,演示了如何将 Gemini CLI 与 Canva 的 MCP 服务器连接,并利用其工具自动生成网站所需的社交媒体页面。
Gemini CLI 可以代表你完成相当复杂的任务。我鼓励你尝试给 Gemini CLI 分配复杂的任务,你可能会对它能完成的事情感到惊讶。


在接下来的课程中,我们将超越 MCP,探索 Gemini CLI 的扩展生态系统。
006:使用扩展进行自定义 🛠️
在本节课中,我们将学习如何使用 Gemini CLI 扩展来增强其功能。扩展将 MCP 服务器与自定义命令和上下文文件打包在一起,使你能够创建复杂的工作流。我们将探索扩展库,安装 Google Workspace 扩展,并演示如何跨文档、日历和表格协调工作。
扩展的核心概念
上一节我们介绍了 MCP 服务器,本节中我们来看看如何通过扩展来提升其能力。Gemini CLI 扩展超越了基础的 MCP 服务器功能。
它允许你将一个或多个 MCP 服务器打包成一个简单易安装的包,这个包包含一个自定义的上下文文件和自定义的 s 命令。MCP 服务器本身功能强大,但工具有时需要在复杂的工作流中使用。单个工具通常不了解其自身之外的上下文。通过将 MCP 服务器与自定义上下文文件捆绑,你可以告诉 Gemini 如何正确使用任何工具,从而真正创建这些复杂的工作流。
探索扩展生态系统
Gemini CLI 拥有一个庞大的扩展生态系统,目前有超过 200 个扩展。你可以在我们的网站上探索所有扩展。很可能你日常使用的工具已经有了对应的 Gemini CLI 扩展。
以下是几个扩展功能的例子:
- Monday.com 扩展:通过此扩展,你可以访问 Monday.com 的 MCP 服务器,从而查看分配给你的当前任务、更新项目看板。它还附带一个自定义的
s命令s sprint summary,让你可以拉取当前团队的冲刺计划并获得快速摘要以跟上进度。此外,它还包含一个自定义上下文文件,解释了如何使用 Monday 扩展的最佳实践以及其 MCP 服务器的故障排除方法。
实践:安装与使用 Google Workspace 扩展
为了筹备我们一直在讨论的 textt 会议,我们一直在使用 Google Docs 来制定计划和日程。现在,我们可以安装 Google Workspace 扩展,从日程安排的 Google 文档中提取信息,然后直接在日历上为会议预约时间块。
要获取安装 Google Workspace 扩展的命令,让我们前往 geminili.com 上的扩展库。






点击扩展卡片将带我们到一键安装命令。


运行该命令会提示你确认是否要安装此扩展。扩展成功安装后,你可以打开 Gemini CLI。启动时会再次触发 OAuth 流程。请登录你的邮箱,选择“全部接受”以授予权限。这将允许它访问你的日历和 Google 文档等。




完成此步骤后,你可以返回 Gemini CLI。你可以运行 s extensions list 命令来查看所有已安装的扩展。
现在,让我们要求 Gemini CLI 读取我们的会议日程 Google 文档,并列出会议日程。Google Workspace 扩展会查询工具以了解当前登录的用户以及稍后在其工具中使用的时区。


Gemini CLI 已经读取了我们的 Google 文档,获取了会议日程信息。我是个忙碌的人,所以我想确保提前在日历上预留时间块,以免在会议期间被预约其他事情。
接下来,我们让 Gemini CLI 将这些时间块添加到我的日历中。我们确保日历邀请的标题是“预留 - [会话标题]”。


Gemini CLI 已经遍历了我们的日程,并通知我将创建 39 个日历邀请。它还注意到存在一些并发的会议会话,甚至询问我是否要在日历上创建多个重叠的事件。我们告诉 Gemini CLI 暂时不用担心这个问题,直接安排所有事件。
于是,Gemini CLI 继续操作,安排了所有 39 个事件。它会在这里给我们一个快速摘要。让我们看看,看起来是轻松的几天,好在早餐和午餐是空闲时间。

总结与展望

本节课中我们一起学习了如何通过 Gemini CLI 扩展来定制和增强其功能。我们了解了扩展如何将 MCP 服务器、自定义命令和上下文打包,以支持复杂的工作流。我们探索了扩展库,并实际操作安装了 Google Workspace 扩展,演示了如何跨文档和日历自动协调任务。
现在你已经了解了扩展 Gemini CLI 能力的各种方法,让我们更进一步,开始聚焦于你可以使用 Gemini CLI 完成的具体任务,例如软件开发。


007:使用Gemini CLI进行软件开发 🛠️
在本节课中,我们将学习如何使用Gemini CLI来构建一个会议网站的功能。我们将从研究代码库开始,逐步实现功能,并进行测试。您将看到Gemini CLI如何处理从开始到结束的完整开发工作流程。
概述
Gemini CLI是一个功能全面的工具,可用于执行各种不同类型的任务,例如Vibe Coding、自动化、编写脚本、编写测试、清理代码库以及调试问题。在软件开发领域,其可能性几乎是无限的。
上一节我们介绍了Gemini CLI的基础,本节中我们来看看如何将其应用于一个实际的软件开发场景。
从功能请求开始
我们将继续处理之前提到的会议网站项目。现在,我们将利用Gemini CLI来增强我们的网站并构建一些功能。我们已经确定了会议的日程和演讲者名单。接下来,我们将让Gemini CLI实际实现一个功能请求:为会议网站的“会议目录”页面填充内容。
我强烈建议您再次查看我们的扩展页面,因为那里有许多优秀的开发者工具可以作为扩展安装。



如果我们回到技术栈会议网站并进入会议目录页面,可以看到当前目录中没有任何会议内容。在Github上有一个关于此功能的开放功能请求,描述相当详细,您可以仔细查看。它包含了我们希望每个会议条目具备的信息类型,例如标题、描述、演讲者、时间、轨道等,以便能够进行过滤或搜索。
自定义斜杠命令的强大功能
之前我们简要提到过,现在我们将向您展示Gemini CLI中自定义斜杠命令的强大功能。
自定义斜杠命令位于您的 .gemini 文件夹内的 commands 子文件夹中。这些是 .toml 文件,允许您填写描述和提示。这些命令可以是任何内容,从像我们这里要做的实现功能请求,到代码审查。
我们将通过以下语法调用Github CLI并实际触发一个shell命令:
!{gh issue view}

我们将通过指示一个感叹号后跟花括号来告诉它使用shell命令,在花括号内我们将放入我们的shell命令。所以 gh issue view 将使用Github CLI来拉取我们的功能请求,并获取我们实现它所需的所有信息。

我们还可以在花括号中接收参数。这让我们可以传入我们想要拉取的问题编号。因此,当我们触发此命令时,我们将传入数字 5,因为这是我们仓库上的问题编号。
当我们运行斜杠命令时,它会询问我们是否要触发其中的shell命令。我们选择允许。
执行开发工作流
在我们的自定义斜杠命令中,我们指示Gemini去规划,然后迭代,接着测试和审查。因此,它将按照我们定义的顺序执行所有这些步骤。
您会看到,一旦它完成更改,它将提示运行测试。npm run test 命令之前在我们的 gemini.md 上下文文件中,所以我们可以看到测试失败了,因为我们添加了新功能。Gemini应该能够通过交互式命令发现这一点。

对于交互式命令,Gemini CLI允许您按 Ctrl+F 来聚焦于shell。我们可以聚焦于shell并按 Ctrl+C 退出。现在,Gemini CLI应该会去修复那些测试。
在它修复更改之后,让我们再次运行测试。我们可以看到所有测试都通过了,代码已正确更新。现在Gemini CLI告诉我们功能已完全实现。让我们去检查一下。
验证成果


回到网站并查看我们新的会议目录页面,页面显示了32个会议,我们可以滚动查看所有不同的会议并查看详细信息。我们甚至可以进行过滤和搜索,例如搜索“Future of AI is here”并找到相应的会议。Gemini CLI已成功实现并测试了新功能。
基于图像反馈进行改进

在查看会议目录时,我注意到“日程安排”和“一周概览”的格式不太理想。它占据了整个屏幕的宽度,而我们可以将这些信息以列的形式显示,以便一目了然。

我们可以截取屏幕截图,并将其粘贴到Gemini CLI中,让Gemini CLI分析图像、理解它并进行适当的更改。我们只需正常输入提示并粘贴图像,您会看到它被添加到提示框中。
看起来Gemini CLI甚至确保它不会破坏任何测试。干得好,Gemini。现在看起来好多了。
代码管理与自动化审查
现在,我们将让Gemini CLI检出新分支并提交我们刚刚所做的更改。在这个过程中,Gemini CLI甚至会生成一个非常好的提交信息。
在我推送这些更改之前,实际上我想设置一个自动的拉取请求审查器,以便Gemini CLI作为GitHub Action在每一个拉取请求上运行并进行详细审查。我们可以在Gemini CLI中使用 /setup github 命令来完成此操作。

这个命令会下载GitHub Actions的所有工作流文件,并自动为您的仓库配置它们。然后,它会打开一个页面,您可以查看所有详细信息以及如何进行身份验证。我会将这些步骤添加到课程末尾的阅读材料中。
我已经设置了所有这些自动化,所以我们不需要经历所有步骤。但是当我们提出这个拉取请求时,我们应该会看到Gemini CLI会自动启动拉取请求审查。
Gemini CLI的GitHub Action也可用于不同的工作流。您甚至可以在拉取请求上评论“@Gemini CI,你能给我解释一下这个吗?”,它实际上会启动一个工作流,仅为添加评论并在GitHub Action完成后为您描述拉取请求。
当GitHub Action完成后,它会在拉取请求上评论其摘要以及一般反馈,并且它实际上会继续添加带有建议更改的评论,并根据严重程度用不同的颜色(例如黄色)标记它们。
建议看起来不错。我们继续提交,然后合并。
总结

本节课中,我们一起学习了如何使用Gemini CLI实际实现一个功能,并让它审查自己的功能,甚至根据审查结果进行修复。现在,我们已经使用Gemini CLI实现了一个功能,并让它审查了自己的功能,还根据它自己的审查结果进行了修复。我建议您尝试一下,并在您自己的仓库上进行配置。请告诉我们进展如何。
008:使用Gemini CLI进行内容创作 🎨
在本节课中,我们将学习如何将Gemini CLI的应用从代码开发扩展到非编码领域,特别是利用其强大的多模态能力进行内容创作。我们将通过一个实际的营销任务,演示如何使用Gemini CLI分析视频、生成短片、撰写博客以及创建社交媒体帖子。
从代码到内容:Gemini CLI的多模态优势
上一节我们介绍了Gemini CLI在编码方面的多种用例。本节中,我们来看看开发者如何将这类智能体工具的应用范围扩展到非编码场景。
Gemini CLI在处理多媒体数据(无论是图像还是视频)方面表现出色。它的核心优势在于多模态能力,这意味着它能够很好地与各种类型的文本、视频和图像进行交互。
让我们通过一个创意营销任务来具体探索。假设在一次会议中,我们录制了一段视频播客。团队成员已将视频文件发送给我们,并下载到了本地机器。我们的目标是使用Gemini CLI分析这段视频,并帮助我们制作一些宣传素材,例如几个短视频片段、一篇博客文章和一些社交媒体帖子。
此外,我们还将利用一些非常有用的扩展程序。在本课中,我们将使用 nanoob-banana1 扩展。现在,我们有一个内容文件夹,里面存放着本地的播客视频文件,以及团队成员发送过来的Gemini M上下文文件。
第一步:转录视频并添加时间戳
我们首先要执行的指令是让Gemini CLI为视频生成带时间戳和引用的转录稿,并将其保存到本地的TXT文件中。

以下是初始指令的示例:
# 假设的指令:让Gemini CLI处理视频并生成转录稿
gemini-cli process-video --input podcast.mp4 --transcribe --output transcript.txt
执行后,Gemini CLI会通知我们完成此任务需要某些工具,例如 FFmpeg 和 Whisper。它会自动检查这些工具是否已安装,并尝试设置环境。接着,它会调用相关工具(如使用Whisper通过Uv)来转录视频。
过程中可能会遇到一些问题,但Gemini CLI能够诊断并尝试恢复。运行完成后,它会遍历整个视频,生成带时间戳的转录稿。

结果完全符合我们的要求。此外,Gemini CLI还利用这些转录内容生成了不同格式的字幕文件。

第二步:从视频中创建宣传短片
接下来,我们要求Gemini CLI为我们创建一些短片。具体来说,是让它切入原始视频,剪辑出可用于社交宣传的片段。
手动完成这类工作通常很繁琐,因此拥有Gemini CLI这样的自动化工具非常方便。
Gemini CLI会分析内容,并 pinpoint 出三个它认为适合用于剪辑视频的短片时间段或时间戳。

任务完成后,它选取并剪辑出了三个片段。看起来分别是:
- Gemini CLI的介绍。
- 关于“10倍 vs 100倍效率提升”的见解。
- 关于“如今使用AI的Gemini CLI扩展”的讨论。

既然我们已经有了不同的视频剪辑,就可以更进一步了。
第三步:生成包含图像的博客文章
我们还需要一篇可以发布的博客文章,并且希望文章中包含图片。这时,我们将使用之前提到的 nanoob-banana1 扩展。我已经按照与安装Google Workspace扩展相同的方式完成了安装。
现在,我们指示Gemini CLI利用之前创建的转录稿来撰写这篇博客。
Gemini CLI会从视频本身截取屏幕截图,然后将这些图像作为输入传递给 nanoob-banana1 扩展,以帮助生成更具创意的图片。
任务完成后,它生成了一篇Markdown格式的博客文件。博客的标题是《编程的未来在你的终端中:深入探讨Gemini CLI》,相当吸引人。


我们可以看到,博客中很好地混合了屏幕截图和由nanoob-banana生成的图像。
第四步:创建社交媒体宣传帖子


现在我们有了短视频和博客,最后一项任务是让Gemini CLI为我们创建宣传用的社交媒体帖子。
执行相应指令后,Gemini CLI生成了四个社交媒体帖子。让我们来看一下效果。

它提出的一些帖子创意相当不错,甚至可能达到可以直接发布的标准。

总结与展望
本节课中,我们一起探索了Gemini CLI在内容创作领域的强大应用。我们演示了如何让它:
- 转录视频并生成带时间戳的文稿。
- 自动剪辑视频,识别并提取关键片段制作成宣传短片。
- 撰写图文并茂的博客文章,利用扩展程序增强图像创意。
- 生成社交媒体宣传文案,为内容推广提供素材。
我们已经看到了Gemini CLI众多不同的用例。接下来,我们将稍微转换方向,离开文本会议的场景,为您带来一节我们认为非常有用的附加课程。考虑到您正在学习在线课程,我们将展示如何利用Gemini CLI来辅助学习。




009:使用Gemini CLI进行数据分析 🧮
在本节课中,我们将学习如何使用Gemini CLI来处理和分析数据。我们将从一个会议结束后收集到的海量参会者扫描数据入手,演示如何利用Gemini CLI完成数据清洗、分析、存储、报告生成以及可视化仪表板构建的完整流程。
数据源与目标
上一节我们介绍了Gemini CLI的基本能力,本节中我们来看看如何用它处理真实数据。Gemini CLI或任何智能体CLI的优势之一,在于其能够处理和读取各种不同类型的数据。这些数据既包括结构化数据(如CSV文件),也包括非结构化数据(如Google文档、PDF、源代码、图像、图表),甚至可以通过网络搜索获取信息。
本次课程中,TEXTT会议已圆满结束。现在面临的挑战是如何处理会议期间收集的所有数据。当参会者走过会议展区、参加分会场或访问展位时,他们的徽章会被扫描。每次徽章扫描都是一个数据点,因此我们拥有了成千上万个数据点。我们的目标是深入分析这些数据,以便为明年的会议做出可执行的决策。
为了实现这个目标,我们将使用Gemini CLI来导入所有数据,帮助清理数据,进行分析,并最终构建一个美观的可视化仪表板,以便轻松查看结果。

准备工作与环境配置
在开始使用Gemini CLI进行本课内容之前,让我们先查看一下我们的上下文文件 gemini.md。我们已经根据以下信息定制了上下文文件:
- 关于如何定义“热门线索”、“温线索”和“冷线索”的见解。
- 我们希望如何总结数据以及希望仪表板呈现样子的见解。
- 仪表板或分析结果的受众是谁等见解。
我们处理的数据包含数千条会议记录,例如扫描ID、参会者ID以及参会者信息(如姓名、邮箱等),这些都是在会议中扫描徽章时通常会收集的信息。
我们已经将Gemini CLI启动在数据分析文件夹中,准备就绪。
数据清洗与处理
我们将告诉Gemini CLI查看我们的线索扫描数据。数据存储在本地以及云端的Google Sheets中。我们指示它处理并清理数据。它将执行以下操作:
- 遍历数据并移除重复项。
- 移除无效数据。
- 为我们提供一个干净、可用于构建仪表板的最终数据集。
Gemini CLI再次使用工作区扩展从Google Sheets检索数据,并使用其内置工具读取本地的CSV文件。它将创建一个本地Python脚本并运行,以帮助我们处理和清理线索数据。
您会注意到,Gemini CLI会将我们的Google Sheets保存到本地文件,以便以统一和简洁的方式处理所有内容。它尝试运行Python脚本时,看起来想使用pip,但作为Python开发者,我更喜欢uv。因此,我告诉Gemini CLI使用uv工具而不是pip,以获得更好、更干净的虚拟环境。
现在可以看到它已成功处理了所有线索。我们的原始线索扫描数据中有超过8000条记录,其中超过5000条被归类为“唯一线索”。根据优先级细分,我们拥有大约1800条热门线索、1900条温线索和1400条冷线索。
数据存储与验证
处理完这些线索后,我们实际上希望将它们保存到数据库中,以便日后访问,或者让团队成员能看到我们正在查看的相同数据。因为目前数据仅存储在本地CSV文件中。
因此,我们告诉Gemini CLI将数据导入到Google Cloud上的BigQuery数据库。Gemini CLI将利用我本地机器上的工具。我已经安装了gcloud CLI和bq (BigQuery) CLI。只需几个快速命令,它就能将所有数据上传到BigQuery。
现在,它正在使用那个bq CLI来创建数据集。我们可以通过查询BigQuery表中有多少温线索来快速验证这一点。可以看到,我们得到的结果与之前本地分析的结果相同:有1948条温线索。
深度分析与报告生成
现在,让我们更进一步,要求Gemini CLI对数据进行深入分析,找出趋势和重要细节,这些可能是我们营销团队在未来营销计划中想要使用的。
这一次,Gemini CLI将创建另一个Python脚本,但这次会更侧重于营销分析。可以看到,这些数据现在包含了诸如参会者来源最多的公司、最多的国家、不同的职位头衔、哪些会议环节最吸引人,以及一些战略和营销建议。
它将分析结果保存为本地机器上的Markdown文件。但我们希望将其保存为Google文档,以便快速与其他团队成员分享。

如果我们转到Google Drive查看,可以看到Gemini CLI已成功将其创建为Google文档。文档中包含了供快速浏览细节的执行摘要、我们如何将线索分类为热/温/冷的标准,以及快速的受众洞察和人口统计数据。
构建可视化仪表板
这已经很棒了,但我们可以更进一步,让Gemini CLI用所有这些数据创建一个美观、视觉吸引力强的仪表板,使其变得更好。因为我们希望仪表板使用我们的Logo以及从品牌指南中获取的配色方案,而这些我们已默认添加到网站项目中。
默认情况下,Gemini CLI只能访问给定项目中的文件。我们可以利用/dir add命令或Gemini CLI内的/their add命令,将另一个项目添加到会话状态中,以便Gemini CLI能够访问像我们的Logo SVG文件这样的文件,并查看我们网站项目中的字体颜色。

现在,我们可以告诉Gemini CLI构建仪表板,使用我们的品牌颜色和会议Logo。它将搭建项目框架并添加依赖项(如Flask)以实现这个仪表板。它会创建Flask应用程序的app.py文件以及包含我们品牌颜色和Logo的HTML文件。
看起来Gemini CLI尝试启动应用程序,但该端口在我们本地机器上已被占用。因此,我们提示它使用不同的端口并再次尝试启动应用程序。
成功了!看起来Gemini CLI已在端口5001上成功启动了Flask仪表板。如果我们转到运行该应用程序的本地主机的5001端口,可以看到我们的仪表板已启动并运行,在左上角使用了TEXTT会议的Logo,并采用了我们网站的配色方案。
您可以看到,它包含了与我们Google文档分析报告中相同类型的数据,但这次是以一个美观的仪表板形式可视化呈现,我们可以点击不同的项目,查看顶级公司的细分、近期的热门线索等。
总结与展望

这只是使用Gemini CLI来处理和帮助您应对复杂数据的一种方式。但还有大量不同的用例,我希望您能进一步探索。

在本节课中,我们一起学习了如何使用Gemini CLI完成从数据清洗、存储、深度分析到生成可分享的报告和交互式可视化仪表板的完整数据分析流程。我们看到了它如何整合多种数据源、利用本地和云端工具,并根据品牌指南定制输出,从而将原始数据转化为有价值的商业洞察。
010:使用开源智能体辅助学习 📚
在本节课中,我们将学习如何将 Gemini CLI 作为你的个人导师和学习伙伴,利用其联网搜索功能来获取准确、有据可查的信息,从而辅助你的学习过程。我们将通过一个具体的计算机科学课程复习案例,演示如何让 Gemini CLI 总结教材、生成学习指南并创建交互式测验。
概述
上一节我们介绍了 Gemini CLI 的基本功能。本节中,我们来看看如何将其应用于学习场景。我们将扮演一名正在为计算机科学期末考试复习的学生,课程教材长达 200 多页。我们的目标是利用 Gemini CLI 高效地处理这份长篇文档,生成复习材料。
处理长篇文档的策略
由于我们的 PDF 教材超过 200 页,我们不想一次性将整个文档加载到上下文中,这可能导致效率低下或超出限制。为了应对这个问题,我们在本学习项目对应的 gemini.md 配置文件中,指示 Gemini CLI 使用 Python 的 PyPDF2 包来分块读取 PDF 文件。
# 示例:使用 PyPDF2 分块读取 PDF
import PyPDF2
# ... 读取并处理 PDF 的代码逻辑
这种方法能让我们迭代处理小块的 PDF 内容,从而更高效地完成任务。



分步学习辅助实践
我们已经在本地的“学习”文件夹中启动了 Gemini CLI。接下来,我们将通过几个步骤来展示其辅助学习的能力。
第一步:总结课程章节

首先,我们让 Gemini CLI 总结教材的每一章,并将结果保存为 Google 文档,以便我们查阅精简版的“速记笔记”。
以下是 Gemini CLI 执行此任务的过程:
- Gemini CLI 遵循我们的
gemini.md配置文件,因为文件较大,它会创建一个脚本来分块读取 PDF。 - 它开始以较小块读取 PDF。
- 随后,它会利用工作区扩展功能,请求创建一个新的 Google 文档来存放“CS 229 课程总结”。
- 在获得权限后,Gemini CLI 开始逐章阅读、总结,并将内容实时追加到我们创建的 Google 文档中。
我们可以打开这个 Google 文档,实时看到总结内容正在生成。例如,前一秒第六章的总结还不存在,现在我们已经能看到关于“支持向量机”的章节摘要了。我们等待它完成所有 17 章的总结。

第二步:生成学习指南


现在我们已经有了每章的总结,接下来让 Gemini CLI 为每一章生成一份学习指南。这份指南应包含问题、答案以及一些值得在考试前掌握的关键思考题。

我们同样要求它将这份学习指南保存到一个新的 Google 文档中。这个过程相当迅速,任务很快完成。检查新生成的 Google 文档,我们可以看到其中包含了关键概念、核心公式以及“检查你的理解”部分,该部分会提出诸如“为什么我们使用正规方程而不是梯度下降?”这样的问题。
第三步:创建交互式测验
仅仅阅读总结和回答问题可能有些枯燥。让我们更进一步,让 Gemini CLI 创建一个可以实时测验我们知识的交互式 Web 应用程序,这样会更有趣。
我们没有给它任何技术栈的限制或指示,因此这将完全由 Gemini CLI 自主决定使用什么技术来创建这个交互式应用。它创建了一个简洁的 HTML 文件,我们可以在浏览器中直接打开,或者使用 shell 命令 open practice_test.html 在默认浏览器中打开。


我们得到了一个由 Gemini CLI 创建的交互式练习题测试界面。我们可以快速测试一下,例如,第一题可能答错了,系统会友好地提供正确答案的详细信息,这对于学习过程非常有帮助。
总结
在本节课中,我们一起学习了如何将 Gemini CLI 打造为强大的学习助手。在短短几分钟内,我们利用它完成了教材总结、生成学习指南和创建交互式测验多项任务。

我希望这节课能启发你跳出思维定式,以多种方式运用 Gemini CLI——无论是作为导师、学习帮手,还是研究助理。下次当你学习新主题、备考,甚至只是进行研究和头脑风暴时,不妨启动 Gemini CLI,让它协助你完成整个过程。你会发现效率大大提高,并且能够完成许多单凭自己难以完成的任务。
011:10. 课程总结 🎓
在本课程中,我们学习了如何将 Gemini CLI 应用于多种不同的使用场景。
上一节我们探讨了数据分析与仪表盘开发,现在让我们来回顾整个课程的核心内容与收获。
课程回顾 📋
以下是我们在课程中完成的主要任务:

- 我们为一个网站构建了功能集,并集成了 Canva MCP 服务器和 Google Workspace 扩展。
- 我们分析了大量数据,并基于此开发了一个数据仪表盘。
- 我们使用 Gemini CLI 创建了社交媒体视频剪辑,并将其用于学习。

后续步骤与资源 🔗
希望本课程能为你提供许多关于如何将 Gemini CLI 应用于自身生活的绝佳想法,无论是编程、内容创作、学习还是其他领域。
在接下来的阅读材料中,你可以查看本课程中使用的所有提示词、安装说明以及可以自行尝试的代码示例。
我非常期待看到你参与到社区中来,并希望在不久的将来能够审阅你提交的 Pull Request。此外,我迫不及待地想在 T cof 2026 与你相见。
祝你构建愉快!😊
本节课中我们一起学习了:Gemini CLI 在网站开发、数据分析、内容创作及学习等多个场景下的综合应用,并了解了获取课程相关资源与参与社区后续活动的途径。


浙公网安备 33010602011771号