名称: 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命令之前:
- 调用
gemini-cli-docs技能- 查询 特定的CLI命令语法(例如,“头less模式”、“管道输入”)
- 基于 加载的官方文档独家构建所有执行模式
概述
这个技能提供了在脚本、子代理和自动化工作流中有效执行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处理工具如
vim或top - 脚本化涉及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用于需要用户输入的命令(例如,vim、git 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, 交互式命令 |
快速决策树
您想做什么?
- 提问 ->
gemini "问题" - 分析文件 ->
cat 文件 | gemini "分析" - 生成计划 ->
gemini "为X计划" - 运行交互式工具 ->
gemini "运行 vim file.txt"(启用 enableInteractiveShell) - 解析结果 -> 添加
--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): 初始发布