探索Google Gemini CLI,强大插件系统使用指南全解析

Google Gemini CLI(命令行界面)的强大插件系统允许用户通过编写自定义脚本或使用现有的插件来扩展Gemini CLI的功能。以下是如何使用Gemini CLI插件系统的基本步骤:
1. "安装Gemini CLI": 首先,确保你已经安装了Gemini CLI。如果还没有安装,可以从Google的官方网站下载并安装。
2. "查找和安装插件": - 访问Google Gemini CLI的插件仓库或官方网站,查找可用的插件。 - 下载你需要的插件,并按照官方文档的指示进行安装。
3. "编写自定义插件": 如果现有的插件无法满足你的需求,你可以编写自定义插件。以下是一个简单的自定义插件示例:
```python import click
@click.command() def my_custom_command(): click.echo("Hello from my custom Gemini CLI plugin!")
if __name__ == '__main__': my_custom_command() ```
将上述代码保存为一个Python文件,例如`my_plugin.py`。
4. "将自定义插件添加到Gemini CLI": - 将自定义插件文件放置在Gemini CLI的插件目录中。通常,这个目录位于你的用户主目录下的`.gemini_cli/plugins`文件夹中。 - 确保你的插件文件是一个Python模块,并且包含一个或多个命令。
5. "加载和使用插件": - 启动Gemini CLI,并使用`--plugins

相关内容:

Gemini CLI 工具9月29号更新了Gemini CLI 的版本 0.8.X,支持插件扩展安装及个人开发定制的 Gemini CLI 命令工具以适合你自己工作流。同时nanobanana也支持插件,用命令就可以生成图片。

  • Gemini CLI 命令工具 Extensions 为第三方或自研能力的打包机制,用于扩展 Gemini CLI 的工具集与工作流。

功能

  • 安装、卸载、启用、禁用、更新扩展。
  • 提供自定义命令(示例:/deploy、/gcs:sync)。
  • 绑定 MCP 服务器与上下文文件(如 GEMINI.md)。
  • 命名冲突自动加前缀(如 /gcp.deploy)。

常用命令

# 安装/卸载
gemini extensions install <GitHub_URL_or_local_path>
gemini extensions uninstall <name>

# 启用/禁用/更新
gemini extensions enable <name>
gemini extensions disable <name>
gemini extensions update --all

# 模板与本地联调
gemini extensions new ./my-ext custom-commands
gemini extensions link ./my-ext

目录与配置

  • 关键文件:gemini-extension.json
    • name, version
    • mcpServers(启动方式与参数)
    • contextFileName(如 GEMINI.md)
    • excludeTools(禁用工具清单)
  • 自定义命令:置于 commands/ 目录(TOML 格式)。

变量支持

  • 支持 ${extensionPath}、${workspacePath} 等变量,用于路径与运行环境适配。



典型场景

  • DevOps/监控:Grafana、Cloud Run、GKE、Redis、Postgres。
  • 数据检索:Elasticsearch、Pinecone。
  • 研发质量:security、SonarQube。
  • 设计到代码:Figma。

二、如何开发一个Gemini CLI插件:

步骤 1 :最简单的入门方法是使用内置模板。我们将以
Gemini-YC-PHPCodeAnalysisr 一个分析PHP代码的插件示例为基础。运行以下命令来创建一个名为
Gemini-YC-PHPCodeAnalysisr “模板文件”的新目录:

终端窗口

gemini extensions new Gemini-YC-PHPCodeAnalysisr
这将创建具有以下结构的新目录:
Gemini-YC-PHPCodeAnalysisr/
├── index.ts
├── gemini-extension.json
├── package.json
└── tsconfig.json
 扩展程序以包含文件的目录形式存在
 共有4个文件:gemini-extension.json、tsconfig.json、package.json、index.ts

核心配置gemini-extension.json:

{
"name": "Gemini-YC-PHPCodeAnalysis",
"version": "1.0.0",
"mcpServers": {
"nodeServer": {
"command": "ycphp",
"args": ,
"cwd": "${extensionPath}"
}
}
}
name:您的扩展的唯一名称。
version:您的扩展程序的版本。
mcpServers:本节定义一个或多个模型上下文协议 (MCP) 服务器。MCP 服务器用于为模型添加新工具。
command、args、cwd:这些字段指定如何启动服务器。请注意${extensionPath}变量的使用,
Gemini CLI 会将其替换为扩展程序安装目录的绝对路径。这样,无论扩展程序安装在哪里,
它都能正常工作。
index.ts 此文件包含您的 MCP 服务器的源代码。它是一个使用 的简单 Node.js 服务

package.json和tsconfig.json
这些是 TypeScript 项目的标准配置文件。该 package.json文件定义了依赖项和build脚本,
并 tsconfig.json配置了 TypeScript 编译器。

步骤 2:构建并链接扩展

在使用该扩展之前,您需要编译 TypeScript 代码并将该扩展链接到您的 Gemini CLI 安装以进行本地开发。

安装依赖项:
cd my-first-extension
npm install
构建服务器:
npm run build
这将编译index.ts成dist/example.js,这是您在中引用的文件gemini-extension.json。
链接扩展:
该link命令会创建一个从 Gemini CLI 扩展目录到你的开发目录的符号链接。
这意味着你所做的任何更改都会立即生效,无需重新安装。
gemini extensions link .
现在,重启你的 Gemini CLI 会话。新fetch_posts工具将可用。你可以通过输入“fetch posts”来测试它。

步骤 3:添加自定义命令自定义命令提供了一种为复杂提示创建快捷方式的方法。让我们添加一个在代码中搜索模式的命令。

为您的命令组创建一个commands目录和一个子目录:
mkdir -p commands/YCPHP
创建一个名为的文件commands/fs/grep-code.toml:
prompt = """
Please summarize the findings for the pattern `{{args}}`.
Search Results:
!{grep -r {{args}} .}
"""
此命令/YCPHP:grep-code将接受一个参数,grep使用它运行 shell 命令,保存文件后,
重新启动 Gemini CLI。现在您可以运行 /YCPHP 新命令。

最后添加自定义GEMINI.md

您可以添加文件GEMINI.md来管理模型上下文,同时也可以发布到github上让更多的人使用你的插件。

# 从 GitHub 仓库安装
gemini extensions install https://github/com/hiyco/Gemini-YC-PHPCodeAnalysis

目前已经有很多可用的插件已经发布如:

gemini extensions install https://github/com/ChromeDevTools/chrome-devtools-mcp
gemini extensions install https://github/com/gemini-cli-extensions/nanobanana
gemini extensions install https://github/com/redis/mcp-redis
gemini extensions install https://github/com/gemini-cli-extensions/security

关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章