对于喜欢在终端里“运指如飞”的开发者来说,命令行工具(CLI)是提升效率的瑞士军刀。今天继续聊一下我常用的 AI 命令行工具:Google 的 gemini-cli,一个能让你在终端里直接与强大 Gemini 模型对话的利器,并且深入探索它最酷的功能之一: 斜杠命令 (Slash Commands)

gemini-cli 简介

简单来说,gemini-cli 是一个让你通过命令行与 Gemini Pro 模型进行交互的工具。你可以用它来提问、生成代码、翻译文本、总结内容,几乎可以完成你在网页版 Gemini 上做的任何事情。对于开发者而言,这意味着可以将 AI 的能力无缝集成到日常的开发工作流中,无需离开终端这个舒适区。

神兵利器:斜杠命令

gemini-cli 本身已经足够强大,但“斜杠命令”功能将它提升到了一个全新的高度。它允许你通过简单的 .toml 配置文件,创建以斜杠 (/) 开头的全新、个性化的命令。

想象一下,你不再需要每次都输入冗长、重复的 Prompt。通过自定义,你可以将一系列复杂操作封装成一个简洁的命令,例如 /review-pr/generate-test

优势显而易见:

  1. 极致的效率: 将日常重复性的任务自动化,一键触发,省时省力。
  2. 工作流集成: 这是最强大的地方!你可以在 Prompt 中直接嵌入 shell 命令(例如 git loggh pr diff),让 Gemini 基于实时的工作上下文进行响应,打造真正的自动化流程。
  3. 团队协作: 在项目仓库中共享一套自定义命令(.gemini/commands/),可以统一团队规范,降低新成员的上手门槛,提升整个团队的协作效率。
  4. 个性化定制: 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 去优化它们。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐