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. 接下來去哪

官方來源

本頁目錄