Claude Code 可以完全不用界面跑——这个模式让它真正变成自动化工具

0 阅读2分钟

我之前的 code review 流程是这样的:写完代码,开 Claude Code,粘代码进去,输入 /review,等结果,再处理反馈。

整个流程没问题,但每次都要我手动触发。

后来我把这个步骤接进了 git hook:每次 git push,自动调用 Claude Code 跑一遍 review,结果写进 log 文件。我不需要在旁边,它自己跑完,我有空了再看结果。

这不是魔法,是 Claude Code 的 headless mode。

你还在手动触发,它其实可以自动跑。


什么是 Headless Mode

Headless mode 是 Claude Code 的非交互运行模式。不开终端 UI,不等用户输入,直接接收指令、执行、输出结果,然后退出。

claude -p "帮我 review 这个文件的错误处理" --output-format json

-p 参数直接传入提示词,处理完输出结果,进程结束。可以被脚本调用、git hook 触发、CI/CD 执行、cron job 定时运行。

几个实用场景

git push 时自动 code review

.git/hooks/pre-push

#!/bin/bash
claude -p "review 最近一次 commit,检查边界条件和错误处理" \
  --output-format text > .claude-review.log

CI/CD 里自动生成 PR 描述

git diff main...HEAD | claude -p "根据这个 diff 生成 PR 描述" --output-format text

定时检查文档是否过期

claude -p "检查 docs/ 目录下的文档,找出和当前代码不一致的地方" \
  --output-format json > doc-audit.json

权限控制:headless 模式里要小心

原则:先给读权限,观察行为。确认符合预期,再考虑给写权限。

自动化 + 写权限是高风险组合。自动化 + 只读是低风险起点。先把「它会做什么」搞清楚,再决定「让不让它做」。

和 Hooks 的区别

第三篇讲的 Hooks 是「Claude Code 动作触发 shell 命令」。

Headless mode 是「shell 命令触发 Claude Code」。

两者方向相反,可以组合:用 cron 触发 headless 模式跑分析,分析完之后 hook 自动发通知。


找一个你现在手动重复的 Claude Code 操作,想想它能不能自动化。

你现在有哪些操作是在手动重复触发的?欢迎评论区说说。

这是「Claude Code 那些没人告诉你的用法」第十篇。关注不迷路。


更多 Java 工程实战与 AI 工具内容,欢迎关注公众号:SamLai 效率研习社