Claude Code: 交互模式与操作说明
最后更新:2026-08-31
Claude Code 提供多种交互模式,从终端对话到管道自动化,每种模式适合不同场景。
💡 提示:交互模式是你和 Claude Code 对话的方式;管道模式是脚本调用 Claude Code 的方式;头部模式是无界面自动化运行的方式。
📋 前置知识:第六章 项目初始化与项目结构
1. 你将学到
- 三种交互模式及适用场景
- 交互式会话的操作技巧
- 管道模式的输入输出
- 头部模式的自动化场景
- 中断、恢复与多会话管理
2. 三种交互模式
(1) 模式概览
| 模式 | 启动方式 | 适用场景 | 人机交互 |
|---|---|---|---|
| 交互式 | claude |
日常开发、探索性编程 | 全交互 |
| 管道 | echo "..." | claude |
快速单次任务 | 半交互 |
| 头部 | claude --headless |
CI/CD、自动化脚本 | 无交互 |
(2) 模式选择决策
graph TD
A[需要 Claude Code] --> B{需要交互吗?}
B -->|是| C{单次还是多轮?}
B -->|否| D[头部模式]
C -->|多轮| E[交互式]
C -->|单次| F[管道模式]
D --> D1[CI/CD]
D --> D2[批量脚本]
E --> E1[日常开发]
E --> E2[复杂重构]
F --> F1[快速查询]
F --> F2[单文件修改]
3. 交互式模式
(1) 启动与操作
BASH
# 标准启动
claude
# 带初始指令启动
claude "分析项目结构"
# 恢复上次会话
claude --resume
# 指定模型
claude --model claude-opus-4-20250514
(2) 交互中的操作控制
| 操作 | 按键/命令 | 说明 |
|---|---|---|
| 提交指令 | Enter | 发送当前输入 |
| 换行 | Shift+Enter | 输入多行指令 |
| 中断 | Ctrl+C | 停止当前操作 |
| 退出 | Ctrl+D 或 /exit |
退出 Claude Code |
| 清除上下文 | /clear |
清空对话历史 |
| 查看帮助 | /help |
显示可用命令 |
▶ 示例 1: 交互式会话流程
TEXT
📖 仅展示
$ claude
> 看看 src/utils/ 下有哪些工具函数
Claude: Reading src/utils/...
- date.ts formatDate(), relativeTime()
- string.ts capitalize(), truncate()
- validation.ts isValidEmail(), isValidPhone()
> 给 string.ts 添加一个 slugify 函数
Claude: Adding slugify() to src/utils/string.ts...
→ Reading src/utils/string.ts
→ Adding slugify function with tests
→ Running: npm test -- string.test.ts
✅ All tests passed
> 再添加一个 camelToSnake 转换函数
Claude: Adding camelToSnake() to src/utils/string.ts...
→ Reading src/utils/string.ts
→ Adding camelToSnake with tests
→ Running: npm test -- string.test.ts
✅ All tests passed
4. 管道模式
(1) 基本用法
BASH
# 从 stdin 传入指令
echo "解释这个函数的作用" | claude
# 将文件内容传给 Claude Code
cat src/auth.ts | claude "审查这段代码的安全性"
# 组合使用
git diff | claude "审查这次变更,指出潜在问题"
(2) 输出控制
BASH
# 纯文本输出(无交互确认)
claude -p "列出所有 TODO 注释" --output text
# JSON 格式输出
claude -p "分析项目依赖" --output json
# 静默模式(只输出结果)
echo "运行测试" | claude --quiet
▶ 示例 2: 管道模式实际应用
BASH
# 代码审查自动化
git diff main..feature | claude "审查变更:
1. 是否有安全漏洞
2. 是否遵循项目编码规范
3. 是否缺少测试"
# 批量文档生成
for file in src/*.ts; do
echo "为 $file 生成 JSDoc 注释" | claude --quiet >> docs/api.md
done
# 快速查询
echo "package.json 中有哪些过时的依赖?" | claude
5. 头部模式(Headless)
(1) 启动方式
BASH
# 无界面运行(自动批准所有操作)
claude --headless "运行全量测试并修复所有失败用例"
# 指定输出格式
claude --headless --output json "分析代码质量"
# 配合 CI/CD
claude --headless --allow-full-auto "代码审查并自动修复 lint 问题"
(2) 安全注意事项
| 参数 | 风险等级 | 说明 |
|---|---|---|
--headless |
中 | 自动运行但需预批准权限 |
--allow-full-auto |
高 | 全自动,所有操作不确认 |
--allowed-tools |
低 | 只允许指定工具 |
▶ 示例 3: CI/CD 中的头部模式
YAML
# GitHub Actions 配置
name: AI Code Review
on: [pull_request]
jobs:
review:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install Claude Code
run: npm install -g @anthropic-ai/claude-code
- name: Run AI Review
env:
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
run: |
claude --headless --output json \
"审查这个 PR 的变更,检查:
1. 安全漏洞
2. 性能问题
3. 代码风格
输出 JSON 格式报告"
6. 多会话管理
(1) 会话恢复
BASH
# 列出历史会话
claude --list-sessions
# 恢复指定会话
claude --resume <session-id>
# 恢复最近一次会话
claude --resume
(2) 会话间切换
TEXT
📖 仅展示
# Alice 同时处理多个任务
# 任务1:前端重构
cd frontend && claude
> 重构组件结构...
# Ctrl+D 退出
# 任务2:后端 API
cd backend && claude
> 添加新接口...
# 恢复任务1
cd frontend && claude --resume
7. 综合示例:多模式协作
BASH
# Alice 的日常开发工作流
# 早上:交互模式探索
claude "看看昨天留下的 TODO,帮我逐个处理"
# 中午:管道模式快速修复
git diff | claude "修复这些 lint 错误" | git apply
# 下午:交互模式深度开发
claude "实现用户权限系统的 RBAC 模型"
# 晚上:头部模式跑全量检查
claude --headless --allowed-tools Read,Write,Bash \
"运行全量测试,修复所有失败用例,不要修改测试断言"
# CI:头部模式自动审查
claude --headless --output json "代码审查"
❓ 常见问题
Q 交互模式和管道模式能切换吗?
A 不能。启动时选定模式,运行中不可切换。需要不同模式就退出重新启动。
Q 头部模式安全吗?
A
--headless 本身只是去掉交互界面,操作仍受权限控制。但 --allow-full-auto 会自动批准所有操作,高风险,只建议在 CI 环境使用。Q 如何中断 Claude Code 的执行?
A 按 Ctrl+C 中断当前操作,不会丢失已有修改。Ctrl+D 退出整个会话。
Q 会话历史保存多久?
A 会话历史保存在本地,默认保留最近 30 天。可通过
--list-sessions 查看。Q 管道模式支持多轮对话吗?
A 不支持。管道模式是单次输入输出。需要多轮请用交互式。
Q 如何在脚本中判断 Claude Code 执行成功?
A 检查退出码:0=成功,1=失败,2=被中断。
📖 小节
- 三种模式:交互式(日常)、管道(快速单次)、头部(自动化)
- 交互模式支持多轮对话,Ctrl+C 中断,Ctrl+D 退出
- 管道模式适合单次任务,可与 git diff 等命令组合
- 头部模式用于 CI/CD,
--allow-full-auto需谨慎 - 会话可恢复,支持多任务并行
📝 作业
- 基础题(难度⭐):分别用交互模式和管道模式完成同一个任务,对比操作差异。
- 进阶题(难度⭐⭐):用管道模式实现
git diff | claude "代码审查"的自动化审查流程。 - 挑战题(难度⭐⭐⭐):配置一个 GitHub Actions 工作流,在 PR 时自动用头部模式运行 Claude Code 代码审查。