首页 教程 常见问题

无头/编程模式

在非交互模式下使用 Claude Code,适用于脚本、CI/CD 和自动化工作流。

什么是无头模式

无头模式(Headless Mode)让 Claude Code 在没有交互式终端的环境中运行。你可以:

使用方式

单轮模式(--print)

最简单的方式——给一个提示,获取回复,退出:

claude --print "这个项目用了什么框架?"
claude --print "给 main.py 写单元测试"

这会启动 Claude,执行任务,输出结果,然后退出。

管道模式

可以与其他命令行工具组合使用:

# 将日志喂给 Claude 分析
tail -100 app.log | claude --print "分析错误模式"

# 批量审查变更
git diff main --name-only | claude --print "审查这些文件的安全问题"

# 自动化翻译
cat messages.json | claude --print "翻译成法语和西班牙语,保持 JSON 格式"

在 CI/CD 中使用

在 GitHub Actions 或其他 CI 系统中:

- name: Code review
  run: |
    claude --print "审查当前分支与 main 的 diff,关注安全问题和代码质量"

环境变量

在无头模式下,你可能需要设置:

# API 密钥认证
export ANTHROPIC_API_KEY="sk-..."

# 指定模型
export ANTHROPIC_MODEL="claude-sonnet-4-20250514"

# 非交互模式
export CI=true

权限控制

在无头模式下,Claude 不能等待你的批准。你需要:

输出格式

Claude 的输出是纯文本,可以进一步处理:

# 保存输出到文件
claude --print "生成 API 文档" > docs/api.md

# 管道到其他工具
claude --print "检查代码风格问题" | grep "ERROR"

下一步