docs: update headless-cli references with official documentation

- gemini-cli.md: added --approval-mode, settings.json config
- claude-cli.md: added slash commands, CLAUDE.md, permissions config
- codex-cli.md: added exec command, config.toml, full-auto mode
- SKILL.md: added full-auto mode, parameter comparison table

Sources:
- https://geminicli.com/docs/get-started/configuration/
- https://docs.anthropic.com/en/docs/claude-code/
- https://developers.openai.com/codex/cli/reference
This commit is contained in:
tukuaiai 2025-12-19 16:10:37 +08:00
parent 0e19f31433
commit c71a3f24de
4 changed files with 243 additions and 81 deletions

View File

@ -1,6 +1,6 @@
---
name: headless-cli
description: "无头模式 AI CLI 调用技能:支持 Gemini/Claude/Codex CLI 的无交互批量调用,包含 YOLO 模式和安全模式。用于批量翻译、代码审查、多模型编排等场景。"
description: "无头模式 AI CLI 调用技能:支持 Gemini/Claude/Codex CLI 的无交互批量调用,包含 YOLO 模式和安全模式。用于批量翻译、代码审查、多模型编排等场景。"
---
# Headless CLI 技能
@ -31,9 +31,10 @@ description: "无头模式 AI CLI 调用技能:支持 Gemini/Claude/Codex 等
### 🔴 YOLO 模式(全权限,跳过确认)
**Codex CLI (GPT-5.1)**
**Codex CLI**
```bash
alias c='codex --enable web_search_request -m gpt-5.1-codex-max -c model_reasoning_effort="high" --dangerously-bypass-approvals-and-sandbox'
# --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**
@ -43,24 +44,39 @@ alias cc='claude --dangerously-skip-permissions'
**Gemini CLI**
```bash
# --yolo 或 --approval-mode yolo
alias g='gemini --yolo'
```
**Kiro CLI**
### 🟡 Full-Auto 模式(推荐的自动化方式)
**Codex CLI**
```bash
alias k='kiro --dangerously-skip-permissions'
# workspace-write 沙箱 + 失败时才审批
codex --full-auto "Your prompt"
```
**Gemini CLI**
```bash
# 自动批准编辑工具
gemini --approval-mode auto_edit "Your prompt"
```
### 🟢 安全模式(无头但有限制)
**Gemini CLI禁用工具调用**
```bash
cat input.md | gemini -m gemini-2.5-flash --output-format text --allowed-tools '' "prompt" > output.md
cat input.md | gemini -p "prompt" --output-format text --allowed-tools '' > output.md
```
**Claude Code指定模型**
**Claude CodePrint 模式**
```bash
cat input.md | claude -m claude-sonnet-4 --output-format text "prompt" > output.md
cat input.md | claude -p "prompt" --output-format text > output.md
```
**Codex CLI非交互执行**
```bash
codex exec "prompt" --json -o result.txt
```
### 📋 常用命令模板
@ -72,34 +88,33 @@ export http_proxy=http://127.0.0.1:9910
export https_proxy=http://127.0.0.1:9910
# Gemini 翻译
cat zh.md | gemini -m gemini-2.5-flash --output-format text --allowed-tools '' \
"Translate to English. Keep code/links unchanged." > en.md
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 \
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 -m gemini-2.5-flash --output-format text "Generate code" | \
claude -m claude-sonnet-4 "Review and improve this code" > result.md
cat spec.md | gemini -p "Generate code" --output-format text | \
claude -p "Review and improve this code" --output-format text > result.md
```
### ⚙️ 关键参数说明
### ⚙️ 关键参数对照表
| CLI | 参数 | 说明 |
|:---|:---|:---|
| gemini | `--yolo` | 跳过所有确认 |
| gemini | `--allowed-tools ''` | 禁用工具调用(纯文本输出) |
| gemini | `--output-format text` | 输出纯文本 |
| gemini | `-m <model>` | 指定模型 |
| claude | `--dangerously-skip-permissions` | 跳过权限确认 |
| codex | `--dangerously-bypass-approvals-and-sandbox` | 跳过审批和沙箱 |
| codex | `-c model_reasoning_effort="high"` | 高推理强度 |
| 功能 | Gemini CLI | Claude Code | Codex CLI |
|:---|:---|:---|:---|
| YOLO 模式 | `--yolo` | `--dangerously-skip-permissions` | `--yolo` |
| 指定模型 | `-m <model>` | `--model <model>` | `-m <model>` |
| 非交互 | `-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
@ -112,8 +127,9 @@ 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 -m gemini-2.5-flash --output-format text --allowed-tools '' \
"Translate to English. Keep code fences unchanged." 2>/dev/null > "en_$(basename $f)"
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
```
**预期输出**: 翻译后的英文文件
@ -123,7 +139,7 @@ done
**输入**: Python 代码文件
**步骤**:
```bash
cat src/*.py | claude --dangerously-skip-permissions \
cat src/*.py | claude --dangerously-skip-permissions -p \
"Review for: 1) Bugs 2) Security 3) Performance. Output markdown table." > review.md
```
**预期输出**: Markdown 格式的审查报告
@ -135,11 +151,11 @@ cat src/*.py | claude --dangerously-skip-permissions \
```bash
question="How to implement rate limiting in Python?"
echo "$question" | gemini -m gemini-2.5-flash --output-format text > gemini_answer.md
echo "$question" | claude -m claude-sonnet-4 --output-format text > claude_answer.md
echo "$question" | gemini -p "$question" --output-format text > gemini_answer.md
echo "$question" | claude -p "$question" --output-format text > claude_answer.md
# 对比两个答案
paste gemini_answer.md claude_answer.md | diff -y --suppress-common-lines
diff gemini_answer.md claude_answer.md
```
**预期输出**: 两个模型答案的对比
@ -148,8 +164,9 @@ paste gemini_answer.md claude_answer.md | diff -y --suppress-common-lines
- `references/gemini-cli.md` - Gemini CLI 完整参数
- `references/claude-cli.md` - Claude Code CLI 参数
- `references/codex-cli.md` - Codex CLI 参数
- [Gemini CLI 官方文档](https://github.com/google-gemini/gemini-cli)
- [Claude Code 官方文档](https://docs.anthropic.com/claude-code)
- [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

View File

@ -1,5 +1,7 @@
# Claude Code CLI 参数参考
> 来源: [官方文档](https://docs.anthropic.com/en/docs/claude-code/cli-reference)
## 安装
```bash
@ -8,39 +10,96 @@ npm install -g @anthropic-ai/claude-code
## 认证
需要 Anthropic API Key 或 Claude Pro 订阅。
需要 Anthropic API Key 或 Claude Pro/Max 订阅:
```bash
export ANTHROPIC_API_KEY="YOUR_API_KEY"
```
## 核心参数
## 核心命令
| 命令 | 说明 | 示例 |
|:---|:---|:---|
| `claude` | 启动交互式 REPL | `claude` |
| `claude "query"` | 带初始提示词启动 | `claude "explain this"` |
| `claude -p "query"` | Print 模式,执行后退出 | `claude -p "review code"` |
| `claude -c` | 继续最近的对话 | `claude -c` |
| `claude -c -p "query"` | 继续对话Print 模式) | `claude -c -p "run tests"` |
| `claude -r "id" "query"` | 恢复指定会话 | `claude -r "abc123" "continue"` |
| `claude update` | 更新到最新版本 | `claude update` |
| `claude mcp` | 配置 MCP 服务器 | `claude mcp add server` |
## CLI 参数
| 参数 | 说明 | 示例 |
|:---|:---|:---|
| `-m, --model` | 指定模型 | `-m claude-sonnet-4` |
| `--output-format` | 输出格式 | `--output-format text` |
| `--dangerously-skip-permissions` | 跳过权限确认 | 见下方 |
| `/init` | 初始化项目规则 | |
| `/rewind` | 回退到之前状态 | |
| `/clear` | 清除上下文 | |
| `/compact` | 压缩上下文(保留历史) | |
| `--model` | 指定模型 | `--model claude-sonnet-4` |
| `--output-format` | 输出格式: `text`/`json`/`stream-json` | `--output-format json` |
| `--max-turns` | 限制对话轮数 | `--max-turns 3` |
| `--dangerously-skip-permissions` | 跳过所有权限确认 (YOLO) | 见下方 |
| `--allowedTools` | 允许的工具列表 | `--allowedTools "Write" "Bash(git *)"` |
| `--disallowedTools` | 禁止的工具列表 | `--disallowedTools "Bash(rm *)"` |
| `--add-dir` | 添加额外工作目录 | `--add-dir ./apps ./lib` |
| `--verbose` | 启用详细日志 | `--verbose` |
| `--continue` | 继续最近对话 | `--continue` |
| `--resume` | 恢复指定会话 | `--resume abc123` |
## 可用模型
- `claude-sonnet-4` - 平衡模型
- `claude-sonnet-4` - 平衡模型 (默认)
- `claude-opus-4` - 最强模型
- `claude-opus-4.5` - 最新最强
## 无头模式用法
```bash
# 基础无头调用
cat input.txt | claude -m claude-sonnet-4 --output-format text "Your prompt"
# Print 模式(非交互,执行后退出)
claude -p "review this code" --output-format text
# 管道输入
cat input.txt | claude -p "explain these errors"
# YOLO 模式(跳过所有权限确认)
claude --dangerously-skip-permissions "Your prompt"
# 别名设置
alias cc='claude --dangerously-skip-permissions'
# 继续对话 + Print 模式(适合脚本)
claude -c -p "show progress"
```
## 交互式命令 (Slash Commands)
| 命令 | 说明 |
|:---|:---|
| `/help` | 显示所有命令 |
| `/config` | 配置设置 |
| `/allowed-tools` | 配置工具权限 |
| `/mcp` | 管理 MCP 服务器 |
| `/vim` | 启用 vim 编辑模式 |
## 配置文件
- 用户设置: `~/.claude/settings.json`
- 项目设置: `.claude/settings.json`
- 本地设置: `.claude/settings.local.json`
```json
{
"model": "claude-sonnet-4",
"permissions": {
"allowedTools": ["Read", "Write", "Bash(git *)"],
"deny": ["Read(./.env)", "Bash(rm *)"]
}
}
```
## 上下文文件 (CLAUDE.md)
- 全局: `~/.claude/CLAUDE.md`
- 项目: `./CLAUDE.md`
- 子目录: 组件特定指令
## 深度思考触发词
强度递增:

View File

@ -1,30 +1,72 @@
# Codex CLI 参数参考
> 来源: [官方文档](https://developers.openai.com/codex/cli/reference)
## 安装
```bash
npm install -g @openai/codex-cli
npm install -g @openai/codex
```
## 认证
需要 OpenAI API Key 或 ChatGPT Plus 订阅。
```bash
# 方式 1: 浏览器 OAuth (ChatGPT 账号)
codex login
## 核心参数
# 方式 2: API Key
printenv OPENAI_API_KEY | codex login --with-api-key
# 检查登录状态
codex login status
```
## 核心命令
| 命令 | 说明 | 示例 |
|:---|:---|:---|
| `codex` | 启动交互式 TUI | `codex` |
| `codex "prompt"` | 带提示词启动 | `codex "explain this"` |
| `codex exec` / `codex e` | 非交互模式 | `codex exec "fix bugs"` |
| `codex resume` | 恢复会话 | `codex resume --last` |
| `codex apply` / `codex a` | 应用 Cloud 任务的 diff | `codex apply TASK_ID` |
| `codex mcp` | 管理 MCP 服务器 | `codex mcp add server` |
| `codex completion` | 生成 shell 补全 | `codex completion zsh` |
## 全局参数
| 参数 | 说明 | 示例 |
|:---|:---|:---|
| `-m, --model` | 指定模型 | `-m gpt-5.1-codex-max` |
| `--enable` | 启用功能 | `--enable web_search_request` |
| `-c` | 配置选项 | `-c model_reasoning_effort="high"` |
| `--dangerously-bypass-approvals-and-sandbox` | 跳过审批和沙箱 | 见下方 |
| `--yolo` | YOLO 模式 | `--yolo` |
| `--model, -m` | 指定模型 | `-m gpt-5-codex` |
| `--sandbox, -s` | 沙箱策略: `read-only`/`workspace-write`/`danger-full-access` | `-s workspace-write` |
| `--ask-for-approval, -a` | 审批模式: `untrusted`/`on-failure`/`on-request`/`never` | `-a on-failure` |
| `--full-auto` | 自动化预设 (workspace-write + on-failure) | `--full-auto` |
| `--dangerously-bypass-approvals-and-sandbox` / `--yolo` | 跳过所有审批和沙箱 | `--yolo` |
| `--search` | 启用网页搜索 | `--search` |
| `--add-dir` | 添加额外写入目录 | `--add-dir ./other` |
| `--enable` | 启用功能标志 | `--enable web_search_request` |
| `--disable` | 禁用功能标志 | `--disable feature_name` |
| `--config, -c` | 配置覆盖 | `-c model_reasoning_effort="high"` |
| `--image, -i` | 附加图片 | `-i image.png` |
| `--cd, -C` | 设置工作目录 | `-C /path/to/project` |
| `--profile, -p` | 配置文件 profile | `-p my-profile` |
| `--oss` | 使用本地开源模型 (Ollama) | `--oss` |
## codex exec 专用参数
| 参数 | 说明 | 示例 |
|:---|:---|:---|
| `--json` | 输出 JSONL 格式 | `--json` |
| `--output-last-message, -o` | 保存最终消息到文件 | `-o result.txt` |
| `--output-schema` | JSON Schema 验证输出 | `--output-schema schema.json` |
| `--color` | 颜色输出: `always`/`never`/`auto` | `--color never` |
| `--skip-git-repo-check` | 允许在非 Git 目录运行 | `--skip-git-repo-check` |
## 可用模型
- `gpt-5.1-codex` - 标准模型
- `gpt-5-codex` - 标准模型
- `gpt-5.1-codex` - 增强版
- `gpt-5.1-codex-max` - 最强模型
- `gpt-5.1-codex-xhigh` - 超高性能
## 推理强度配置
@ -37,25 +79,45 @@ npm install -g @openai/codex-cli
## 无头模式用法
```bash
# 基础调用
codex -m gpt-5.1-codex "Your prompt"
# 非交互执行
codex exec "fix all linting errors"
# YOLO 模式(跳过所有确认)
# 管道输入
echo "explain this error" | codex exec -
# YOLO 模式(跳过所有确认和沙箱)
codex --yolo "Your prompt"
# 完整 YOLO 配置
codex --enable web_search_request \
-m gpt-5.1-codex-max \
-c model_reasoning_effort="high" \
--dangerously-bypass-approvals-and-sandbox \
"Your prompt"
# 或完整写法
codex --dangerously-bypass-approvals-and-sandbox "Your prompt"
# 别名设置
alias c='codex --enable web_search_request -m gpt-5.1-codex-max -c model_reasoning_effort="high" --dangerously-bypass-approvals-and-sandbox'
# full-auto 模式(推荐的自动化方式)
codex --full-auto "Your prompt"
# 完整 YOLO 配置别名
alias c='codex --enable web_search_request -m gpt-5.1-codex-max -c model_reasoning_effort="high" --yolo'
# 恢复最近会话
codex resume --last
codex exec resume --last "continue"
```
## 配置文件
配置存储在 `~/.codex/config.toml`
```toml
model = "gpt-5-codex"
sandbox = "workspace-write"
ask_for_approval = "on-failure"
[features]
web_search_request = true
```
## 常见问题
1. **审批弹窗**: 使用 `--dangerously-bypass-approvals-and-sandbox`
2. **需要联网**: 使用 `--enable web_search_request`
1. **审批弹窗**: 使用 `--yolo` 或 `--full-auto`
2. **需要联网**: 使用 `--search` 或 `--enable web_search_request`
3. **推理不够深**: 使用 `-c model_reasoning_effort="high"`
4. **非 Git 目录**: 使用 `--skip-git-repo-check`

View File

@ -1,46 +1,70 @@
# Gemini CLI 参数参考
> 来源: [官方文档](https://geminicli.com/docs/get-started/configuration/)
## 安装
```bash
npm install -g @anthropic-ai/gemini-cli
# 或
npx https://github.com/anthropics/anthropic-quickstarts/tree/main/gemini-cli
```
> ⚠️ 请以 [官方文档](https://github.com/google-gemini/gemini-cli) 为准
## 认证
首次运行会引导 Google 账号登录。
首次运行会引导 Google 账号登录,或设置环境变量:
```bash
export GEMINI_API_KEY="YOUR_API_KEY"
```
## 核心参数
## 核心命令行参数
| 参数 | 说明 | 示例 |
|:---|:---|:---|
| `-m, --model` | 指定模型 | `-m gemini-2.5-flash` |
| `--output-format` | 输出格式 (text/json) | `--output-format text` |
| `--allowed-tools` | 允许的工具 | `--allowed-tools ''` (禁用所有) |
| `--yolo` | YOLO 模式,跳过所有确认 | `--yolo` |
| `--sandbox` | 沙箱模式 | `--sandbox` |
| `--model <model>` | 指定模型 | `--model gemini-2.5-flash` |
| `--yolo` | YOLO 模式,自动批准所有工具调用 | `gemini --yolo` |
| `--approval-mode <mode>` | 审批模式: `default`/`auto_edit`/`yolo` | `--approval-mode auto_edit` |
| `--allowed-tools <tools>` | 允许的工具列表(逗号分隔) | `--allowed-tools ''` (禁用所有) |
| `--output-format <format>` | 输出格式: `text`/`json`/`stream-json` | `--output-format text` |
| `--sandbox` / `-s` | 启用沙箱模式 | `gemini -s` |
| `--prompt <prompt>` / `-p` | 非交互模式,直接传入提示词 | `gemini -p "query"` |
| `--prompt-interactive <prompt>` / `-i` | 交互模式,带初始提示词 | `gemini -i "explain"` |
| `--debug` / `-d` | 启用调试模式 | `gemini -d` |
## 可用模型
- `gemini-2.5-flash` - 快速模型
- `gemini-2.5-pro` - 高级模型
- `gemini-3.0-pro` - 最新模型
- `gemini-3-flash-preview` - 最新 Flash
- `gemini-3-pro-preview` - 最新 Pro
## 无头模式用法
```bash
# 基础无头调用
cat input.txt | gemini -m gemini-2.5-flash --output-format text "Your prompt"
# 基础无头调用(管道输入)
cat input.txt | gemini -p "Your prompt" --output-format text
# 禁用工具调用(纯文本输出)
cat input.txt | gemini -m gemini-2.5-flash --output-format text --allowed-tools '' "Your prompt"
cat input.txt | gemini -p "Your prompt" --output-format text --allowed-tools ''
# YOLO 模式(跳过所有确认)
gemini --yolo "Your prompt"
# 或使用 approval-mode
gemini --approval-mode yolo "Your prompt"
```
## 配置文件
配置存储在 `~/.gemini/settings.json` 或项目 `.gemini/settings.json`
```json
{
"security": {
"disableYoloMode": false
},
"model": {
"name": "gemini-2.5-flash"
}
}
```
## 代理配置