Extensions
Gemini CLI extensions:安装、启用、禁用、更新、link、本地开发、验证和与 MCP/Skills 的边界。
📖 本篇术语速查表
| 英文 / 缩写 | 中文 | 一句话解释 |
|---|---|---|
| Extensions | 扩展 | 打包 MCP / 命令 / 配置的扩展机制。 |
| 安装管理 | manage | 安装、更新、移除扩展。 |
| 来源信任 | trust | 只装可信来源的扩展。 |
不想读完?把下面这段提示词丢给 AI 帮你跑完——帮你判断该装哪些 Gemini CLI Extensions、怎么安全管理。
你是 Gemini CLI Extensions 顾问。
【角色】
Gemini CLI Extensions 顾问,按最小够用、安全优先的原则给可落地方案,每条结论都落到能照做的步骤或示例,不停留在空泛建议。
【输入】
- 想用扩展解决什么:___
- 内置能否替代:___
- 候选扩展来源和权限:___
- 个人还是团队:___
- 经验水平:___
【工作流程】
1. 判断是否真需要扩展
2. 评估候选扩展来源和权限
3. 给安装管理步骤
4. 处理来源信任
5. 给维护建议
【输出规范】
▌一、是否需要扩展
▌二、扩展评估(来源 / 权限)
▌三、安装管理
▌四、信任 + 维护
【硬约束】
- 内置能解决就不装扩展
- 来源不明或要过高权限的不装
- 权限最小必要,定期回顾
- 不要替我臆测情况或编造不存在的工具能力,信息不全先问清
- 不确定的配置或接口一律以官方文档为准,禁止照搬过时写法Extensions 是 Gemini CLI 的扩展打包机制。官方 CLI cheatsheet 中列出 gemini extensions 的安装、卸载、列表、启用、禁用、更新、link、new、validate 等命令。
Extension 是分发容器,不是单纯 UI 插件。它可能带来 MCP server、hooks、commands、skills 和工具权限,安装前必须审查 manifest 和实际新增能力。
Extension 可以打包 prompts、MCP servers、custom commands、themes、hooks、sub-agents 和 agent skills。它不是单一功能,而是 Gemini CLI 侧的分发容器。
常用命令
常见动作包括安装、列表、启用、禁用、更新、link、本地新建和验证。对应命令是 gemini extensions install <source>、gemini extensions list、gemini extensions enable <name>、gemini extensions disable <name>、gemini extensions update <name>、gemini extensions link <path>、gemini extensions new ./my-extension、gemini extensions validate ./my-extension。
交互会话里也可以用 /extensions list 检查已安装 extension 和状态。开发本地 extension 时,用 gemini extensions link . 比反复安装更适合迭代。
和 MCP / Skills 的边界
| 能力 | 更像什么 |
|---|---|
| MCP | 接外部服务和工具 |
| Skills | 专门任务能力包 |
| Extensions | Gemini CLI 侧扩展分发和集成 |
安装建议
- 先确认来源可信。
- 先看它会启用哪些工具和权限。
- 团队环境统一版本。
- 不要为了“功能多”安装一堆不用的 extension。
| 检查项 | 要看什么 | 风险 |
|---|---|---|
| 来源 | 官方、团队仓库、可信 Git ref | 供应链污染 |
| manifest | MCP、hooks、commands、skills | 隐藏能力 |
| 凭据 | 是否使用 sensitive / keychain | 密钥泄露 |
| 工具权限 | 是否 trusted 或自动批准 | 越权写入 |
| 版本 | 是否锁定版本或 commit | 更新后行为漂移 |
开发建议
复杂 extension 推荐 TypeScript,源码放 src/,构建产物放 dist/,根目录保留 gemini-extension.json。如果包含 MCP server,要给工具参数做输入校验,避免任意命令执行或越权访问文件系统。
需要 API key 的 extension,应使用 manifest 里的 sensitive: true 设置,让密钥进入系统 keychain,并在 CLI 输出中脱敏。不要把 key 写进 GEMINI.md、示例配置或 README。
install 和 link 的分工
开发本地 extension 时用 link,发布给别人或团队固定版本时用 install。link 适合快速迭代,但它指向本地工作目录,容易带入未提交文件;install 更适合可复现环境,但要锁定来源和版本。
团队教程里应写清楚使用哪一种:开发者贡献 extension 用 link,普通用户安装稳定版用 install。不要让新手直接 link 一个未知目录。
安全边界
Extension 能打包很多能力,所以安装前要看 manifest、MCP server、hooks、commands 和 skills。特别关注这些点:
- 是否引入
run_shell_command或本地 MCP server。 - 是否把高风险工具设置成 trusted。
- 是否包含 hooks,可能影响 CLI 行为。
- 是否要求宽泛文件系统或网络权限。
- 是否使用未锁定版本或未知 Git ref。
验收方式
安装后先运行 gemini extensions list 和 /extensions list,确认名称、版本、启用状态。再看 /tools、/commands list、/skills list,确认它实际带来的能力符合预期。卸载或禁用后再检查这些能力是否消失。
接下来去哪
Agents & Skills
工具与 MCP 完成后,继续看 agent skills、subagents 和远程 agent。
MCP 设置
Extension 里打包 MCP 时,仍要遵守 MCP 最小权限。
Security controls
安装第三方 extension 前,继续核对安全和企业控制。