GeminiCLI执行技能Skill gemini-cli-execution

这个技能提供了执行Google Gemini CLI二进制文件的操作知识,专注于非交互式使用。它涵盖命令语法、管道输入、输出处理、自动化模式,包括单次查询、JSON输出、沙箱执行和交互式shell。适用于运行gemini命令、脚本化工作流和自动化规划。关键词:Gemini CLI, 执行, 非交互式, 管道输入, JSON输出, 自动化, 脚本化, 交互式shell

DevOps 0 次安装 0 次浏览 更新于 3/11/2026

名称: gemini-cli-execution 描述: 在非交互式和头less模式下执行Google Gemini CLI的专家指南。涵盖命令语法、管道输入、输出处理和自动化模式。当运行gemini命令、管道上下文到Gemini、脚本化Gemini工作流或使用交互式shell模式时使用。委托给gemini-cli-docs以获取官方命令参考。 允许工具: Read, Glob, Grep, Skill, Bash

Gemini CLI 执行

🚨 强制:首先调用 gemini-cli-docs

停止 - 在执行任何Gemini CLI命令之前:

  1. 调用 gemini-cli-docs 技能
  2. 查询 特定的CLI命令语法(例如,“头less模式”、“管道输入”)
  3. 基于 加载的官方文档独家构建所有执行模式

概述

这个技能提供了在脚本、子代理和自动化工作流中有效执行gemini二进制文件的操作知识。它专注于非交互式使用。

命令语法(v0.18+)

重要: Gemini CLI使用位置提示,而不是子命令。

# 正确语法(位置提示):
gemini "您的提示在这里"

# 带有选项:
gemini "您的提示" --output-format json -m gemini-2.5-flash

# 已弃用(将被移除):
gemini -p "您的提示"  # -p 标志已弃用

# 错误(不存在'query'子命令):
gemini query "您的提示"  # 这不起作用

何时使用此技能

关键词: 运行 gemini, 执行 gemini, gemini cli 命令, 头less gemini, 管道到 gemini, 自动化规划, gemini 提示, 交互式 shell

在以下情况使用此技能:

  • 从代理调用Gemini CLI(例如,gemini-planner
  • 运行一次性查询:gemini "提示"
  • 管道上下文:cat file.js | gemini "重构此代码"
  • 使用交互式Shell处理工具如vimtop
  • 脚本化涉及Gemini的复杂工作流

执行模式

1. 单次查询(非交互式)

使用位置提示进行直接查询:

gemini "为React应用创建计划"

# 使用JSON输出进行解析:
gemini "为React应用创建计划" --output-format json

2. 管道上下文

通过标准输入传递文件内容或日志:

cat logs.txt | gemini "分析这些错误日志"

# 选择模型:
cat src/*.ts | gemini "审查此代码" -m gemini-2.5-flash

3. 自动化用JSON输出

始终使用--output-format json进行脚本化:

result=$(gemini "2+2等于多少?" --output-format json)
response=$(echo "$result" | jq -r '.response')
tokens=$(echo "$result" | jq '.stats.models | to_entries | map(.value.tokens.total) | add')

4. 沙箱执行

在隔离环境中运行命令:

gemini -s "运行:npm install untrusted-package" --yolo --output-format json

5. 交互式Shell模式

启用交互式shell用于需要用户输入的命令(例如,vimgit rebase)。

  • 启用:settings.json中设置tools.shell.enableInteractiveShell: true
  • 用法: gemini "运行 vim file.txt"(用户必须处理输入)。

关键CLI标志

标志 描述
--output-format json 返回结构化JSON(对自动化至关重要)
-m, --model 选择模型(gemini-2.5-flash, gemini-2.5-pro)
-s, --sandbox 在沙箱隔离中运行
-y, --yolo 自动批准所有工具调用
-r, --resume 恢复之前的会话
-i, --prompt-interactive 在提示后启动交互模式

关键词注册表(委托给 gemini-cli-docs)

主题 查询关键词
基本查询 cli 提示语法, 位置提示
头less/脚本化 头less 模式, 非交互式, 脚本化 gemini
输出格式化 json 输出, output-format, stream-json
沙箱 沙箱, -s 标志, docker 沙箱
交互式Shell 交互式 shell 工具, enableInteractiveShell, 交互式命令

快速决策树

您想做什么?

  1. 提问 -> gemini "问题"
  2. 分析文件 -> cat 文件 | gemini "分析"
  3. 生成计划 -> gemini "为X计划"
  4. 运行交互式工具 -> gemini "运行 vim file.txt"(启用 enableInteractiveShell)
  5. 解析结果 -> 添加 --output-format json 并使用 jq

故障排除

问题: CLI 挂起或等待输入。 修复: 确保您没有使用交互式聊天模式。使用位置提示进行一次性查询。

问题: 命令未找到:gemini query 修复: 没有 query 子命令。使用位置提示:gemini "您的提示"

问题: 关于已弃用 -p 标志的警告 修复: 使用位置语法:gemini "提示" 而不是 gemini -p "提示"

测试场景

场景 1: 单次查询

查询: “运行一个Gemini查询来分析此代码” 预期行为:

  • 技能在“运行 gemini”关键词上激活
  • 委托给 gemini-cli-docs 获取命令语法
  • 返回正确的位置提示语法 成功标准: 用户收到正确的 gemini "提示" 语法

场景 2: 管道输入

查询: “如何将文件内容发送到Gemini CLI?” 预期行为:

  • 技能在“管道到 gemini”上激活
  • 提供 cat 文件 | gemini "提示" 模式 成功标准: 用户收到工作管道示例

场景 3: JSON 输出解析

查询: “如何从Gemini获取JSON输出以进行自动化?” 预期行为:

  • 技能在“自动化”或“json 输出”上激活
  • 返回 --output-format json 标志用法 成功标准: 用户收到可解析的JSON输出模式

参考

官方文档: 查询 gemini-cli-docs 以获取:

  • “cli 命令”
  • “头less 用法”
  • “输出格式”

版本历史

  • v1.1.0 (2025-12-01): 添加了测试场景部分
  • v1.0.0 (2025-11-25): 初始发布