Gemini CLI 自定義命令的妙用

1. 前言
Gemini CLI 是 Google 推出的一個命令行工具,可以讓你通過命令行與 Gemini 模型進行交互。
現(xiàn)在,我的很多編程場景都在使用 Gemini CLI 來完成。用 Gemini CLI 的時候總覺得有點束縛,每個項目只能配一個 gemini.md,想換個場景還得改來改去,太麻煩了!
不像 Cursor 可以配置多條 cursor rule,Gemini CLI 在一個工程中只能配置一條系統(tǒng)提示詞,想設定多種場景的話只能都寫到一個提示詞中。這會導致提示詞效果變差。
功夫不負有心人,在我翻遍了 Gemini CLI 的官方文檔后,終于讓我找到了一個完美的解決方案——自定義命令!??
2. 認識一下“自定義命令”
Gemini CLI 提供一系列內(nèi)置命令,幫助用戶管理會話、自定義界面以及控制行為。這些命令以斜杠 / 開頭。
Gemini CLI 內(nèi)置了一系列命令,如/help、 /clear、 /copy 等。
官方文檔是這么說的 ??: 自定義命令允許用戶在 Gemini CLI 中將最常用的提示保存并重復使用為個人快捷方式。您可以創(chuàng)建特定于單個項目的命令,或全局適用于所有項目的命令,從而簡化工作流程并確保一致性。
我們可以注意到, 利用自定義命令可以管理我們的提示詞,正符合我的需求,因此我決定使用自定義命令來實現(xiàn)靈活的系統(tǒng)提示詞。
3. 三步創(chuàng)建你的第一個命令
Gemini CLI 從兩個位置發(fā)現(xiàn)命令,并按特定順序加載:
- 用戶命令(全局): 位于 ~/.gemini/commands/。這些命令在用戶正在處理的任何項目中都可用。
- 項目命令(局部): 位于 /.gemini/commands/。這些命令特定于當前項目,可以檢入版本控制以便與團隊共享。
如果項目目錄中的命令與用戶目錄中的命令同名,將始終使用項目命令。這允許項目使用特定于項目的版本覆蓋全局命令。
命令的名稱由其相對于 commands 目錄的文件路徑?jīng)Q定。子目錄用于創(chuàng)建命名空間命令,路徑分隔符(/ 或 \)將轉換為冒號(:)。
~/.gemini/commands/test.toml中的文件變?yōu)槊?/test。<project>/.gemini/commands/git/commit.toml中的文件變?yōu)槊臻g命令/git:commit。
自定義命令定義文件必須以 TOML 格式編寫,并使用.toml 文件擴展名。
prompt(字符串):執(zhí)行命令時將發(fā)送給 Gemini 模型的提示。這可以是單行或多行字符串。description(字符串):命令功能的簡短單行描述。此文本將顯示在/help菜單中命令旁邊。如果省略此字段,將根據(jù)文件名生成通用描述。
下面我給一個示例,可以簡單的看一下
description = "需求拆解助手"
prompt = "請幫我拆解這個需求: {{args}} "
添加該文件后,就可以在 Gemini 中調(diào)用 /prdspliter 命令來拆解需求。
{{args}} 是 Gemini CLI 的占位符,表示用戶在命令輸入的全部內(nèi)容。如果做簡單的提示詞管理,目前就已經(jīng)足夠了。
但是如果想做更復雜的邏輯,比如結合命令行工具等,應該怎么做呢?
4. 終極玩法:讓自定義命令與Shell聯(lián)動起來
您可以通過直接在 prompt 中執(zhí)行 shell 命令并注入其輸出來使命令具有動態(tài)性。這非常適合從本地環(huán)境收集上下文,例如讀取文件內(nèi)容或檢查 Git 狀態(tài)。
當自定義命令嘗試執(zhí)行 shell 命令時,Gemini CLI 現(xiàn)在會提示您確認,然后才繼續(xù)。這是一種安全措施,可確保只運行預期的命令。
工作原理:
- 注入命令: 在 prompt 中使用 !{...} 語法指定命令應在何處運行以及其輸出的注入位置。
- 確認執(zhí)行: 當您運行命令時,將出現(xiàn)一個對話框,列出 prompt 想要執(zhí)行的 shell 命令。
- 授予權限: 您可以選擇:
- 只允許一次: 命令將只運行這一次。
- 本會話始終允許: 命令將被添加到當前 CLI 會話的臨時允許列表中,不再需要再次確認。* 否: 取消 shell 命令的執(zhí)行。
CLI 仍然遵循全局的 excludeTools 和 coreTools 設置。
示例 (git/commit.toml):
此命令獲取暫存的 Git 差異,并用它來要求模型編寫提交消息。
# 文件路徑: <project>/.gemini/commands/git/commit.toml
# 調(diào)用方式: /git:commit
description = "Generates a Git commit message based on staged changes."
# The prompt uses !{...} to execute the command and injectits output.
prompt = """
Please generate a Conventional Commit message based on the following git diff:
```diff
!{git diff --staged}
```
"""
當用戶運行 /git:commit 時,CLI 首先執(zhí)行 git diff --staged,然后用該命令的輸出替換 !{git diff --staged},最后將完整的提示發(fā)送給模型。
小結
總而言之,Gemini CLI 的自定義命令絕對是個值得深挖的功能,它能極大地提升我們的工作流效率。
為了方便大家,我已經(jīng)把文中提到的 git:commit 和其他幾個我私藏的實用命令都整理好了,放到了 GitHub 倉庫里。
gemini-cli-commands (github.com/codemilesto…)
到此這篇關于Gemini CLI 自定義命令的妙用的文章就介紹到這了,更多相關Gemini CLI 自定義命令內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持腳本之家!
相關文章
很多編程場景都在使用 Gemini CLI 來完成,但是總覺得有點束縛,GeminiCLI自定義命令妙用提升工作流效率,通過自定義命令實現(xiàn)靈活的系統(tǒng)提示詞,支持復雜邏輯與Shell聯(lián)動,感興2026-07-02
本文主要介紹了Gemini code cli使用場景小結,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2026-07-01
使用GEMINI.md文件提升Gemini CLI開發(fā)效率
Gemini CLI作為開源AI助手工具,將強大的Gemini模型直接帶入您的終端,而GEMINI.md文件正是這個項目的核心配置文檔,它指導著整個開發(fā)流程的優(yōu)化和規(guī)范化,下面就來詳細的介2026-07-01
Gemini 3提供多種使用方式:普通用戶可通過官網(wǎng)或移動應用訪問,開發(fā)者可使用API或CLI集成,本文就來詳細的介紹一下 Gemini 3的使用,感興趣的可以了解一下2026-06-30
Gemini CLI (@google/gemini-cli) 是 Google 推出的開源命令行 AI 代理,本文就來詳細的介紹一下Gemini CLI 使用小結,具有一定的參考價值,感興趣的可以了解一下2026-06-30
token的加密的核心作用就是保護數(shù)據(jù)安全,讓信息在傳輸或存儲過程中不被竊取,下面這篇文章主要介紹了如何通過兩個例子幫你快速理解什么是Token的相關資料,文中介紹的非常詳2026-06-30
2026年三款AI辦公助手ToDesk AI、QClaw、Kimi到底怎么選(真實測試)
在數(shù)字化辦公時代,AI辦公助手正成為職場人士提升工作效率的得力助手,這篇文章主要介紹了2026年三款AI辦公助手ToDesk AI、QClaw、Kimi到底怎么選的相關資料,文中通過圖文介2026-06-26
這段文章詳細介紹了在Visual Studio Code中安裝和使用TRAE插件,包括登錄、使用自動代碼補全、代碼生成、代碼注釋和智能問答等功能,通過TRAE插件,開發(fā)者可以大幅提升編程效2026-06-25
AI Agent Harness它是一套系統(tǒng)化工程方法論,專門設計、搭建、運維這套 AI 管控運行體系,解決 AI 干活不穩(wěn)定、越權、失憶、失控問題,簡單來說它讓AI智能體既跑得快,又跑2026-06-25
kimi 2.5接入VScode copilot完整圖文教程
VSCode Copilot一直不支持使用來接入任意模型,默認的模型只有幾個免費模型寫代碼,下面這篇文章主要介紹了kimi 2.5接入VScode copilot的相關資料,文中通過代碼介紹的非常詳2026-06-24











