掌握 Gemini CLI:自定义命令 (Slash Commands)
文章目录
- gemini-cli 简介
- 神兵利器:斜杠命令
- 核心概念
- 实战演练:通过命令行替代 prompt 调用 MCP 服务
- 第一步:创建命令文件
- 第二步:定义命令内容
- 第三步:使用新建的新命令
- 总结
对于喜欢在终端里“运指如飞”的开发者来说,命令行工具(CLI)是提升效率的瑞士军刀。今天继续聊一下我常用的 AI 命令行工具:Google 的
gemini-cli,一个能让你在终端里直接与强大 Gemini 模型对话的利器,并且深入探索它最酷的功能之一:
斜杠命令 (Slash Commands)。
gemini-cli 简介
简单来说,gemini-cli 是一个让你通过命令行与 Gemini Pro 模型进行交互的工具。你可以用它来提问、生成代码、翻译文本、总结内容,几乎可以完成你在网页版 Gemini 上做的任何事情。对于开发者而言,这意味着可以将 AI 的能力无缝集成到日常的开发工作流中,无需离开终端这个舒适区。
神兵利器:斜杠命令
gemini-cli 本身已经足够强大,但“斜杠命令”功能将它提升到了一个全新的高度。它允许你通过简单的 .toml 配置文件,创建以斜杠 (/) 开头的全新、个性化的命令。
想象一下,你不再需要每次都输入冗长、重复的 Prompt。通过自定义,你可以将一系列复杂操作封装成一个简洁的命令,例如 /review-pr 或 /generate-test。
优势显而易见:
- 极致的效率: 将日常重复性的任务自动化,一键触发,省时省力。
- 工作流集成: 这是最强大的地方!你可以在 Prompt 中直接嵌入 shell 命令(例如
git log、gh pr diff),让 Gemini 基于实时的工作上下文进行响应,打造真正的自动化流程。 - 团队协作: 在项目仓库中共享一套自定义命令(
.gemini/commands/),可以统一团队规范,降低新成员的上手门槛,提升整个团队的协作效率。 - 个性化定制:
gemini-cli不再是一个通用工具,而是你专属的、高度定制化的 AI 助手。
核心概念
创建斜杠命令主要涉及以下几个概念:
- 配置文件: 命令被定义在
.toml文件中。文件名(不含扩展名)就是你的命令名。例如plan.toml会创建/plan命令。 - 作用域:
- 用户级: 放在
~/.gemini/commands/目录下的命令,对你所有的gemini-cli项目都生效。 - 项目级: 放在项目根目录的
.gemini/commands/下,仅对该项目生效。非常适合随项目代码一起纳入版本控制。
- 用户级: 放在
- 命名空间: 你可以在
commands目录下创建子目录来为命令分组。例如git/commit.toml会创建一个名为/git:commit的命令。 - 动态参数:
{{args}}:在 Prompt 中使用,用于接收你在命令行/command之后输入的参数。!{...}:在花括号内执行任意 shell 命令,并将其输出结果注入到 Prompt 中。
实战演练:通过命令行替代 prompt 调用 MCP 服务
理论说再多,不如亲手一试。平时我需要把我和 gemini-cli 对话的上下文随时保存到 nowledge-mem 中,两者是通过 MCP 服务进行通信,为了不再重复输入相同的 prompt,我把 nowledge-mem 的 MCP 服务提供的功能都封装成了一个个简短的命令行。

第一步:创建命令文件
首先先创建一个用户级的命令,这样在任何地方都能使用。
# 创建目录
mkdir -p ~/.gemini/commands/nldge# 创建配置文件
touch ~/.gemini/commands/nldge/mem_add.toml

第二步:定义命令内容
用你喜欢的编辑器打开 mem_add.toml 文件,并贴入以下内容:
# ~/.gemini/commands/mem_add.toml
description = "Add new memory to knowledge base with automatic entity extraction"
prompt = "please save the context or insight {{args}} to nowledge mem"
第三步:使用新建的新命令
现在,打开 gemini-cli,你就可以直接使用这个新命令了!

> 时间真的存在吗✦ 这是一个深刻的哲学和物理学问题。从物理学的角度来看,特别是在爱因斯坦的相对论中,时间是宇宙的基本结构之一,与空间共同构成了四维时空。时间可以被测量,并且会受到引力和速度的影响而变慢或变快。从哲学的角度来看,关于时间是否独立于人类意识而存在,一直有争论。我们对时间的感知(过去、现在、未来)是非常主观的。所以,简单来说:物理学认为时间是真实的,但我们如何体验和理解它,则带有主观和哲学的色彩。> /nldge:mem_add 这段上下文╭───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ ✓ memory_add (nowledge-mem MCP Server) {"content":"这是一个深刻的哲学和物理学问题。从物理学的角度来看,特别是在爱因斯坦的相对论中,时间是宇宙的基本… │
│ │
│ {"status":"success","memory":{"content":"这是一个深刻的哲学和物理学问题。从物理学的角度来看,特别是在爱因斯坦的相对论中,时间是宇宙的基本结构之一 │
│ ,与空间共同构成了四维时空。时间可以被测量,并且会受到引力和速度的影响而变慢或变快。从哲学的角度来看,关于时间是否独立于人类意识而存在,一直有争论 │
│ 。我们对时间的感知(过去、现在、未来)是非常主观的。所以,简单来说:物理学认为时间是真实的,但我们如何体验和理解它,则带有主观和哲学的色彩。","tit │
│ le":"时间真的存在吗?","importance":0.5,"created_at":"2025-10-24 │
│ 09:19"},"processing":{"entities_extracted":0,"labels_applied":6,"source":"gemini"}} │
╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
✦ I have saved the insight into the knowledge memory.

总结
通过斜杠命令,特别是其集成的 shell 执行能力,gemini-cli 不再仅仅是一个简单的问答工具,它蜕变成了一个可以深度融入你个人工作流的、可编程的智能开发平台。这不仅关乎效率,更关乎一种全新的、更智能的工作方式。
花一点时间,思考一下日常工作中那些重复、繁琐的环节,然后尝试用斜 slash command 去优化它们。
