Gemini CLI 官方二维码

CLI 命令

Gemini CLI 支持多个内置命令,可帮助您管理会话、自定义界面和控制其行为。这些命令以正斜杠 (/)、at 符号 (@) 或感叹号 (!) 为前缀。

斜杠命令 (/)

斜杠命令提供对 CLI 本身的元级别控制。

  • /bug

    • 说明: 提交有关 Gemini CLI 的问题。默认情况下,该问题在 Gemini CLI 的 GitHub 存储库中提交。您在 /bug 后输入的字符串将成为要提交的错误的标题。可以使用 .gemini/settings.json 文件中的 bugCommand 设置修改默认的 /bug 行为。
  • /chat

    • 说明: 保存和恢复对话历史记录,以便以交互方式分支对话状态,或从以后的会话中恢复以前的状态。
    • 子命令:
      • save
        • 说明: 保存当前对话历史记录。您必须添加一个 <tag> 来标识对话状态。
        • 用法: /chat save <tag>
      • resume
        • 说明: 从以前的保存中恢复对话。
        • 用法: /chat resume <tag>
      • list
        • 说明: 列出可用于恢复聊天状态的标签。
  • /clear

    • 说明: 清除终端屏幕,包括 CLI 中可见的会话历史记录和回滚。底层的会话数据(用于历史记录调用)可能会根据具体实现而保留,但可视显示将被清除。
    • 键盘快捷键: 随时按 Ctrl+L 执行清除操作。
  • /compress

    • 说明: 用摘要替换整个聊天上下文。这样可以节省用于未来任务的令牌,同时保留已发生事件的高级摘要。
  • /editor

    • 说明: 打开一个用于选择受支持的编辑器的对话框。
  • /help (或 /?)

    • 说明: 显示有关 Gemini CLI 的帮助信息,包括可用命令及其用法。
  • /mcp

    • 说明: 列出已配置的模型上下文协议 (MCP) 服务器、其连接状态、服务器详细信息和可用工具。
    • 子命令:
      • descdescriptions
        • 说明: 显示 MCP 服务器和工具的详细说明。
      • nodescnodescriptions
        • 说明: 隐藏工具说明,仅显示工具名称。
      • schema
        • 说明: 显示工具配置参数的完整 JSON 模式。
    • 键盘快捷键: 随时按 Ctrl+T 在显示和隐藏工具说明之间切换。
  • /memory

    • 说明: 管理 AI 的指令上下文(从 GEMINI.md 文件加载的分层内存)。
    • 子命令:
      • add
        • 说明: 将以下文本添加到 AI 的内存中。用法:/memory add <要记住的文本>
      • show
        • 说明: 显示从所有 GEMINI.md 文件加载的当前分层内存的完整连接内容。这使您可以检查提供给 Gemini 模型的指令上下文。
      • refresh
        • 说明: 从在配置位置(全局、项目/祖先和子目录)中找到的所有 GEMINI.md 文件重新加载分层指令内存。此命令使用最新的 GEMINI.md 内容更新模型。
      • 注意: 有关 GEMINI.md 文件如何为分层内存做出贡献的更多详细信息,请参阅 CLI 配置文档
  • /restore

    • 说明: 将项目文件恢复到执行工具之前的状态。这对于撤消工具所做的文件编辑特别有用。如果运行时没有工具调用 ID,它将列出可供恢复的检查点。
    • 用法: /restore [tool_call_id]
    • 注意: 仅当使用 --checkpointing 选项调用 CLI 或通过设置进行配置时才可用。有关更多详细信息,请参阅检查点文档
  • /stats

    • 说明: 显示当前 Gemini CLI 会话的详细统计信息,包括令牌使用情况、缓存的令牌节省(如果可用)和会话持续时间。注意:缓存的令牌信息仅在正在使用缓存令牌时显示,这在 API 密钥身份验证中发生,但目前在 OAuth 身份验证中不发生。
  • /theme

    • 说明: 打开一个对话框,让您更改 Gemini CLI 的可视主题。
  • /auth

    • 说明: 打开一个对话框,让您更改身份验证方法。
  • /about

    • 说明: 显示版本信息。提交问题时请分享此信息。
  • /tools

    • 说明: 显示 Gemini CLI 中当前可用的工具列表。
    • 子命令:
      • descdescriptions
        • 说明: 显示每个工具的详细说明,包括每个工具的名称及其提供给模型的完整说明。
      • nodescnodescriptions
        • 说明: 隐藏工具说明,仅显示工具名称。
  • /quit (或 /exit)

    • 说明: 退出 Gemini CLI。

At 命令 (@)

At 命令用于将文件或目录的内容包含在您对 Gemini 的提示中。这些命令包括 git 感知过滤。

  • @<path_to_file_or_directory>

    • 说明: 将指定文件或文件的内容注入到当前提示中。这对于询问有关特定代码、文本或文件集合的问题很有用。
    • 示例:
      • @path/to/your/file.txt 解释此文本。
      • @src/my_project/ 总结此目录中的代码。
      • 这个文件是关于什么的? @README.md
    • 详细信息:
      • 如果提供了单个文件的路径,则读取该文件的内容。
      • 如果提供了目录的路径,则该命令会尝试读取该目录和任何子目录中文件的内容。
      • 路径中的空格应使用反斜杠进行转义(例如,@My\ Documents/file.txt)。
      • 该命令在内部使用 read_many_files 工具。在发送到 Gemini 模型之前,会获取内容并将其插入到您的查询中。
      • Git 感知过滤: 默认情况下,会排除 git 忽略的文件(如 node_modules/dist/.env.git/)。可以通过 fileFiltering 设置更改此行为。
      • 文件类型: 该命令适用于基于文本的文件。虽然它可能会尝试读取任何文件,但二进制文件或非常大的文件可能会被底层的 read_many_files 工具跳过或截断,以确保性能和相关性。该工具会指示是否跳过了文件。
    • 输出: CLI 将显示一条工具调用消息,指示已使用 read_many_files,以及一条详细说明状态和已处理路径的消息。
  • @ (单独的 at 符号)

    • 说明: 如果您键入一个单独的 @ 符号而没有路径,则查询将按原样传递给 Gemini 模型。如果您在提示中专门讨论 @ 符号,这可能很有用。

@ 命令的错误处理

  • 如果在 @ 之后指定的路径未找到或无效,将显示一条错误消息,并且查询可能不会发送到 Gemini 模型,或者将在没有文件内容的情况下发送。
  • 如果 read_many_files 工具遇到错误(例如,权限问题),也会报告此错误。

Shell 模式和直通命令 (!)

! 前缀可让您直接从 Gemini CLI 中与系统的 shell 进行交互。

  • !<shell_command>

    • 说明: 在系统的默认 shell 中执行给定的 <shell_command>。命令的任何输出或错误都会显示在终端中。
    • 示例:
      • !ls -la (执行 ls -la 并返回到 Gemini CLI)
      • !git status (执行 git status 并返回到 Gemini CLI)
  • ! (切换 shell 模式)

    • 说明: 单独键入 ! 可切换 shell 模式。
      • 进入 shell 模式:
        • 激活后,shell 模式使用不同的颜色和“Shell 模式指示器”。
        • 在 shell 模式下,您键入的文本将直接解释为 shell 命令。
      • 退出 shell 模式:
        • 退出后,UI 将恢复其标准外观,并恢复正常的 Gemini CLI 行为。
  • 所有 ! 用法的注意事项: 您在 shell 模式下执行的命令具有与直接在终端中运行它们相同的权限和影响。