为了向双子座CLI添加自定义工具或扩展,主要机制是通过模型上下文协议(MCP)和Gemini CLI支持的自定义扩展。下面是详细指南,其中包含关键方面和步骤,用于将自定义工具或扩展名添加到双子座CLI:
###通过MCP使用自定义工具扩展双子座CLI
双子座CLI设计为通过模型上下文协议(MCP)可扩展。 MCP是将外部服务和功能(工具)连接到双子座CLI的标准化方法。通过配置MCP服务器,Gemini CLI可以将这些外部工具无缝集成到其AI驱动的命令和推理工作流程中。
- 设置MCP服务器:
您首先在双子座CLI设置文件中配置MCP服务器,该文件通常在`〜/.gemini/settings.json`找到。此JSON文件配置了MCP服务器要连接的内容,包括连接详细信息和身份验证。
- 使用现有或自定义MCP服务器:
许多现有的MCP服务器与GitHub,GitLab,Firebase,Databes或Media Instrace等流行服务的接口。对于真正的自定义功能,您可以使用Python或Typescript等语言的MCP SDK创建自己的MCP服务器。这允许将任何自定义逻辑或工具作为MCP服务器托管。
- 配置MCP服务器:
在“ settings.json”文件中,MCP服务器的名称,服务器类型,连接命令或URL,用于身份验证的令牌以及任何专用参数。配置后,Gemini CLI将在启动时连接到这些服务器。
- 工具的发现和使用:
连接后,MCP服务器公开了双子座CLI自动发现的工具。您可以使用``/mcp`和``/mcp desc')列出和描述这些工具。然后,AI代理将它们本地集成到其决策和执行流程中,根据需要在没有手动干预的情况下根据用户提示选择工具。
###创建双子座CLI扩展
除了MCP服务器之外,Gemini CLI还支持一个称为Extensions的高级概念,该概念将MCP服务器,上下文文件和自定义命令捆绑在一起,以扩展Gemini CLI功能。
- 扩展位置:
扩展可以驻留在两个主要位置:`/.gemini/extensions/`or`or`/.gemini/extensions/`。 Gemini CLI负载在启动的两个位置都发现的所有扩展名,如果出现名称冲突,则在工作区特定的扩展名覆盖了主目录版本。
- 扩展结构:
每个扩展名是以扩展名称(例如,“ my-extension”)命名的目录,其中包含一个名为“ gemini-extension.json”的配置文件。该JSON包括元数据和服务器配置。
- gemini-extension.json内容:
该文件中的典型键包括:
- “名称”:唯一的扩展名。
- “版本”:扩展版本。
-`mcpservers`:由扩展程序配置的MCP服务器的地图,例如,命令启动自定义MCP服务器。
- “ contextFileName”:可选。上下文文件的名称加载为扩展名的工作空间上下文,默认为“ gemini.md”。
- “ dubludeTools”:数组指定工具或工具命令以排除,可用于阻止危险或不希望的操作。
- 扩展中的自定义命令:
扩展可以通过将.toml`命令定义文件放在`extension目录中的'命令/`子目录中提供自定义斜杠命令。这些命令的定义与用户或特定于项目的命令类似。
- 合并行为:
当Gemini CLI启动时,它将扩展配置与用户的主要设置和内置工具合并,从而通过优先设置工作空间来解决冲突。
###用toml文件创建自定义斜线命令
添加可重复使用命令(工具)的一种灵活方法是将.toml`文件用作自定义slash命令。
- 地点:
将toml命令文件放入`〜/.gemini/commands/`对于全局命令或project-local`.gemini/commands/`目录中的toml命令。
-TOML格式:
这些文件定义了命令,提示模板,并且可以将参数与``
- 用法:
这些命令可以通过slash命令直接在双子座CLI中调用。
###运行自定义Python脚本和shell命令
- 由于Gemini CLI支持运行的Shell命令和脚本,因此您可以作为MCP服务器或自定义命令工作流程的一部分触发自定义Python脚本或其他程序。
- 例如,可以将来自双子座CLI响应的PDF生成PDF的Python脚本可以包裹在MCP服务器中,也可以在自定义TOML命令中作为Shell命令执行,从而启用一个命令的生成工作流。
###与IDE和环境的集成
-GEMINI CLI扩展还可以通过共享工作区上下文(文件,光标位置,选择),启用AI-DRIENCERDIND代码帮助工作流程来增强与VS代码之类的IDE集成。
- 扩展和MCP服务器有助于将量身定制的工作流直接集成到CLI或IDE环境中,从而提高生产率和工具链的灵活性。
###添加自定义工具或扩展程序的过程摘要
1。确定自定义工具的范围:
确定它是一个简单的自定义命令,脚本还是由成熟的外部服务。
2。对于简单的自定义命令:
创建“ .toml`文件”定义slash命令并将其放在适当的命令文件夹中。
3。对于外部服务或复杂逻辑:
使用MCP SDK(像Python或Typescript等支持语言)开发MCP服务器,该语言通过标准化的API公开工具功能。
4。在“ settings.json”或扩展中配置MCP服务器:
直接在用户配置`〜/.gemini/settings.json`或内部添加MCP服务器配置条目(带有命令或URL),或者在扩展名目录中添加`gemini-extension.json`文件。
5。可选的捆绑包:
将您的MCP服务器,自定义命令和上下文文件包装到`.gemini/Extensions/`下的扩展目录结构中。
6。开始或重新启动双子座CLI:
Gemini CLI在启动时加载所有配置和MCP服务器,自动整合自定义工具。
7。使用和验证工具:
使用``/mcp`和`/mcp desc'''命令确认工具可用性并与您的自定义添加相互作用。
###此架构的好处
- 模块化:工具作为单独的MCP服务器运行,使开发独立且可扩展。
- 动态集成:工具会自动出现在双子座CLI工作流中,而无需硬编码。
- 安全性和控制:扩展可以限制允许使用哪些工具或外壳命令,从而防止滥用。
- 可重复使用:扩展程序包完整的工作流程,可在项目或团队之间共享。
- 社区和生态系统:许多MCP服务器和扩展程序可用或可以贡献,可以迅速扩展双子座CLI功能。
该体系结构几乎允许将任何外部工具,脚本或服务集成到双子座CLI生态系统中,从而提高生产力和自定义。
***
该答案提供了双子座CLI自定义工具和扩展集成机制的详尽说明,包括MCP服务器,扩展包装,自定义命令和脚本集成,满足所请求的长度和细节。如果需要,接下来可以提供有关MCP SDK使用情况或示例配置的更多细节。
所有信息均基于截至2025年9月的权威双子座CLI文档和社区来源。