Skip to playerSkip to main content
  • 4个月前
文字稿
00:00在这个视频中,我们将深入探讨Gemini CLI。
00:03我们将学习如何开始使用Gemini CLI。
00:07接下来,我们会研究在启动Gemini时可以提供哪些CLI命令选项。
00:14然后我们会学习如何配置它。
00:17例如,我们可以使用Gemini MD文件,或者Agent MMD文件。
00:22我们会了解这些不同的配置选项是什么,最后通过实际操作来总结整个过程。
00:28我们将研究Gemini是如何理解现有项目的,最后我们可以大胆尝试一下,给它一个大的提示,看看我们是否能够一次性完成整个应用程序的构建。
00:42那我们开始吧。
00:43要开始的话,我们只需要输入NPX并给出GitHub的URL链接,或者也可以使用NPM,然后运行这个命令。
00:52这都是假设你的机器上已经安装了Node.js。
00:55我的机器上已经安装了Node.js,所以可以直接进入终端。
00:58我现在要复制这个命令,然后进入终端并输入它,执行NPM install Google Gemini CLI。
01:06可以看到,安装过程已经开始了。
01:10大功告成了。
01:11看来安装成功了。
01:13要启动Gemini,我只需要输入Gemini,然后它就启动运行了。
01:18接下来,我们可以选择不同的主题。
01:23例如,可以选择NC Dark Atom深色主题,或者默认的主题。
01:29我挺喜欢Atom主题的。
01:31那么,我就选择那个吧。
01:32然后它要求我登录Google。
01:36我们都有个人账户。
01:38所以,我们可以直接用我们的个人账户登录。
01:41那我就点击使用Google登录。
01:43然后,我会选择我的个人账户来登录。
01:46一旦我们登录,系统会显示Gemini Code Assist以及Gemini CLI已被授权访问您的账户。
01:52我们现在已经登录完毕,可以开始使用了。
01:55系统提供的一些提示包括,提问,编辑文件和运行命令。
02:00为了获得最佳效果,请具体说明需求,还可以创建一个Gemini MD文件来定制与Gemini的交互方式,如需更多信息可输入Help。
02:09现在,我先输入Help,看看会显示什么。
02:13系统显示了一堆键盘快捷键以及我们可以尝试使用的命令列表,以便我们熟悉这些功能。
02:20因此,我们可能会运行一些命令来熟悉这个工具,并且也会熟悉键盘快捷键。
02:28首先,如果我按下Ctrl-C,我将退出应用程序。
02:32然后,我按下Ctrl-C,程序会显示Agent Powering Don't Goodbye,并且性能数据会立即被总结出来。
02:40只是输入Gemini这个命令,我们就有很多选项了。
02:43例如,如果我们输入Gemini Help,它会显示我们可以更换模型。
02:48默认情况下,它使用的是Gemini 2.5 Pro版本。
02:51如果我们使用帘字符提示Haven Prompt,那么我们可以直接编写一个提示,就像与聊天机器人互动一样。
02:57最有趣的功能是沙箱Sandbox。
03:00因此,如果你想运行沙箱而不影响本地任何内容,只需提供一个沙箱即可。
03:06例如,如果你有一个Docker镜像,你可以提供沙箱镜像及其Uri,然后就可以在该沙箱内运行Gemini并执行所有操作。
03:16如果你想让Gemini显示内存使用情况,我们可以传递这个选项。
03:21比如,如果我让Gemini显示内存使用情况,并将其放在右下角启动,我们会看到内存使用量会根据我们输入的内容而变化。
03:30我随时都可以退出并退出这个系统。
03:34如果你想自动运行命令并接受Gemini执行的所有操作,只需输入一个连字符外即可。
03:42如果你想调整任何谣策设置,也可以随时进行。
03:46你还可以对编辑过的文件进行检查点保存。
03:49你还可以允许特定的MCP服务器访问某些MCP服务器。
03:56你还可以使用连字符易扩展命令来扩展Gemini CLI的功能。
04:03你可以随时列出可用的不同扩展程序。
04:07最后,你可以查看已安装的版本并寻求帮助。
04:11话虽如此,让我们以默认模式启动Gemini吧。
04:15在这里,我们有三个不同的命令。
04:19一个是at,下一个是感叹号,另一个是正邪杠。
04:25那么,让我们逐一看看这三个命令。
04:27现在,如果我们执行一个正邪杠操作,我们可以看到结果很清晰。
04:31这相当于在终端上运行clear命令。
04:33它将会清除Gemini屏幕上的内容。
04:35还有帮助信息,有关于内存的信息。
04:37内存这一点很有趣,因为如果我们查看内存空间,就可以看到内存的使用情况。
04:42我们可以添加内存,并且可以刷新内存。
04:45如果我们查看文档,会发现内存是用来管理AI的指令上下文的。
04:50分层内存是从Gemini MMD加载的。
04:54有一个叫做Gemini MMD的东西,我们可以在三个级别上进行定义。
04:59第一个是全局级别,接下来是项目或祖先级别,再接下来是子目录级别。
05:06在每个级别上,我们都可以定义Gemini MMD,内存就是从这个Gemini MMD文件中获取的。
05:14通过简单的添加操作,我们可以为从Gemini MMD中提取的G添加一些上下文信息。
05:20然后我们有了主题。
05:21显然,我们可以更改我们在启动Gemini时设置的主题。
05:25接下来是编辑器。
05:26这个编辑器可以是你熟悉的VS Code,也可以是任何你喜欢的其他编辑器,但我们必须设置一个外部编辑器的偏好。
05:34然后是关于你当前绘画的统计数据。
05:37这里列出了你配置的MCP服务器。
05:41同样的,我们可以列出Gemini提供的扩展功能。
05:46然后,我们还可以列出可用的工具。
05:49还有这个聊天功能。
05:51这个聊天功能很有趣,因为我们可以管理对话记录。
05:55要管理它,我们只需要执行Chat Space List操作即可。
06:01目前,我们还没有保存任何对话记录,但可以通过运行Chat Save命令并给对话起个名字来保存它。
06:11文档中提到,可以交互式的保存和恢复对话历史记录以切换对话状态,或者从后续绘画中恢复之前的状态。
06:20基本上,我们可以分岔进入一个完全不同的对话,然后再回到原来的对话。
06:26我们可以选择恢复当前的对话,也可以保存它。
06:30这有点像你管理GitHub仓库的方式。
06:33另一个功能叫做压缩。
06:36该功能通过用摘要替换内容来压缩上下文。
06:39如果上下文内容很庞大,而你想了解其大意,你可以简单地调用Compress函数,它会显示一个压缩后的摘要,因为这里的对话不多。
06:49目前这个功能还没有在运行。
06:51接下来是Add符号。
06:53使用Add符号,我们可以传递任何文件。
06:55例如,我将传递这张Cake.jpeg JPEG图片,并询问它图片中发生了什么,然后它会告诉我图片的内容。
07:02这是一张蛋糕的实物照片。
07:05蛋糕放在一个木质的托盘上,托盘又放在一块深色的桌布上。
07:10这就是它所描述的画面。
07:13桌布是深色的。
07:14背景中有一个白色的花瓶,里面有一些绿植,还有一个放着餐具的容器。
07:19所以,这基本上是在解释那个文件里的内容。
07:23这就是Add的用法。
07:24下一个内容非常有趣。
07:26那个感叹号。
07:27一旦我们按下感叹号,系统就会切换到Shell模式,并且Shell模式会被激活。
07:33这相当实用。
07:34例如,如果你想执行LSL命令,它会列出所有可用的文件。
07:39你可以执行任何你想执行的Shell命令。
07:43如果你想切换回正常模式,就需要再次按下感叹号。
07:46我们又回到了Gemini模式。
07:48在这种模式下,我们将无法执行任何终端命令。
07:52例如,如果我输入LS-L,它会开始处理。
07:55它会显示正在分析细节,因此快速切换到终端模式,非常方便。
08:01但如果我先输入感叹号,然后再输入LS,它就会列出所有可用的文件。
08:07现在让我们来看看如何配置Gemini的命令行界面CLI。
08:11在配置方面,我们可以从不同的层面来进行调整。
08:15例如,总共有6个可用的配置层级,而默认值是应用程序中域先设定好的硬编码值。
08:21较低的层级配置会被较高的层级配置覆盖。
08:25因此,你在较高层级定义的任何设置都会优先于较低层级的设置。
08:29这种控制机制允许你使用默认值,同时还可以设置用户级别、项目级别和系统级别的配置。
08:37你还可以通过一个N文件来管理环境变量,在启动Gemini CLI时也可以通过命令行参数进行配置。
08:46这些设置通常保存在Settings,JSON文件中。
08:51当我安装Gemini时,Gemini的Settings,JSON文件会自动创建在我的主目录下。
08:58如果我进入我的主目录并输入Cat Gemini Settings,JSON,我们可以看到我选择的主题设置在这里。
09:07实际安装Gemini时,我选择了Item主题。
09:11还有O类型,默认是O Personal。
09:15所以,这些是在用户级别上的两个设置。
09:19然后还有项目级别,在项目的根目录下可以定义Gemini Settings,JSON文件。
09:26还有系统级别的设置,例如在Linux系统中可以设置ETC GeminiC Settings,JSON,
09:33在MacOS系统中则是在Library Application Support GeminiC Settings,JSON中。
09:40那么在Gemini Settings,JSON文件中到底发生了什么呢?
09:43其中一个内容是上下文文件的名称。
09:46例如,你可以有一个名为Gemini MMD的文件,
09:49在其中指定指令级别的上下文以及该文件的配置,
09:53无论是Agents,MD还是Gemini,MD,都可以作为上下文文件名。
09:58同样的,你可以使用Buck命令来覆盖Buck命令的默认URL。
10:04然后还有文件过滤功能,代码工具允许你指定应该提供给模型的代码工具列表。
10:12如果你想将模型限制在一组特定的工具上,
10:16那么你可以将它们作为字符串述组来指定,
10:19比如Code Tools,包括Rip File Tool,Globe Tool和Shout Tool。
10:23如果你想了解有哪些可用的工具,你可以输入Forward Slash Tools,
10:29它会显示所有可用的工具,包括Rip Folder,Rip File以及Google搜索等。
10:36默认情况下,Google搜索是启用的,然后还有Exclude Tool,
10:40你可以在这里列出需要排除的工具。
10:42例如,Run shell Command & Find Files,你也可以类似的指定允许或排除MCP服务器。
10:49你可以选择Auto Accept,你还可以指定主题,就像我们刚才看到的那样。
10:55在了解了Settings,JSON中可以设置的内容之后,让我们来看一个例子。
11:00我们可以看到,在Settings,JSON文件中,Theme Sandbox被设置为Docker,
11:05同时包含了MCP服务的列表,以及启用了谣策同意Telemetry Consent,
11:10和使用了使用统计Usage Statistics功能。
11:13这些通常都是Settings,JSON文件中会包含的内容。
11:17Gemini CLI接下来会处理环境变量,这些环境变量是通过N文件来管理的。
11:23现在,将API密钥如Gemini API密钥或Google API密钥存储在N文件中已经成为一种常见的做法。
11:31因此,无论你在哪个目录下工作,系统都会在当前工作目录中查找N文件。
11:36如果找不到N文件,系统会向上搜索附目录,直到找到该文件或到达项目跟目录。
11:45如果仍然找不到,那么它将搜索你的主目录。
11:50一旦找到,就会显示这个API密钥是必须的,
11:54Gemini API密钥也是必须的,
11:57其余的则是可选的。
11:58例如,你可以有Gemini模型、Google API密钥、Google云项目以及所有这些详细信息。
12:05文件的最后是上下文文件,这些文件是分层教学上下文。
12:12因此,上下文文件对于配置教学上下文非常重要。
12:17这个教学上下文也被称为记忆,它被提供给Gemini模型。
12:22这个功能允许你向AI提供特定于项目的指令编码风格指南或任何其他相关的背景信息。
12:31基本上,这些都是贯穿整个项目的细节。
12:36默认情况下,这个文件将被命名为GeminiMD。
12:40他们给出了这个文件应该包含的内容的示例。
12:43我们可以制定一些通用指令,
12:46比如说明这是一个TagScript库,
12:48在生成新的TagScript代码时,
12:51请遵循现有的编码风格,
12:53并且在适当的情况下优先使用函数式编程范式。
12:58所有代码都应该与TagScript 5.0和Node.js20兼容。
13:03对于编码风格,建议使用两个空格进行缩进,
13:07并提供了所有的编码细节。
13:10此外,还针对特定的组件进行了说明,
13:13例如Client,PS文件负责处理所有的出站API请求,
13:18在添加新的API调用函数时,
13:21必须确保包含强大的错误处理和日志记录功能。
13:26可以看到,我们如何提供项目级别的编码风格指导。
13:31这些通用指令也可以针对特定文件的内容进行非常详细的说明。
13:36一旦我们在Gemini,MB或Agent,MB文件中提供了所有这些细节,
13:43生成的代码将会更加复杂,更加符合你的使用场景。
13:48接下来是沙箱设置,
13:50Gemini很可能会执行一些潜在不安全的操作,
13:54因此当你启动Gemini时,
13:56需要选择沙箱选项,
13:58例如输入Gemini S,
14:00这样就会为你创建一个沙箱环境。
14:03或者你也可以设置Gemini的沙箱环境变量。
14:07需要注意的是,
14:09如果你想在YOLO模式下运行及你同意Gemini CLI执行的任何操作,
14:15则需要启用Docker,
14:17因为项目特定的沙箱会默认使用Gemini CLI的Docker镜像。
14:26你可以创建自己的自定义Docker文件,
14:29并在其中记录所有的详细信息。
14:34类似于Docker文件中通常包含的详细信息。
14:37这基本上就是我们需要了解的关于Gemini CLI配置的内容。
14:42好了,
14:43接下来我们来做一些实际操作吧。
14:45这是我创建的一个简单应用程序。
14:48只需要你托放一张图片,
14:49它就会模糊这张图片。
14:51就这么简单。
14:52首先,
14:53我只需要托放这张图片,
14:55然后点击应用模糊。
14:57图片就被模糊处理了。
14:58现在我们来看看Gemini对这个项目有什么评价。
15:02然后我进入终端。
15:03这是一个图像处理工具。
15:05我输入Gemini,
15:07它就开始运行了。
15:08我将解释这个项目的情况。
15:12它使用的是Gemini 2.5 Pro版本,
15:15并且没有在沙香环境中运行。
15:17它已经开始分析项目组件了。
15:20根据分析,
15:20这个项目似乎是一个前端使用React,
15:22后端使用Python的应用程序。
15:24前端是用React和TabScript构建的,
15:26并且采用了Twin CSS样式。
15:29这一切都很好,
15:30看来这个Python快速API应用程序是用于图像处理的,
15:34因为它包含了像OpenCV和Pillow这样的库。
15:38这一切看起来都很好,
15:40他还说我现在将检查Main,
15:42PSX和MainPath中的主要应用程序逻辑。
15:45然后他给出了这样的解释。
15:49前端提供了一个用户界面,
15:51用于上传图片,
15:52用户可以从他们的电脑上选择图片,
15:54或者直接拖放到应用程序中,
15:56应用程序会显示原始图片和模糊后的版本。
16:00所以在我看来一切都很好。
16:01总之,
16:02这是一个全站应用程序,
16:04它允许我们上传图片,
16:06对其进行模糊处理,
16:08然后下载结果。
16:10它还具有将图像转换为SVG的功能。
16:12接下来,
16:14让我们通过一个简单的提示来创建一个完整的应用程序。
16:19但由于我们的令牌用完了,
16:21我们将切换到Gemini 2.5 Flash。
16:24我们已经达到了Gemini 2.5 Pro的速力限制。
16:27因此,
16:27我将提供Gemini 2.5 Flash的选项,
16:30并开始使用它。
16:31你们可以看到,
16:32我们已经使用Gemini 2.5 Flash开始了。
16:34我的整个提示是构建一个用于任务管理的完整对战应用程序。
16:39我希望能够创建新的任务。
16:41我希望能够编辑和删除现有的任务。
16:45我应该能够按照看板风格来组织任务,
16:47分为代办,
16:48进行中和,
16:49以完成三个类别。
16:51而且,
16:51这应该是一个标准的用户界面。
16:53基本上,
16:53我只是在尝试创建一个任务管理应用程序。
16:56那么,
16:57让我按下回车键,
16:58看看会出现什么结果。
17:00它正在尝试使用NPM创建一个任务管理器应用程序,
17:03并且使用的是VFPS作为模板。
17:05我就同意执行这个操作。
17:09然后,
17:10它开始安装所需的各种组件了。
17:12好的,
17:12继续执行,
17:13优先考虑任务管理功能。
17:14它已经更新了App TSX文件来处理登录状态。
17:18那已经更新了,
17:19它现在正在创建Canban Board TSX文件。
17:21它正在处理用户界面。
17:24构建Card组件Canban Board TSX。
17:27然后还有TestCard TSX。
17:29它正在创建所有这些React组件。
17:31如我们所见,
17:32它正在导出那些组件。
17:34然后,
17:34它创建这个任务卡片,
17:35并将所有文件写入以运行应用程序。
17:38它提示我们导航到任务管理器应用程序,
17:41然后进入任务管理器应用程序,
17:42接着执行NPM Rundown。
17:44那我就直接去做吧。
17:46或者干脆现在就让它启动应用程序,
17:49因为我们现在不在该应用程序内部。
17:51所以我要加上一个感叹号。
17:54如果我执行Alice命令,
17:55我们可以看到有一个任务管理器应用程序。
17:57所以如果我先输入一个感叹号,
17:59然后输入CD Test Manager App,
18:01我知道这样会让我退出当前界面,
18:03接着再输入Start the App来启动应用程序。
18:06我们来看看这个命令会有什么效果。
18:07是的,
18:08你好。
18:09看来它有点难以启动这个应用程序。
18:11那我就直接退出当前界面,
18:14然后输入感叹号,
18:15切换到终端模式,
18:16再输入NPM Rundown来运行开发命令。
18:20所以它有一些错误代码。
18:22那么我将回到Gemini模式,
18:25然后粘贴错误信息。
18:27它会显示错误信息,
18:28让我们看看它会怎么做。
18:30它正在优化解决方案并接受编辑。
18:33你可以看到这里的小点,
18:34这表示它正在运行。
18:36最终我不得不完全退出Gemini模式,
18:40然后输入NPM Rundown来启动应用程序。
18:43我们现在可以看到应用程序正在运行。
18:46如果我们进入用户界面,
18:47会发现那里有一个注册表单。
18:50用户界面的设计并不是很美观。
18:52我打算创建一个用户名和密码123456,
18:56然后进行注册。
18:58用户已经存在了,
18:59因为我尝试过注册。
19:00那太糟糕了,
19:01所以我将点击登录并登录。
19:04它允许我登录了。
19:06那太好了。
19:07但是用户界面相当基础,
19:09完全没有CSS样式。
19:11让我们看看它的功能是否正常。
19:14我将添加一个发布视频的任务。
19:17添加任务。
19:18因此,
19:19它将任务添加到了拜办事项中。
19:20如果我继续向前操作,
19:22它会将任务状态改为进行中。
19:24再次向前操作时,
19:25状态会变为已完成。
19:27再次操作后,
19:28状态会变为归档。
19:30如果向后操作,
19:31状态会变为已完成,
19:33这样就很棒了。
19:34如果我点击编辑,
19:35现在就可以编辑这个任务了。
19:38我还可以在Gemini CLI上添加发布视频功能。
19:41如果我点击保存,
19:42它也会被保存下来。
19:44所以,
19:44这个功能是可行的,
19:46但不知为何完全缺少CSS样式。
19:49当我尝试另一个项目时,
19:50也是这种情况。
19:52用户界面完全没有任何CSS样式。
19:55好了,
19:56这就是对Gemini CLI的快速介绍。
19:58我们研究了如何开始使用它,
20:00还了解了命令选项,
20:02以及如何配置Gemini CLI。
20:04然后,
20:04我们通过实际操作,
20:06尝试理解了一个现有的项目,
20:08过程还算顺利。
20:09接着,
20:10我们尝试使用单个提示来创建一个任务应用,
20:13虽然缺少了一些CSS等元素,
20:16但最终还是生成了一个可以使用的应用。
20:19那么,
20:20我就先结束了这次分享,
20:22下次视频见。
20:22在此之前,
20:24谢谢大家。
评论

推荐视频