AI 编程教程中文版
官方教程中文版CLI 工作流

命令系统

Gemini CLI 命令系统:slash commands、@ 文件引用、! Shell 命令,以及常用 /help、/memory、/mcp、/commands、/chat、/restore。

Gemini CLI 的交互命令主要有三类:/ 控制 CLI 本身,@ 把文件或目录加入上下文,! 直接执行 Shell 命令。三者不要混用:上下文用 @,会话和配置用 /,系统命令才用 !

最低掌握:会用 /help 查能力、用 @ 精确引用文件、用 !git status 读取状态、用 /memory 重新加载上下文、用 /mcp 看外部工具是否可用。

flowchart LR
    Slash["/ slash commands"] --> Control["控制会话、配置、MCP、记忆"]
    At["@ file / dir"] --> Context["注入文件和目录上下文"]
    Bang["! shell"] --> Shell["直接执行系统命令"]

    style Slash fill:#dbeafe,stroke:#3b82f6
    style At fill:#dcfce7,stroke:#22c55e
    style Bang fill:#fef3c7,stroke:#f59e0b

1. slash commands

Slash commands 是 CLI 控制面。它们不等于给模型的业务需求,而是用来管理项目上下文、切换认证、控制工具、查看用量、恢复 checkpoint、重载配置。下表按"新手最先用 → 进阶"分组,完整 38 个命令以官方 Commands reference 为准。

起步必学(第一次启动后最先用这几条)

命令用途
/init帮你给当前项目自动生成首份 GEMINI.md(第一次进新项目最该用)
/help列出当前可用命令
/about查版本信息(提交 issue 时附带)
/quit退出 Gemini CLI(也可加 --delete 永久删除历史和临时文件)
/clear清屏
/copy复制最后一次输出到系统剪贴板

模型与用量

命令用途
/model切换或查看当前模型(Auto / Pro / Flash 等)
/stats查看本次会话的 token 用量、模型分布、限额信息
/upgrade打开 Gemini Code Assist 升级页

上下文与配置

命令用途
/memory show查看当前会话加载了哪些 GEMINI.md 层级
/memory reload / /memory refresh改完 GEMINI.md 后重新加载(不重启会话)
/compress把整段聊天上下文压成摘要(长会话省 token)
/directory管理多目录 workspace
/settings打开 settings 编辑器
/auth切换认证方式

工具与权限

命令用途
/tools查看当前会话有哪些工具可用
/permissions管理 folder trust 等权限
/policies管理 policy 规则
/plan切换 Plan Mode(只读规划),并查看当前计划

扩展生态

命令用途
/mcp list / /mcp reload / /mcp auth <name>查/重载 MCP server,按 server 触发 OAuth
/extensions管理 extensions
/agents管理本地和远程 subagents
/skills管理 Agent Skills
/hooks管理生命周期 hooks
/commands管理自定义 slash commands

会话管理 / 排错

命令用途
/chat/resume浏览、保存、恢复历史会话(两条命令等价)
/restore文件改坏了用它回到 checkpoint
/rewind在对话历史里向后滚
/ide管理 IDE 集成
/setup-github设置 GitHub Actions
/bug按官方流程提交问题
/docs在浏览器打开官方 docs
/privacy显示当前认证方式对应的 Privacy Notice

界面调整(可选)

命令用途
/theme / /editor / /vim / /terminal-setup / /shellsUI / 编辑器 / vim 模式 / 多行键位 / 后台进程视图

版本差异用 /help 收口:Gemini CLI 仍在快速迭代,命令可能新增或别名变化。教程给使用逻辑,完整列表以当前 /help 输出和官方 Commands reference 为准

2. @ 文件引用

典型写法:

  • @src/components/UserProfile.tsx 解释这个组件如何处理 user data
  • @src/types/User.ts @src/components/UserProfile.tsx 帮我检查类型是否一致
  • @src/utils/ 检查这个目录里是否还有 deprecated API

@ 适合你已经知道路径时强制把文件放进上下文。如果不知道路径,可以直接让 Gemini CLI 先找。

@ 引用目录时要控制范围。不要一上来 @. 或把整个 monorepo 放进去;先指定一个文件、一个子目录或一组强相关文件。上下文越大,越容易浪费 token,也越容易把无关文件带进判断。

3. ! Shell 命令

常见写法包括 !ls -la!git status!npm test

! 执行的命令会把输出放进当前 session,上下文里后续可以引用。输出太大时可能被截断。

! 不是只读按钮! 执行的命令拥有当前 shell 权限。!git status 风险低,!rm -rf、部署命令、数据库迁移、批量格式化和密钥读取风险很高。

4. 使用建议

  • 查 CLI 能力先 /help
  • 修改上下文文件后用 /memory reload/memory refresh
  • 接 MCP 后用 /mcp list 确认工具是否加载。
  • 大改前先 /chat save <tag> 或启用 checkpoint。
  • Shell 命令默认要确认,不要长期放开高风险命令。

一个稳的日常顺序是:

  1. @ 指定文件。
  2. 让 Gemini CLI 只读解释。
  3. /memory show/memory reload 确认规则。
  4. !git status!npm test 获取事实。
  5. 再授权小范围修改。

5. 接下来去哪

官方来源

本页目录