管道、批处理与脚本集成
将日志和 diff 传入无头模式,保存结果并分别检查进程与产物。
This page has not been translated into English yet. The original Chinese version is shown below.
无头模式一次运行后退出,适合 CI 分析、日志摘要和脚本包装。脚本既要处理模型结果,也要处理输入、认证和退出状态。
标准输入
cat error.log | gemini -p "Explain why this failed"
git diff | gemini -p "Write a commit message for these changes"PowerShell 使用:
Get-Content error.log | gemini -p "Explain why this failed"日志与 diff 通过 stdin 提供上下文;请求提交消息只产生文本,不代表已经提交。实际写仓库的操作应由调用脚本的显式步骤决定。
保存与解析结果
文字 stdout 可以重定向为文件,也可请求 json 包装后提取 response。官方示例使用 jq -r '.response' 或 PowerShell 的 ConvertFrom-Json,再将 response 写入文件。
注意两个验证层:先确认 CLI 退出成功、没有错误对象,再验证回答内容是否符合业务结构。模型输出的 Markdown 代码围栏、缺少字段或无效 JSON 不能因为外层包装成功就直接送给下一系统。
批量任务
官方教程用循环为每个 Python 文件产生 Markdown 摘要。采用这类模式前确认输入文件集合、输出命名和覆盖范围;命令中的文件路径需正确引用,不能把不受信任文件名当作 Shell 代码。
按文件保存失败状态,区分没有读取到输入、模型调用失败和产物校验失败。每个任务仍使用已配置的权限与工具,批量执行不使错误结果自动变可信。
在流水线使用
提前配置认证,选择 text/json/stream-json 接口,并保留必要的错误信息。重定向或管道会影响 TTY 判断,使用 -p 明确意图。涉及计划到实施的流程还需注意无头 Plan Mode 会自动转换为 YOLO。