Gemini CLI 自定义命令的妙用

1. 前言
Gemini CLI 是 Google 推出的一个命令行工具,可以让你通过命令行与 Gemini 模型进行交互。
现在,我的很多编程场景都在使用 Gemini CLI 来完成。用 Gemini CLI 的时候总觉得有点束缚,每个项目只能配一个 gemini.md,想换个场景还得改来改去,太麻烦了!
不像 Cursor 可以配置多条 cursor rule,Gemini CLI 在一个工程中只能配置一条系统提示词,想设定多种场景的话只能都写到一个提示词中。这会导致提示词效果变差。
功夫不负有心人,在我翻遍了 Gemini CLI 的官方文档后,终于让我找到了一个完美的解决方案——自定义命令!💡
2. 认识一下“自定义命令”
Gemini CLI 提供一系列内置命令,帮助用户管理会话、自定义界面以及控制行为。这些命令以斜杠 / 开头。
Gemini CLI 内置了一系列命令,如/help、 /clear、 /copy 等。
官方文档是这么说的 📝: 自定义命令允许用户在 Gemini CLI 中将最常用的提示保存并重复使用为个人快捷方式。您可以创建特定于单个项目的命令,或全局适用于所有项目的命令,从而简化工作流程并确保一致性。
我们可以注意到, 利用自定义命令可以管理我们的提示词,正符合我的需求,因此我决定使用自定义命令来实现灵活的系统提示词。
3. 三步创建你的第一个命令
Gemini CLI 从两个位置发现命令,并按特定顺序加载:
- 用户命令(全局): 位于 ~/.gemini/commands/。这些命令在用户正在处理的任何项目中都可用。
- 项目命令(局部): 位于 /.gemini/commands/。这些命令特定于当前项目,可以检入版本控制以便与团队共享。
如果项目目录中的命令与用户目录中的命令同名,将始终使用项目命令。这允许项目使用特定于项目的版本覆盖全局命令。
命令的名称由其相对于 commands 目录的文件路径决定。子目录用于创建命名空间命令,路径分隔符(/ 或 \)将转换为冒号(:)。
~/.gemini/commands/test.toml中的文件变为命令/test。<project>/.gemini/commands/git/commit.toml中的文件变为命名空间命令/git:commit。
自定义命令定义文件必须以 TOML 格式编写,并使用.toml 文件扩展名。
prompt(字符串):执行命令时将发送给 Gemini 模型的提示。这可以是单行或多行字符串。description(字符串):命令功能的简短单行描述。此文本将显示在/help菜单中命令旁边。如果省略此字段,将根据文件名生成通用描述。
下面我给一个示例,可以简单的看一下
description = "需求拆解助手"
prompt = "请帮我拆解这个需求: {{args}} "
添加该文件后,就可以在 Gemini 中调用 /prdspliter 命令来拆解需求。
{{args}} 是 Gemini CLI 的占位符,表示用户在命令输入的全部内容。如果做简单的提示词管理,目前就已经足够了。
但是如果想做更复杂的逻辑,比如结合命令行工具等,应该怎么做呢?
4. 终极玩法:让自定义命令与Shell联动起来
您可以通过直接在 prompt 中执行 shell 命令并注入其输出来使命令具有动态性。这非常适合从本地环境收集上下文,例如读取文件内容或检查 Git 状态。
当自定义命令尝试执行 shell 命令时,Gemini CLI 现在会提示您确认,然后才继续。这是一种安全措施,可确保只运行预期的命令。
工作原理:
- 注入命令: 在 prompt 中使用 !{...} 语法指定命令应在何处运行以及其输出的注入位置。
- 确认执行: 当您运行命令时,将出现一个对话框,列出 prompt 想要执行的 shell 命令。
- 授予权限: 您可以选择:
- 只允许一次: 命令将只运行这一次。
- 本会话始终允许: 命令将被添加到当前 CLI 会话的临时允许列表中,不再需要再次确认。* 否: 取消 shell 命令的执行。
CLI 仍然遵循全局的 excludeTools 和 coreTools 设置。
示例 (git/commit.toml):
此命令获取暂存的 Git 差异,并用它来要求模型编写提交消息。
# 文件路径: <project>/.gemini/commands/git/commit.toml
# 调用方式: /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 首先执行 git diff --staged,然后用该命令的输出替换 !{git diff --staged},最后将完整的提示发送给模型。
小结
总而言之,Gemini CLI 的自定义命令绝对是个值得深挖的功能,它能极大地提升我们的工作流效率。
为了方便大家,我已经把文中提到的 git:commit 和其他几个我私藏的实用命令都整理好了,放到了 GitHub 仓库里。
gemini-cli-commands (github.com/codemilesto…)
到此这篇关于Gemini CLI 自定义命令的妙用的文章就介绍到这了,更多相关Gemini CLI 自定义命令内容请搜索脚本之家以前的文章或继续浏览下面的相关文章,希望大家以后多多支持脚本之家!
相关文章
很多编程场景都在使用 Gemini CLI 来完成,但是总觉得有点束缚,GeminiCLI自定义命令妙用提升工作流效率,通过自定义命令实现灵活的系统提示词,支持复杂逻辑与Shell联动,感兴2026-07-02
本文主要介绍了Gemini code cli使用场景小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2026-07-01
Gemini CLI作为开源AI助手工具,将强大的Gemini模型直接带入您的终端,而GEMINI.md文件正是这个项目的核心配置文档,它指导着整个开发流程的优化和规范化,下面就来详细的介2026-07-01
Gemini 3提供多种使用方式:普通用户可通过官网或移动应用访问,开发者可使用API或CLI集成,本文就来详细的介绍一下 Gemini 3的使用,感兴趣的可以了解一下2026-06-30
Gemini CLI (@google/gemini-cli) 是 Google 推出的开源命令行 AI 代理,本文就来详细的介绍一下Gemini CLI 使用小结,具有一定的参考价值,感兴趣的可以了解一下2026-06-30
token的加密的核心作用就是保护数据安全,让信息在传输或存储过程中不被窃取,下面这篇文章主要介绍了如何通过两个例子帮你快速理解什么是Token的相关资料,文中介绍的非常详2026-06-30
2026年三款AI办公助手ToDesk AI、QClaw、Kimi到底怎么选(真实测试)
在数字化办公时代,AI办公助手正成为职场人士提升工作效率的得力助手,这篇文章主要介绍了2026年三款AI办公助手ToDesk AI、QClaw、Kimi到底怎么选的相关资料,文中通过图文介2026-06-26
这段文章详细介绍了在Visual Studio Code中安装和使用TRAE插件,包括登录、使用自动代码补全、代码生成、代码注释和智能问答等功能,通过TRAE插件,开发者可以大幅提升编程效2026-06-25
AI Agent Harness它是一套系统化工程方法论,专门设计、搭建、运维这套 AI 管控运行体系,解决 AI 干活不稳定、越权、失忆、失控问题,简单来说它让AI智能体既跑得快,又跑2026-06-25
kimi 2.5接入VScode copilot完整图文教程
VSCode Copilot一直不支持使用来接入任意模型,默认的模型只有几个免费模型写代码,下面这篇文章主要介绍了kimi 2.5接入VScode copilot的相关资料,文中通过代码介绍的非常详2026-06-24












最新评论