跳转到内容

可信文件夹

可信文件夹功能是一项安全设置,让您可以控制哪些项目能够使用 Gemini CLI 的全部功能。它通过在 CLI 加载任何项目特定配置之前要求您批准文件夹,防止潜在恶意代码的运行。

可信文件夹功能默认是禁用的。要使用它,您必须在设置中先启用它。

在您的用户 settings.json 文件中添加以下内容:

{
"security": {
"folderTrust": {
"enabled": true
}
}
}

一旦启用该功能,当您首次从文件夹运行 Gemini CLI 时,会自动出现一个对话框,提示您做出选择:

  • 信任文件夹:授予当前文件夹完全信任(例如,my-project)。
  • 信任父文件夹:授予父目录信任(例如,safe-projects),自动信任其所有子目录。如果您将所有安全项目保存在一个地方,这很有用。
  • 不信任:将文件夹标记为不信任。CLI 将在受限的“安全模式”下运行。

您的选择保存在一个中央文件(~/.gemini/trustedFolders.json)中,因此对于每个文件夹您只需被询问一次。

为什么信任很重要:不受信任工作空间的影响

Section titled “为什么信任很重要:不受信任工作空间的影响”

当文件夹是不信任的,Gemini CLI 以受限的“安全模式”运行以保护您。在这种模式下,以下功能被禁用:

  1. 工作空间设置被忽略:CLI 将不会从项目中加载 .gemini/settings.json 文件。这防止加载自定义工具和其他潜在危险配置。

  2. 环境变量被忽略:CLI 将不会从项目中加载任何 .env 文件。

  3. 扩展管理受限:您无法安装、更新或卸载扩展。

  4. 工具自动接受功能已禁用:即使您已全局启用自动接受功能,在运行任何工具之前,系统都会提示您。

  5. 自动内存加载已禁用:CLI 不会自动从本地设置中指定的目录将文件加载到上下文中。

  6. MCP 服务器无法连接:CLI 不会尝试连接到任何 Model Context Protocol (MCP) 服务器。

  7. 自定义命令未加载:CLI 不会从 .toml 文件加载任何自定义命令,包括项目特定和全局用户命令。

授予文件夹信任可以解锁该工作空间的 Gemini CLI 的全部功能。

如果您需要更改决定或查看所有设置,您有几个选项:

  • 更改当前文件夹的信任:从 CLI 内运行 /permissions 命令。这将弹出相同的交互式对话框,允许您更改当前文件夹的信任级别。

  • 查看所有信任规则:要查看所有受信任和不受信任的文件夹规则的完整列表,您可以检查主目录中的 ~/.gemini/trustedFolders.json 文件的内容。

对于高级用户,了解信任是如何确定的操作顺序很有帮助:

  1. IDE 信任信号:如果您正在使用 IDE 集成,CLI 首先会询问 IDE 工作空间是否受信任。IDE 的响应具有最高优先级。

  2. 本地信任文件:如果 IDE 没有连接,CLI 会检查中央 ~/.gemini/trustedFolders.json 文件。