Skip to content

无头模式

概述

无头模式允许您从命令行脚本和自动化工具以编程方式运行 Claude Code,无需任何交互式 UI。

基本用法

使用 --print(或 -p)标志以非交互模式运行并打印最终结果:

bash
claude -p "explain this function"

配置选项

标志描述示例
--print, -p以非交互模式运行claude -p "query"
--output-format指定输出格式(text、json、stream-json)claude -p --output-format json
--resume, -r按会话 ID 恢复对话claude --resume abc123
--continue, -c继续最近的对话claude --continue
--verbose启用详细日志记录claude --verbose
--append-system-prompt附加到系统提示claude --append-system-prompt "Custom instruction"
--allowedTools允许的工具列表claude --allowedTools mcp__slack
--disallowedTools拒绝的工具列表claude --disallowedTools mcp__github
--mcp-config从 JSON 文件加载 MCP 服务器claude --mcp-config servers.json
--max-turns限制代理轮数claude -p --max-turns 3 "query"

多轮对话

bash
# 继续最近的对话
claude --continue

# 使用特定提示继续
claude --continue --print "Show me our progress"

# 按 ID 恢复会话
claude --resume abc123 "Continue the task"

输出格式

文本输出(默认)

bash
claude -p "query"

JSON 输出

返回包含元数据的结构化数据:

bash
claude -p "query" --output-format json

流式 JSON 输出

在接收到每条消息时流式传输:

bash
claude -p "query" --output-format stream-json

输入格式

文本输入(默认)

bash
echo "explain this code" | claude -p

流式 JSON 输入

通过 stdin 提供的消息流:

bash
claude -p --output-format stream-json --input-format stream-json

代理集成示例

SRE 事件响应机器人

bash
claude -p "Analyze this error log and suggest fixes" < error.log

自动化安全审查

bash
claude -p "Review this code for security vulnerabilities" < code.py

多轮法律助手

bash
claude --continue -p "Continue reviewing the contract"

最佳实践

  • 使用 --output-format json 进行程序化处理
  • 使用 --max-turns 限制长时间运行的任务
  • 使用 --allowedTools--disallowedTools 控制工具访问
  • 使用 --verbose 进行调试

aicodex 文档网站