--- name: headless-cli description: "无头模式 AI CLI 调用技能:支持 Gemini/Claude/Codex CLI 的无交互批量调用,包含 YOLO 模式和安全模式。用于批量翻译、代码审查、多模型编排等场景。" --- # Headless CLI 技能 无交互批量调用 AI CLI 工具,支持 stdin/stdout 管道,实现自动化工作流。 ## When to Use This Skill 触发条件: - 需要批量处理文件(翻译、审查、格式化) - 需要在脚本中调用 AI 模型 - 需要多模型串联/并联处理 - 需要无人值守的 AI 任务执行 ## Not For / Boundaries 不适用于: - 需要交互式对话的场景 - 需要实时反馈的任务 - 敏感操作(YOLO 模式需谨慎) 必需输入: - 已安装对应 CLI 工具 - 已完成身份认证 - 网络代理配置(如需) ## Quick Reference ### 🔴 YOLO 模式(全权限,跳过确认) **Codex CLI** ```bash # --yolo 是 --dangerously-bypass-approvals-and-sandbox 的别名 alias c='codex --enable web_search_request -m gpt-5.1-codex-max -c model_reasoning_effort="high" --yolo' ``` **Claude Code** ```bash alias cc='claude --dangerously-skip-permissions' ``` **Gemini CLI** ```bash # --yolo 或 --approval-mode yolo alias g='gemini --yolo' ``` ### 🟡 Full-Auto 模式(推荐的自动化方式) **Codex CLI** ```bash # workspace-write 沙箱 + 失败时才审批 codex --full-auto "Your prompt" ``` **Gemini CLI** ```bash # 自动批准编辑工具 gemini --approval-mode auto_edit "Your prompt" ``` ### 🟢 安全模式(无头但有限制) **Gemini CLI(禁用工具调用)** ```bash cat input.md | gemini -p "prompt" --output-format text --allowed-tools '' > output.md ``` **Claude Code(Print 模式)** ```bash cat input.md | claude -p "prompt" --output-format text > output.md ``` **Codex CLI(非交互执行)** ```bash codex exec "prompt" --json -o result.txt ``` ### 📋 常用命令模板 **批量翻译** ```bash # 设置代理(如需) export http_proxy=http://127.0.0.1:9910 export https_proxy=http://127.0.0.1:9910 # Gemini 翻译 cat zh.md | gemini -p "Translate to English. Keep code/links unchanged." \ --output-format text --allowed-tools '' > en.md ``` **代码审查** ```bash cat code.py | claude --dangerously-skip-permissions -p \ "Review this code for bugs and security issues. Output markdown." > review.md ``` **多模型编排** ```bash # 模型 A 生成 → 模型 B 审查 cat spec.md | gemini -p "Generate code" --output-format text | \ claude -p "Review and improve this code" --output-format text > result.md ``` ### ⚙️ 关键参数对照表 | 功能 | Gemini CLI | Claude Code | Codex CLI | |:---|:---|:---|:---| | YOLO 模式 | `--yolo` | `--dangerously-skip-permissions` | `--yolo` | | 指定模型 | `-m ` | `--model ` | `-m ` | | 非交互 | `-p "prompt"` | `-p "prompt"` | `exec "prompt"` | | 输出格式 | `--output-format text` | `--output-format text` | `--json` | | 禁用工具 | `--allowed-tools ''` | `--disallowedTools` | N/A | | 继续对话 | N/A | `-c` / `--continue` | `resume --last` | ## Examples ### Example 1: 批量翻译文档 **输入**: 中文 Markdown 文件 **步骤**: ```bash export http_proxy=http://127.0.0.1:9910 export https_proxy=http://127.0.0.1:9910 for f in docs/*.md; do cat "$f" | timeout 120 gemini -p \ "Translate to English. Keep code fences unchanged." \ --output-format text --allowed-tools '' 2>/dev/null > "en_$(basename $f)" done ``` **预期输出**: 翻译后的英文文件 ### Example 2: 代码审查流水线 **输入**: Python 代码文件 **步骤**: ```bash cat src/*.py | claude --dangerously-skip-permissions -p \ "Review for: 1) Bugs 2) Security 3) Performance. Output markdown table." > review.md ``` **预期输出**: Markdown 格式的审查报告 ### Example 3: 多模型对比验证 **输入**: 技术问题 **步骤**: ```bash question="How to implement rate limiting in Python?" echo "$question" | gemini -p "$question" --output-format text > gemini_answer.md echo "$question" | claude -p "$question" --output-format text > claude_answer.md # 对比两个答案 diff gemini_answer.md claude_answer.md ``` **预期输出**: 两个模型答案的对比 ## References - `references/gemini-cli.md` - Gemini CLI 完整参数 - `references/claude-cli.md` - Claude Code CLI 参数 - `references/codex-cli.md` - Codex CLI 参数 - [Gemini CLI 官方文档](https://geminicli.com/docs/) - [Claude Code 官方文档](https://docs.anthropic.com/en/docs/claude-code/) - [Codex CLI 官方文档](https://developers.openai.com/codex/cli/reference) ## Maintenance - 来源: 各 CLI 官方文档 - 更新: 2025-12-19 - 限制: 需要网络连接和有效认证;YOLO 模式有安全风险