Skip to content

Gemini CLI 国内使用

Google 官方出品的Gemini CLI,另一款强大的类似Claude Code, OpenAI Codex 的AI编程助手,结合目前强大的 Gemini 2.5 proGemini 3.0 pro 来使用,能快速提高编程效率。

有用链接

安装Gemini CLI

安装Nodejs, 这里略过。

通过npm 来安装:

sh
npm install -g @google/gemini-cli

测试安装:正确显示版本号即为安装成功。

sh
D:\Knner>gemini --version
0.12.0

配置Gemini CLI

申请 Yixia API Key

参考这里 来申请 Yixia API Key,这里不再赘述。

配置Gemini CLI

要配置Gemini CLI,使用自定义的Yixia API Key,只需要配置三个环境变量即可,分别是:

GEMINI_MODEL=gemini-2.5-pro
GEMINI_API_KEY=sk-xxxxxxxxxx
GOOGLE_GEMINI_BASE_URL=https://api.yixia.ai/

只需要把:sk-xxxxxxxxxx,替换成你刚才申请的。

  • 对于Windows用户,请依次点击此电脑右键---属性---高级系统设置---环境变量---系统变量---新建,如下图,将sk-xxxxx 替换为你的Key,然后点击确定保存。

image-20251106173056331

  • 对于Linux或Mac 用户,请打开命令行,然后执行如下命令,将sk-xxxxx 替换为你的Key
sh
## bash 用户
cat >> ~/.bashrc <<EOF
GEMINI_MODEL=gemini-2.5-pro
GEMINI_API_KEY=sk-xxxxxxxxxx
GOOGLE_GEMINI_BASE_URL=https://api.yixia.ai/
EOF

## zsh 用户
cat >> ~/.zshrc <<EOF
GEMINI_MODEL=gemini-2.5-pro
GEMINI_API_KEY=sk-xxxxxxxxxx
GOOGLE_GEMINI_BASE_URL=https://api.yixia.ai/
EOF

测试Gemini CLI

终端输入gemini 即可进去Gemini CLI:

sh
gemini

出现如下图:输入hi 来测试配置的是否正确。有返回,即是配置成功,下面就可以愉快的使用了。

image-20251106173648509

Gemini CLI 基本使用

Gemini CLI 的命令帮助:

bash
D:\Knner>gemini --help
Usage: gemini [options] [command]

Gemini CLI - Launch an interactive CLI, use -p/--prompt for non-interactive mode

Commands:
  gemini [query..]             Launch Gemini CLI                                                                                                                          [default]
  gemini mcp                   Manage MCP servers
  gemini extensions <command>  Manage Gemini CLI extensions.                                                                                                   [aliases: extension]

Positionals:
  query  Positional prompt. Defaults to one-shot; use -i/--prompt-interactive for interactive.

Options:
  -d, --debug                     Run in debug mode?  boolean] [default: false]
  -m, --model                     Model   [string]
  -p, --prompt                    Prompt. Appended to input on stdin (if any).  [deprecated: Use the positional prompt instead. This flag will be removed in a future version.] [string]
  -i, --prompt-interactive        Execute the provided prompt and continue in interactive mode    [string]
  -s, --sandbox                   Run in sandbox?     [boolean]
  -y, --yolo                      Automatically accept all actions (aka YOLO mode, see https://www.youtube.com/watch?v=xvFZjo5PgG0 for more details)?    [boolean] [default: false]
      --approval-mode             Set the approval mode: default (prompt for approval), auto_edit (auto-approve edit tools), yolo (auto-approve all tools)    [string] [choices: "default", "auto_edit", "yolo"]
      --experimental-acp          Starts the agent in ACP mode    [boolean]
      --allowed-mcp-server-names  Allowed MCP server names   [array]
      --allowed-tools             Tools that are allowed to run without confirmation  [array]
  -e, --extensions                A list of extensions to use. If not provided, all extensions are used.   [array]
  -l, --list-extensions           List all available extensions and exit.   [boolean]
      --include-directories       Additional directories to include in the workspace (comma-separated or multiple --include-directories) [array]
      --screen-reader             Enable screen reader mode for accessibility.   [boolean]
  -o, --output-format             The format of the CLI output.  [string] [choices: "text", "json", "stream-json"]
  -v, --version                   Show version number    [boolean]
  -h, --help                      Show help

基本使用:

bash
# 交互式 启动,并执行 prompt
gemini <prompt> 

# 非交互式
gemini -i <prompt>

# 非交互式
echo "What is fine tuning?" | gemini

# 交互式,直接指定模型
gemini -m gemini-3-pro

# debug 模式
gemini -d

Gemini CLI 扩展命令:

bash
D:\Knner>gemini extensions --help
gemini extensions <command>

Manage Gemini CLI extensions.

Commands:
  gemini extensions install <source> [--auto-update] [--pre-release]  Installs an extension from a git repository URL or a local path.
  gemini extensions uninstall <name>                                  Uninstalls an extension.
  gemini extensions list                                              Lists installed extensions.
  gemini extensions update [<name>] [--all]                           Updates all extensions or a named extension to the latest version.
  gemini extensions disable [--scope] <name>                          Disables an extension.
  gemini extensions enable [--scope] <name>                           Enables an extension.
  gemini extensions link <path>                                       Links an extension from a local path. Updates made to the local path will always be reflected.
  gemini extensions new <path> [template]                             Create a new extension from a boilerplate example.

Options:
  -d, --debug  Run in debug mode?  [boolean] [default: false]
  -h, --help   Show help

Gemini CLI 扩展请参考

创建Gemini CLI扩展

Gemini CLI 的重要交互式命令

进如Gemini CLI,就可以对Gemini 发号施令了,主要设计三个符号:

  • ! 执行本地shell 命令,输入!进如命令行模式,输入要执行的命令,回车执行,执行完不会退出命令行模式,再次输入!退出命令行模式,返回聊天模式。

  • @ 针对指定文件 来和Gemini 交互。

  • / 对CLI本身的控制。按 Ctrl+z 撤消输入提示中的最后一个作。 按 Ctrl+Shift+Z 重做输入提示中的最后一个撤消作。

/init

为了帮助用户轻松创建 GEMINI.md 文件,该命令会分析当前目录并生成定制的上下文文件,使他们更容易向 Gemini 代理提供特定于项目的指令。

/clear

清除终端屏幕,包括可见的会话历史记录和 CLI 中的回滚。根据确切的实现,可能会保留基础会话数据(用于历史调用),但视觉显示将被清除。

/compress

将整个聊天上下文替换为摘要。这节省了用于未来任务的令牌,同时保留了对所发生情况的高级摘要。

/copy

将 Gemini CLI 生成的最后输出复制到剪贴板,以便于共享或重复使用。

/chat 会话管理

  • /chat save [标签]:保存当前会话,并指定一个标签。
  • /chat list:列出所有已保存的会話。
  • /chat resume [标签]:恢复指定的会话。
  • /chat delete <标签>:删除指定的会话。
  • /chat share <文件>:将当前对话写入提供的 Markdown 或 JSON 文件。如果未提供文件名,则 CLI 将生成一个文件名。

保存位置:

  • Linux/macOS: ~/.gemini/tmp/\<project_hash>/
  • Windows: C:\Users\用户名\.gemini\tmp\<project_hash>\

/memory 上下文管理,记忆功能:

GEMINI.md 文件:在项目根目录或用户主目录下的 ~/.gemini/ 中创建一个 GEMINI.md 文件。你可以在里面写入自定义指令、代码风格规范、项目背景等,gemini-cli 会在每次交互时自动加载这些信息作为长期记忆。

  • /memory add [上下文内容]:将一段内容添加到当前会话的记忆中。
  • /memory show:查看当前已加载的记忆内容。
  • /memory refresh:重新从 GEMINI.md 文件加载上下文。
  • /memory list:列出用于分层内存的 GEMINI.md 文件的路径。

/directory 或 /dir

管理工作区目录以实现多目录支持。

  • /dir add <path1>,<path2>:将目录添加到工作区。路径可以是绝对路径,也可以是相对于当前工作目录的路径。此外,还支持来自主目录的引用。
  • /dir show:显示 /directory add--include-目录

image-20251106180617981

/mcp

管理配置的模型上下文协议 (MCP) 服务器。

image-20251106180901981

  • /mcp list/mcp ls:列出已配置的 MCP 服务器和工具
  • /mcp desc:列出已配置的 MCP 服务器和工具以及说明。
  • /mcp schema: 列出已配置的 MCP 服务器和工具以及描述和架构。
  • /mcp refresh:刷新MCP server。

/restore

将项目文件恢复到执行工具之前的状态。这对于撤消工具所做的文件编辑特别有用。如果在没有工具调用 ID 的情况下运行,它将列出要从中恢复的可用检查点。

  • /restore:列出可用检查点
  • /restore <checkpoint_file>: 要将项目恢复到特定检查点,请使用列表中的检查点文件。

/settings

打开设置编辑器,查看和修改 Gemini CLI 设置。此命令提供了一个用户友好的界面,用于更改控制 Gemini CLI 行为和外观的设置。这相当于手动编辑 .gemini/settings.json 文件,但具有验证和指导以防止错误。

  • 上下键,移动位置,回车修改;
  • tab键,上下块切换;
  • esc键,关闭;

image-20251106182314910

/stats

显示当前 Gemini CLI 会话的详细统计信息,包括令牌使用情况、缓存的令牌节省量(如果可用)和会话持续时间。注意:仅在使用缓存令牌时才会显示缓存令牌信息,此时 API 密钥身份验证会发生这种情况,但目前不会显示 OAuth 身份验证。

/theme

打开一个对话框,用于更改 Gemini CLI 的视觉主题。

image-20251106182603031

/extensions

Gemini CLI 扩展相关命令。详细参考如下链接:

image-20251106190939279

/about

显示版本信息。请在提交问题时分享此信息。

image-20251106182718325

/tools

显示 Gemini CLI 中当前可用的工具列表。

  • /tools:列出工具列表名称
  • /tools desc:列出工具列表名称以及其详细说明。

image-20251106182925219

/vim

打开或关闭 vim 模式。启用 vim 模式后,输入区域支持 NORMAL 和 INSERT 模式下的 vim 样式导航和编辑命令。

/quit 或 /exit

退出 Gemini CLI。

配置Gemini CLI MCP Server

官方文档

配置 MCP Server 主要使用settings.json 配置文件,位于:

  • Linux/Mac: ~/.gemini/settings.json
  • Windows: %USERPROFILE%\.gemini\settings.json

MCP Server配置:

  • Windows,配置context7excel mcp
json
{
    "mcp": {
        "allowed": [
            "context7",
            "excel"
        ],
        "excluded": []
    },
    "mcpServers": {
        "context7": {
            "command": "cmd",
            "args": [
                "/c",
                "npx",
                "-y",
                "@upstash/context7-mcp"
            ],
            "timeout": 20000
        },
        "excel": {
            "command": "cmd",
            "args": [
                "/c",
                "uvx",
                "excel-mcp-server",
                "stdio"
            ],
            "timeout": 60000
        }
    }
}
  • Linux 和 Mac:
json
{
    "mcp": {
        "allowed": [
            "context7",
            "excel"
        ],
        "excluded": []
    },
    "mcpServers": {
        "context7": {
            "command": "npx",
            "args": [
                "-y",
                "@upstash/context7-mcp"
            ],
            "timeout": 20000
        },
        "excel": {
            "command": "uvx",
            "args": [
                "excel-mcp-server",
                "stdio"
            ],
            "timeout": 60000
        }
    }
}

配置说明:

  • mcp:

    • mcp.allowed(字符串数组):允许的 MCP 服务器名称列表。 如果设置了,仅此列表中的服务器(与 mcpServers 对象)将连接到。
    • mcp.excluded(字符串数组):要排除的 MCP 服务器名称列表。此列表中的服务器将不会连接到。
  • mcpServers:

    • 必选(任意一项)

      • command(字符串):Stdio 传输的可执行文件的路径
      • url(字符串):SSE 端点 URL(例如,“http://localhost:8080/sse”
      • httpUrl(字符串):HTTP 流式处理终结点 URL
    • 可选

      • args (string[]):Stdio 传输的命令行参数
      • headers(对象):使用 urlhttpUrl 时的自定义 HTTP 标头
      • env(对象):服务器进程的环境变量。值可以使用 $VAR_NAME${VAR_NAME} 语法引用环境变量
      • cwd(字符串):Stdio 传输的工作目录
      • timeout (数字):请求超时(以毫秒为单位)(默认:600,000 毫秒 = 10 分钟)
      • trust (boolean):当 true 时,绕过此服务器的所有工具调用确认(默认值:false
      • includeTools (string[]):要从此 MCP 服务器包含的工具名称列表。指定后,只有此处列出的工具才能从此服务器使用(允许列表行为)。如果未指定,则默认情况下启用服务器中的所有工具。
      • excludeTools (string[]):要从此 MCP 服务器中排除的工具名称列表。此处列出的工具将不适用于模型,即使它们由服务器公开。 注意:excludeTools 优先于 includeTools - 如果某个工具同时在两个列表中,则将其排除在外。

配置完毕后,重新进如Gemini:

image-20251106193344896

可以使用斜杠命令查看MCP:

  • /mcp list: 列出mcp以及其功能。
  • /mcp desc: 列出MCP以及其详细说明。
  • /mcp refresh: 重启MCP Server。

image-20251106193306464

Released under the MIT License.