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": ["${extensionPath}${/}dist${/}index.js"],
"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