<picture>
  <source media="(prefers-color-scheme: dark)" srcset="../../resources/logos/claude-howto-logo-dark.svg">
  <img alt="Claude How To" src="../../resources/logos/claude-howto-logo.svg">
</picture>

# 高级功能

这是一份关于 Claude Code 高级能力的完整指南，涵盖 planning mode、extended thinking、auto mode、后台任务、权限模式、打印模式（非交互）、会话管理、交互功能、消息通道（Channels）、语音输入、远程控制、网页会话、桌面应用、任务列表、提示词建议、Git 工作树、沙盒、受管设置和配置。

## 目录

1. [概览](#概览)
2. [规划模式](#规划模式)
3. [扩展思考](#扩展思考)
4. [自动模式](#自动模式)
5. [后台任务](#后台任务)
6. [定时任务](#定时任务)
7. [权限模式](#权限模式)
8. [无头模式](#无头模式)
9. [会话管理](#会话管理)
10. [交互功能](#交互功能)
11. [语音输入](#语音输入)
12. [消息通道（Channels）](#消息通道channels)
13. [Chrome 集成](#chrome-集成)
14. [远程控制](#远程控制)
15. [网页会话](#网页会话)
16. [桌面应用](#桌面应用)
17. [任务列表](#任务列表)
18. [提示词建议](#提示词建议)
19. [Git 工作树（Git Worktrees）](#git-工作树git-worktrees)
20. [沙盒](#沙盒)
21. [企业受管设置](#企业受管设置)
22. [配置与设置](#配置与设置)
23. [最佳实践](#最佳实践)
24. [更多资源](#更多资源)

---

<a id="overview"></a>
## 概览

Claude Code 的高级功能把基础能力扩展到了规划、推理、自动化和控制层面。它们能支持更复杂的开发任务、代码审查、自动化流程以及多会话管理。

**核心高级功能包括：**
- **Planning Mode**：先写详细实现计划，再开始编码
- **Extended Thinking**：对复杂问题进行更深入的推理
- **Auto Mode**：由后台安全分类器在每一步执行前进行审查（Research Preview）
- **Background Tasks**：长时间任务不阻塞对话
- **Permission Modes**：控制 Claude 可以做什么（`default`、`acceptEdits`、`plan`、`auto`、`dontAsk`、`bypassPermissions`）
- **Print Mode**：非交互式运行，适合自动化和 CI/CD（`claude -p`）
- **Session Management**：管理多个会话
- **Interactive Features**：快捷键、多行输入、历史记录
- **Voice Dictation**：按住说话，支持 20 种语言的语音识别
- **Channels**：消息通道，允许 MCP server 向运行中的会话推送消息（Research Preview）
- **Remote Control**：从 Claude.ai 或 Claude app 控制本地会话
- **Web Sessions**：在浏览器中运行 Claude Code
- **Desktop App**：支持可视化 diff 审查和多会话的独立应用
- **Task List**：跨 context compaction 持久跟踪任务
- **Prompt Suggestions**：根据上下文智能推荐命令
- **Git 工作树（Git Worktrees）**：隔离的 worktree 分支，适合并行工作
- **Sandboxing**：操作系统级文件系统和网络隔离
- **Managed Settings**：通过 plist、Registry 或受管文件进行企业部署
- **Configuration**：用 JSON 配置文件定制行为

<a id="planning-mode"></a>
## 规划模式

更多规划示例见 [planning-mode-examples.md](planning-mode-examples.md)。

Planning mode 允许 Claude 在真正实现前先梳理复杂任务，生成一份你可以审阅并批准的详细计划。

### 什么是 Planning Mode？

Planning mode 是一个两阶段流程：
1. **规划阶段**：Claude 分析任务并生成详细实现计划
2. **实现阶段**：在你批准后，Claude 执行计划

### 什么时候使用 Planning Mode

✅ 适合：
- 复杂的多文件重构
- 新功能开发
- 架构调整
- 数据库迁移
- 大型 API 重设计

❌ 不建议：
- 简单 bug 修复
- 格式化修改
- 单文件编辑
- 快速查询

### 如何启动 Planning Mode

**Slash command：**
```bash
/plan Implement user authentication system
```

**CLI 参数：**
```bash
claude --permission-mode plan
```

**设为默认：**
```json
{
  "permissions": {
    "defaultMode": "plan"
  }
}
```

**快捷键：**
- `Shift + Tab` - 切换权限模式（包括 plan）
- `Alt + M` - 切换权限模式（Windows/Linux）

### Planning Mode 的好处

- **结构化实施方式**：把实现步骤拆得更清楚
- **审阅和批准**：先看计划，再执行
- **风险识别**：先发现潜在问题
- **阶段清晰**：有明确的里程碑和阶段划分

### 示例：功能实现

```text
User: /plan Add a real-time notification system

Claude: 我会为实时通知系统制定计划。

## 实现计划

### 阶段 1：基础设施
1. 安装 WebSocket 库（socket.io）
2. 搭建 WebSocket server
3. 配置连接管理

### 阶段 2：后端
4. 创建通知服务
5. 实现通知队列
6. 为通知添加数据库 schema
7. 创建 API 端点

### 阶段 3：前端
8. 搭建 WebSocket client
9. 创建通知 UI 组件
10. 实现通知状态管理
11. 添加通知权限

### 阶段 4：测试与发布
12. 编写单元测试
13. 编写集成测试
14. 更新文档
15. 部署到 staging

预计时间：3-4 小时
需要修改的文件：12 个
需要创建的新文件：8 个

准备继续吗？（yes/no/modify plan）
```

### 计划修改

```text
User: 修改计划 - 先跳过队列，后面再加

Claude: 已更新计划：
[展示删除队列后的计划]

User: 看起来不错，继续

Claude: [按修改后的计划开始实现]
```

### Planning Mode 配置

你可以通过 CLI 参数或 slash command 启用 planning mode：

```bash
# 通过 CLI 启用 plan mode
claude --permission-mode plan

# 或在 REPL 里使用 /plan
/plan Implement user authentication system
```

**规划专用模型别名**：使用 `opusplan`，规划用 Opus，执行用 Sonnet：

```bash
claude --model opusplan "design and implement the new API"
```

**外部编辑计划**：按 `Ctrl+G` 可以把当前计划打开到外部编辑器里进行更详细的修改。

<a id="extended-thinking"></a>
## 扩展思考

Extended thinking 让 Claude 在给出解决方案前，花更多时间进行复杂推理。

### 什么是 Extended Thinking？

这是一个有意识的、分步骤的推理过程，Claude 会：
- 拆解复杂问题
- 比较多种方案
- 评估权衡
- 推导边界情况

### 如何启用

**快捷键：**
- `Option + T`（macOS）/ `Alt + T`（Windows/Linux）- 切换 extended thinking

**自动启用：**
- 对所有模型默认开启（Opus 4.6、Sonnet 4.6、Haiku 4.5）
- Opus 4.6 支持自适应推理，effort 等级为 `low`（○）、`medium`（◐）、`high`（●）、`max`（仅 Opus 4.6）

### 好处

- 更适合复杂问题
- 更容易发现边界条件
- 便于比较多个方案
- 输出通常更稳健

### 示例：架构决策

```text
Context Analysis
Approach 1: Microservices
Approach 2: Monolith
Decision Factors
Recommendation
```

### 配置

```json
{
  "thinking": {
    "enabled": true,
    "effort": "high"
  }
}
```

<a id="auto-mode"></a>
## 自动模式

Auto mode 是一个研究预览功能。它会在每个动作执行前，用后台安全分类器评估风险，帮助你在自动化和安全之间取得平衡。

### 需求

- 支持 auto mode 的 Claude Code 版本
- 合适的权限和配置

### 启用方式

```bash
# 用 CLI 解锁 auto mode
claude --enable-auto-mode

# 然后在 REPL 中用 Shift+Tab 切换到它
```

### 分类器如何工作

在执行工具前，后台分类器会判断这个动作是否安全、是否需要提示、是否应该被阻止。

### 默认阻止的动作

- 明显危险的文件操作
- 高风险 shell 命令
- 可能泄露凭据的操作

### 默认允许的动作

- 只读检查
- 常规分析
- 低风险修改

### 配置 Auto Mode

Auto mode 可以在设置中进一步约束、放宽或与权限模式结合使用。

### 回退行为

如果分类器无法判定，Claude 会回退到更保守的权限处理方式。

### 预置一份类似 Auto-Mode 的保守权限基线

```bash
# 先预览将要添加的权限（不会写入）

# 应用保守基线

# 只有在需要时再逐步增加能力
```

<a id="background-tasks"></a>
## 后台任务

后台任务允许 Claude 在不阻塞对话的情况下运行长时间操作。

### 什么是后台任务？

后台任务适合长时间运行的工作，例如构建、测试、下载、扫描或并行分析。你可以把它们交给 Claude，让对话继续保持响应。

### 启动后台任务

你可以从命令、计划或工具链中启动后台任务，让 Claude 在后台继续工作。

### 管理后台任务

- 查看任务状态
- 中止任务
- 等待任务完成
- 从结果中恢复上下文

### 示例：并行开发

```text
任务 A：运行测试
任务 B：生成文档
任务 C：执行安全扫描
```

### 配置

后台任务的超时、并发和通知行为都可以在设置中调整。

<a id="scheduled-tasks"></a>
## 定时任务

Scheduled tasks 让 Claude 按计划重复执行某些提示词或任务。

### `/loop` 命令

```bash
# 显式间隔
/loop 10m Run tests and report failures

# 自然语言
/loop every day at 9am check release notes
```

### 一次性提醒

```bash
/schedule "remind me to review the PR in 30 minutes"
```

### 管理定时任务

- 查看任务列表
- 修改执行频率
- 暂停或取消任务

### 行为细节

定时任务会遵循当前会话与权限配置，并按计划触发执行。

### 云端定时任务

部分场景可以在云端环境中运行调度任务。

### 禁用定时任务

如果你不希望自动触发，关闭相关设置即可。

### 示例：监控部署

```text
每 5 分钟检查一次部署状态，直到 health check 通过。
```

<a id="permission-modes"></a>
## 权限模式

Permission modes 决定 Claude 可以直接执行哪些操作。

### 可用模式

- `default`
- `acceptEdits`
- `plan`
- `auto`
- `dontAsk`
- `bypassPermissions`

### 启用方式

可以通过命令行、设置或会话中的快捷操作切换权限模式。

### 示例

#### Default Mode

默认的平衡模式，必要时会询问权限。

#### Plan Mode

只做规划，不直接执行高风险改动。

#### Accept Edits Mode

更偏向自动接受编辑，适合受控环境。

### 使用场景

- 代码审查
- 自动化重构
- CI/CD
- 高风险操作前的审批流程

<a id="headless-mode"></a>
## 无头模式

Headless mode 指非交互式运行 Claude Code，常用于自动化和 CI/CD。

### 什么是 Print Mode？

Print mode 就是 `claude -p`：给一个任务，输出结果，然后退出。

### 在 Print Mode 中运行

```bash
# 运行指定任务
claude -p "run tests and summarize failures"

# 处理管道内容
cat logs.txt | claude -p "find the root cause"

# CI/CD 集成
claude -p "review this diff and return JSON"
```

### 其他示例

```bash
# 捕获输出
claude -p "analyze this code" > report.txt

# 结构化输出
claude -p --output-format json "list files"

# 标准输入
echo "hello" | claude -p "translate to Chinese"
```

### CI/CD 示例

```yaml
# .github/workflows/code-review.yml
```

### Print Mode 配置

- 限制自主回合数
- 使用结构化 JSON 输出
- 启用 schema 验证
- 禁用会话持久化

<a id="session-management"></a>
## 会话管理

会话管理用于在多个会话之间恢复、重命名、分叉和持续工作。

### 常用命令

- `/resume`
- `/rename`
- `/fork`
- `claude -c`
- `claude -r`

### 恢复会话

```bash
# 继续最后一次对话
claude -c

# 恢复指定名称或 ID 的会话
claude -r "feature-auth"
```

### 分叉会话

```bash
# 恢复并分叉，适合实验
claude -r "feature-auth" --fork
```

### 会话持久化

你可以选择保留、继续或重建会话上下文。

<a id="interactive-features"></a>
## 交互功能

交互功能包括快捷键、多行输入、历史记录、Vim 模式和 Bash 模式等。

### 快捷键

常用快捷键用于切换模式、编辑输入、查看历史和控制输出。

### 自定义快捷键

你可以在设置中绑定自己的按键组合。

### 可用上下文

不同上下文会影响快捷键的可用性和行为。

### Chord 支持

支持组合按键触发复杂操作。

### 保留键与冲突键

某些按键会被系统或终端占用，需要避免冲突。

### Tab 补全

输入命令、参数或路径时会提供补全建议。

### 命令历史

Claude 会保留历史记录，方便你快速重用之前的输入。

### 多行输入

```text
第一行
第二行
第三行
```

### 行内编辑

支持在输入过程中编辑中间内容。

### Vim 模式

如果你熟悉 Vim，可以启用类似的编辑体验。

### Bash 模式

可在会话中直接进入更偏 shell 风格的操作方式。

<a id="voice-dictation"></a>
## 语音输入

语音输入支持按住说话和多语言识别，适合快速记录想法或在不方便键盘输入时使用。

### 如何启用

在设置中打开语音输入即可。

### 特性

- 支持按住说话
- 支持 20 种语言的语音识别
- 适合快速口述任务

### 配置

可在 settings 中控制灵敏度、语言和输入行为。

<a id="channels"></a>
## 消息通道（Channels）

消息通道允许 MCP servers 向正在运行的会话推送消息。

### 订阅 channels

```bash
# 启动时订阅 channel 插件
```

### 支持的集成

- Discord
- Telegram
- 其他 channel 型集成

### 配置

通过 MCP 配置或 settings 订阅相应 channel。

### 工作方式

外部系统可以把消息推送进 Claude 的当前会话里，让你在一个会话中接收通知或事件。

<a id="chrome-integration"></a>
## Chrome 集成

Chrome 集成让 Claude 可以协助浏览器自动化和站点级操作。

### 启用 Chrome 集成

开启相关开关后，Claude 就可以与浏览器协作。

### 能力

- 浏览器自动化
- 页面操作
- 网站级交互

### 站点级权限

你可以对站点设置更细粒度的访问权限。

### 工作方式

Claude 通过浏览器连接与页面交互。

### 已知限制

- 某些站点会限制自动化
- 复杂页面可能需要更多权限

<a id="remote-control"></a>
## 远程控制

Remote Control 可以让你从 Claude.ai 或 Claude app 远程控制本地 Claude Code 会话。

### 启动 Remote Control

```bash
# 使用默认会话名启动
claude --remote-control

# 使用自定义名称
claude --remote-control --name my-session
```

### 连接到会话

你可以在远程端连接到已经启动的本地会话，继续同一个上下文。

### 安全性

远程控制会牵涉到会话和权限，因此建议只在可信环境中使用。

### Remote Control vs Claude Code on the web

Remote Control 是控制本地会话；web 版则是在浏览器中直接运行。

### 局限

- 网络可用性依赖更高
- 某些本地资源可能不可远程访问

### 使用场景

- 在手机上查看并接管会话
- 远程继续长期任务

<a id="web-sessions"></a>
## 网页会话

Web Sessions 允许你直接在浏览器里创建和恢复 Claude Code 会话。

### 创建 Web Session

```bash
# 从 CLI 创建新的 web session
claude --remote "implement API"
```

### 在本地恢复 Web Session

```bash
# 在本地终端恢复 web session
claude --teleport
```

### 使用场景

- 浏览器里快速开始任务
- 在本地和网页之间切换
- 远程继续工作

<a id="desktop-app"></a>
## 桌面应用

桌面应用提供独立界面，适合视觉化 diff 审查和多会话管理。

### 安装

按照桌面应用的安装说明安装即可。

### 从 CLI 接力

你可以把 CLI 会话交给桌面应用继续处理。

### 核心功能

- 可视化 diff
- 多会话
- 更直观的审查体验

### App 预览配置

可以调整预览、布局和视觉呈现方式。

### Connectors

桌面应用可以连接到不同的工作环境。

### 远程和 SSH 会话

桌面应用也支持远程或 SSH 场景下的接力。

### Desktop 中的权限模式

Desktop 里同样可以使用不同的权限模式。

### 企业功能

企业部署下可使用更多受管和合规相关能力。

<a id="task-list"></a>
## 任务列表

Task List 用于跨 context compaction 持久保存任务进度。

### 切换任务列表

在设置里打开或关闭任务列表显示。

### 持久任务

任务会保留，即使上下文被压缩，也能继续跟踪。

### 命名任务目录

你可以给任务分组或目录命名，方便管理。

<a id="prompt-suggestions"></a>
## 提示词建议

Prompt suggestions 会根据当前上下文智能推荐下一步命令或提示词。

### 工作方式

系统会结合你的历史、当前任务和上下文给出建议。

### 禁用建议

如果你不想看到建议，可以在设置里关闭。

<a id="git-worktrees"></a>
## Git 工作树（Git Worktrees）

Git worktrees 让你在隔离的目录里并行工作，非常适合实验和分支开发。

### 从 worktree 启动

```bash
# 在隔离 worktree 中启动 Claude Code
claude -w
```

### Worktree 位置

你可以控制 worktree 的放置位置，保持主工作区整洁。

### Monorepo 的 sparse checkout

在大型 monorepo 中，可配合 sparse checkout 只加载需要的部分。

### Worktree 工具和 Hooks

worktree 场景下依然可以配合工具和 hooks 自动化流程。

### 自动清理

不需要的 worktree 可以自动清理。

### 使用场景

- 并行尝试多个方案
- 隔离高风险重构
- 保持主分支整洁

<a id="sandboxing"></a>
## 沙盒

沙盒提供文件系统和网络层面的隔离，能显著降低自动化操作的风险。

### 启用沙盒

开启后，Claude 的很多操作都会在受控环境里执行。

### 配置项

你可以配置允许访问的目录、网络行为和例外列表。

### 示例配置

```json
{
  "sandbox": {
    "enabled": true
  }
}
```

### 工作方式

沙盒会限制 Claude 可触达的文件和网络边界。

### 使用场景

- 低风险自动化
- 在不完全信任的输入上执行任务
- 受控环境中的批处理

<a id="managed-settings-enterprise"></a>
## 企业受管设置

企业可以通过受管设置统一分发 Claude Code 配置。

### 部署方式

- plist
- Registry
- 受管文件

### 受管配置片段

通过受管配置片段，可以给团队统一推送策略。

### 可用的受管设置

- 权限模式
- 功能开关
- MCP / hooks / 插件约束

### macOS plist 示例

```xml
<!-- 示例略 -->
```

<a id="configuration-and-settings"></a>
## 配置与设置

### 配置文件位置

- `~/.claude/settings.json`
- `.claude/settings.json`
- `.claude/settings.local.json`

### 完整配置示例

```json
{
  "permissions": {
    "defaultMode": "plan"
  },
  "thinking": {
    "enabled": true,
    "effort": "high"
  },
  "autoCheckpoint": true
}
```

### 环境变量

#### 模型选择

- `ANTHROPIC_API_KEY`
- `CLAUDE_MODEL`

#### API 配置

- `ANTHROPIC_API_KEY`

#### Thinking 配置

- `CLAUDE_EFFORT`

#### 功能开关

- `CLAUDE_ENABLE_AUTO_MODE`

#### MCP 配置

- `CLAUDE_MCP_CONFIG`

#### 任务管理

- `CLAUDE_TASK_LIST`

#### Agent team（实验性）

- `CLAUDE_TEAM_MODE`

#### Subagent 和 plugin 配置

- `CLAUDE_PLUGIN_DATA`

#### 子进程和流式处理

- `CLAUDE_OUTPUT_FORMAT`

### 配置管理命令

你可以用命令查看或更新当前配置，并把它们落到 settings 中。

### 每个项目的配置

推荐把项目专用设置放进项目内的 `.claude/settings.json`，这样能跟代码一起版本化。

<a id="best-practices"></a>
## 最佳实践

### Planning Mode

- 复杂任务先规划，再实现
- 计划要可审阅

### Extended Thinking

- 留给复杂问题
- 不要在简单任务上过度使用

### Background Tasks

- 用于长时间、可并行的任务
- 记得设置超时和可见性

### Permissions

- 默认最小权限
- 只在必要时放宽

### Sessions

- 为重要会话命名
- 必要时分叉，而不是硬改

<a id="additional-resources"></a>
## 更多资源

- [根目录中文指南](../README.md)
- [Slash Commands 中文参考](../01-slash-commands/README.md)
- [Checkpoints 中文指南](../08-checkpoints/README.md)
- [Plugins 中文指南](../07-plugins/README.md)
- [CLI 中文参考](../10-cli/README.md)
