Trusted Folders(受信任目录)

Trusted Folders 是一项安全设置,用于控制哪些项目可以使用 Gemini CLI 的全部能力。启用后,CLI 会在加载项目级配置之前征求你的同意,从而阻止潜在的恶意代码运行。

启用功能

默认情况下该功能关闭,需要在设置中手动开启。将以下内容添加到用户级 settings.json

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

工作方式:信任对话框

启用后,当你第一次在某个目录下运行 Gemini CLI 时,会弹出提示:

  • Trust folder:信任当前目录(例如 my-project)。
  • Trust parent folder:信任父目录(例如 safe-projects),其所有子目录都会自动获得信任,适合全部安全项目集中存放的情况。
  • Don’t trust:标记为不受信任,此时 CLI 会进入受限的“安全模式”。

选择会写入 ~/.gemini/trustedFolders.json,同一目录只会询问一次。

为什么信任很重要:不受信任目录的影响

当目录被标记为“不受信任”时,Gemini CLI 会启用安全模式,以下能力会被禁用:

  1. 忽略工作区设置:不会加载项目内的 .gemini/settings.json,因此无法使用项目自定义工具或其他高风险配置。
  2. 忽略环境变量:项目中的 .env 文件不会被读取。
  3. 扩展管理受限:无法安装、更新或卸载扩展。
  4. 工具自动批准禁用:即使全局开启了自动批准,也会在执行工具前请求确认。
  5. 不自动加载记忆:不会根据本地设置自动加载上下文文件。

只有在信任目录后,CLI 才会恢复完整功能。

管理信任设置

若需修改或查看信任状态,可以:

  • 调整当前目录信任级别:在 CLI 中执行 /permissions,会出现同样的交互式对话框,可重新选择。
  • 查看全部规则:打开 ~/.gemini/trustedFolders.json,即可查看所有受信任与不受信任目录。

信任判定流程(进阶)

了解判定顺序有助于故障排查:

  1. IDE 信号:如使用了IDE 集成,CLI 会先询问 IDE 的信任状态,IDE 的结果优先级最高。
  2. 本地信任文件:若没有 IDE 信号,则读取 ~/.gemini/trustedFolders.json