Claude Code: 交互模式与操作说明

最后更新:2026-08-31

Claude Code 提供多种交互模式,从终端对话到管道自动化,每种模式适合不同场景。

💡 提示:交互模式是你和 Claude Code 对话的方式;管道模式是脚本调用 Claude Code 的方式;头部模式是无界面自动化运行的方式。

📋 前置知识:第六章 项目初始化与项目结构

1. 你将学到


2. 三种交互模式

(1) 模式概览

模式 启动方式 适用场景 人机交互
交互式 claude 日常开发、探索性编程 全交互
管道 echo "..." | claude 快速单次任务 半交互
头部 claude --headless CI/CD、自动化脚本 无交互

(2) 模式选择决策

100%
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=被中断。

📖 小节


📝 作业

  1. 基础题(难度⭐):分别用交互模式和管道模式完成同一个任务,对比操作差异。
  2. 进阶题(难度⭐⭐):用管道模式实现 git diff | claude "代码审查" 的自动化审查流程。
  3. 挑战题(难度⭐⭐⭐):配置一个 GitHub Actions 工作流,在 PR 时自动用头部模式运行 Claude Code 代码审查。
Web-Tutorial.com

Web-Tutorial 技术团队

由多位开发者共同维护的编程教程平台。每篇教程由对应领域的开发者编写和审核,确保内容准确可靠。如发现任何问题,欢迎向我们反馈。

100%

🙏 帮我们做得更好

我们是刚上线的编程教程站,几个人的小团队,精力有限。页面虽经检查,难免还有疏漏——链接失效、排版错乱、内容有误、语言生硬……

如果您发现了,麻烦告诉我们,我们会在收到反馈后第一时间进行修复,再次感谢您的光临 🙏