CLI 命令
Gemini CLI 支持多个内置命令,可帮助您管理会话、自定义界面和控制其行为。这些命令以正斜杠 (/
)、at 符号 (@
) 或感叹号 (!
) 为前缀。
斜杠命令 (/
)
斜杠命令提供对 CLI 本身的元级别控制。
-
/bug
- 说明: 提交有关 Gemini CLI 的问题。默认情况下,该问题在 Gemini CLI 的 GitHub 存储库中提交。您在
/bug
后输入的字符串将成为要提交的错误的标题。可以使用.gemini/settings.json
文件中的bugCommand
设置修改默认的/bug
行为。
- 说明: 提交有关 Gemini CLI 的问题。默认情况下,该问题在 Gemini CLI 的 GitHub 存储库中提交。您在
-
/chat
- 说明: 保存和恢复对话历史记录,以便以交互方式分支对话状态,或从以后的会话中恢复以前的状态。
- 子命令:
save
- 说明: 保存当前对话历史记录。您必须添加一个
<tag>
来标识对话状态。 - 用法:
/chat save <tag>
- 说明: 保存当前对话历史记录。您必须添加一个
resume
- 说明: 从以前的保存中恢复对话。
- 用法:
/chat resume <tag>
list
- 说明: 列出可用于恢复聊天状态的标签。
-
/clear
- 说明: 清除终端屏幕,包括 CLI 中可见的会话历史记录和回滚。底层的会话数据(用于历史记录调用)可能会根据具体实现而保留,但可视显示将被清除。
- 键盘快捷键: 随时按 Ctrl+L 执行清除操作。
-
/compress
- 说明: 用摘要替换整个聊天上下文。这样可以节省用于未来任务的令牌,同时保留已发生事件的高级摘要。
-
/editor
- 说明: 打开一个用于选择受支持的编辑器的对话框。
-
/help
(或/?
)- 说明: 显示有关 Gemini CLI 的帮助信息,包括可用命令及其用法。
-
/mcp
- 说明: 列出已配置的模型上下文协议 (MCP) 服务器、其连接状态、服务器详细信息和可用工具。
- 子命令:
desc
或descriptions
:- 说明: 显示 MCP 服务器和工具的详细说明。
nodesc
或nodescriptions
:- 说明: 隐藏工具说明,仅显示工具名称。
schema
:- 说明: 显示工具配置参数的完整 JSON 模式。
- 键盘快捷键: 随时按 Ctrl+T 在显示和隐藏工具说明之间切换。
-
/memory
- 说明: 管理 AI 的指令上下文(从
GEMINI.md
文件加载的分层内存)。 - 子命令:
add
:- 说明: 将以下文本添加到 AI 的内存中。用法:
/memory add <要记住的文本>
- 说明: 将以下文本添加到 AI 的内存中。用法:
show
:- 说明: 显示从所有
GEMINI.md
文件加载的当前分层内存的完整连接内容。这使您可以检查提供给 Gemini 模型的指令上下文。
- 说明: 显示从所有
refresh
:- 说明: 从在配置位置(全局、项目/祖先和子目录)中找到的所有
GEMINI.md
文件重新加载分层指令内存。此命令使用最新的GEMINI.md
内容更新模型。
- 说明: 从在配置位置(全局、项目/祖先和子目录)中找到的所有
- 注意: 有关
GEMINI.md
文件如何为分层内存做出贡献的更多详细信息,请参阅 CLI 配置文档。
- 说明: 管理 AI 的指令上下文(从
-
/restore
-
/stats
- 说明: 显示当前 Gemini CLI 会话的详细统计信息,包括令牌使用情况、缓存的令牌节省(如果可用)和会话持续时间。注意:缓存的令牌信息仅在正在使用缓存令牌时显示,这在 API 密钥身份验证中发生,但目前在 OAuth 身份验证中不发生。
-
- 说明: 打开一个对话框,让您更改 Gemini CLI 的可视主题。
-
/auth
- 说明: 打开一个对话框,让您更改身份验证方法。
-
/about
- 说明: 显示版本信息。提交问题时请分享此信息。
-
- 说明: 显示 Gemini CLI 中当前可用的工具列表。
- 子命令:
desc
或descriptions
:- 说明: 显示每个工具的详细说明,包括每个工具的名称及其提供给模型的完整说明。
nodesc
或nodescriptions
:- 说明: 隐藏工具说明,仅显示工具名称。
-
/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 命令。
- 退出 shell 模式:
- 退出后,UI 将恢复其标准外观,并恢复正常的 Gemini CLI 行为。
- 进入 shell 模式:
- 说明: 单独键入
-
所有
!
用法的注意事项: 您在 shell 模式下执行的命令具有与直接在终端中运行它们相同的权限和影响。