Claude How To # 高级功能 这是一份关于 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. [更多资源](#更多资源) --- ## 概览 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 配置文件定制行为 ## 规划模式 更多规划示例见 [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` 可以把当前计划打开到外部编辑器里进行更详细的修改。 ## 扩展思考 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" } } ``` ## 自动模式 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 # 先预览将要添加的权限(不会写入) # 应用保守基线 # 只有在需要时再逐步增加能力 ``` ## 后台任务 后台任务允许 Claude 在不阻塞对话的情况下运行长时间操作。 ### 什么是后台任务? 后台任务适合长时间运行的工作,例如构建、测试、下载、扫描或并行分析。你可以把它们交给 Claude,让对话继续保持响应。 ### 启动后台任务 你可以从命令、计划或工具链中启动后台任务,让 Claude 在后台继续工作。 ### 管理后台任务 - 查看任务状态 - 中止任务 - 等待任务完成 - 从结果中恢复上下文 ### 示例:并行开发 ```text 任务 A:运行测试 任务 B:生成文档 任务 C:执行安全扫描 ``` ### 配置 后台任务的超时、并发和通知行为都可以在设置中调整。 ## 定时任务 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 通过。 ``` ## 权限模式 Permission modes 决定 Claude 可以直接执行哪些操作。 ### 可用模式 - `default` - `acceptEdits` - `plan` - `auto` - `dontAsk` - `bypassPermissions` ### 启用方式 可以通过命令行、设置或会话中的快捷操作切换权限模式。 ### 示例 #### Default Mode 默认的平衡模式,必要时会询问权限。 #### Plan Mode 只做规划,不直接执行高风险改动。 #### Accept Edits Mode 更偏向自动接受编辑,适合受控环境。 ### 使用场景 - 代码审查 - 自动化重构 - CI/CD - 高风险操作前的审批流程 ## 无头模式 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 验证 - 禁用会话持久化 ## 会话管理 会话管理用于在多个会话之间恢复、重命名、分叉和持续工作。 ### 常用命令 - `/resume` - `/rename` - `/fork` - `claude -c` - `claude -r` ### 恢复会话 ```bash # 继续最后一次对话 claude -c # 恢复指定名称或 ID 的会话 claude -r "feature-auth" ``` ### 分叉会话 ```bash # 恢复并分叉,适合实验 claude -r "feature-auth" --fork ``` ### 会话持久化 你可以选择保留、继续或重建会话上下文。 ## 交互功能 交互功能包括快捷键、多行输入、历史记录、Vim 模式和 Bash 模式等。 ### 快捷键 常用快捷键用于切换模式、编辑输入、查看历史和控制输出。 ### 自定义快捷键 你可以在设置中绑定自己的按键组合。 ### 可用上下文 不同上下文会影响快捷键的可用性和行为。 ### Chord 支持 支持组合按键触发复杂操作。 ### 保留键与冲突键 某些按键会被系统或终端占用,需要避免冲突。 ### Tab 补全 输入命令、参数或路径时会提供补全建议。 ### 命令历史 Claude 会保留历史记录,方便你快速重用之前的输入。 ### 多行输入 ```text 第一行 第二行 第三行 ``` ### 行内编辑 支持在输入过程中编辑中间内容。 ### Vim 模式 如果你熟悉 Vim,可以启用类似的编辑体验。 ### Bash 模式 可在会话中直接进入更偏 shell 风格的操作方式。 ## 语音输入 语音输入支持按住说话和多语言识别,适合快速记录想法或在不方便键盘输入时使用。 ### 如何启用 在设置中打开语音输入即可。 ### 特性 - 支持按住说话 - 支持 20 种语言的语音识别 - 适合快速口述任务 ### 配置 可在 settings 中控制灵敏度、语言和输入行为。 ## 消息通道(Channels) 消息通道允许 MCP servers 向正在运行的会话推送消息。 ### 订阅 channels ```bash # 启动时订阅 channel 插件 ``` ### 支持的集成 - Discord - Telegram - 其他 channel 型集成 ### 配置 通过 MCP 配置或 settings 订阅相应 channel。 ### 工作方式 外部系统可以把消息推送进 Claude 的当前会话里,让你在一个会话中接收通知或事件。 ## Chrome 集成 Chrome 集成让 Claude 可以协助浏览器自动化和站点级操作。 ### 启用 Chrome 集成 开启相关开关后,Claude 就可以与浏览器协作。 ### 能力 - 浏览器自动化 - 页面操作 - 网站级交互 ### 站点级权限 你可以对站点设置更细粒度的访问权限。 ### 工作方式 Claude 通过浏览器连接与页面交互。 ### 已知限制 - 某些站点会限制自动化 - 复杂页面可能需要更多权限 ## 远程控制 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 版则是在浏览器中直接运行。 ### 局限 - 网络可用性依赖更高 - 某些本地资源可能不可远程访问 ### 使用场景 - 在手机上查看并接管会话 - 远程继续长期任务 ## 网页会话 Web Sessions 允许你直接在浏览器里创建和恢复 Claude Code 会话。 ### 创建 Web Session ```bash # 从 CLI 创建新的 web session claude --remote "implement API" ``` ### 在本地恢复 Web Session ```bash # 在本地终端恢复 web session claude --teleport ``` ### 使用场景 - 浏览器里快速开始任务 - 在本地和网页之间切换 - 远程继续工作 ## 桌面应用 桌面应用提供独立界面,适合视觉化 diff 审查和多会话管理。 ### 安装 按照桌面应用的安装说明安装即可。 ### 从 CLI 接力 你可以把 CLI 会话交给桌面应用继续处理。 ### 核心功能 - 可视化 diff - 多会话 - 更直观的审查体验 ### App 预览配置 可以调整预览、布局和视觉呈现方式。 ### Connectors 桌面应用可以连接到不同的工作环境。 ### 远程和 SSH 会话 桌面应用也支持远程或 SSH 场景下的接力。 ### Desktop 中的权限模式 Desktop 里同样可以使用不同的权限模式。 ### 企业功能 企业部署下可使用更多受管和合规相关能力。 ## 任务列表 Task List 用于跨 context compaction 持久保存任务进度。 ### 切换任务列表 在设置里打开或关闭任务列表显示。 ### 持久任务 任务会保留,即使上下文被压缩,也能继续跟踪。 ### 命名任务目录 你可以给任务分组或目录命名,方便管理。 ## 提示词建议 Prompt suggestions 会根据当前上下文智能推荐下一步命令或提示词。 ### 工作方式 系统会结合你的历史、当前任务和上下文给出建议。 ### 禁用建议 如果你不想看到建议,可以在设置里关闭。 ## 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 可以自动清理。 ### 使用场景 - 并行尝试多个方案 - 隔离高风险重构 - 保持主分支整洁 ## 沙盒 沙盒提供文件系统和网络层面的隔离,能显著降低自动化操作的风险。 ### 启用沙盒 开启后,Claude 的很多操作都会在受控环境里执行。 ### 配置项 你可以配置允许访问的目录、网络行为和例外列表。 ### 示例配置 ```json { "sandbox": { "enabled": true } } ``` ### 工作方式 沙盒会限制 Claude 可触达的文件和网络边界。 ### 使用场景 - 低风险自动化 - 在不完全信任的输入上执行任务 - 受控环境中的批处理 ## 企业受管设置 企业可以通过受管设置统一分发 Claude Code 配置。 ### 部署方式 - plist - Registry - 受管文件 ### 受管配置片段 通过受管配置片段,可以给团队统一推送策略。 ### 可用的受管设置 - 权限模式 - 功能开关 - MCP / hooks / 插件约束 ### macOS plist 示例 ```xml ``` ## 配置与设置 ### 配置文件位置 - `~/.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`,这样能跟代码一起版本化。 ## 最佳实践 ### Planning Mode - 复杂任务先规划,再实现 - 计划要可审阅 ### Extended Thinking - 留给复杂问题 - 不要在简单任务上过度使用 ### Background Tasks - 用于长时间、可并行的任务 - 记得设置超时和可见性 ### Permissions - 默认最小权限 - 只在必要时放宽 ### Sessions - 为重要会话命名 - 必要时分叉,而不是硬改 ## 更多资源 - [根目录中文指南](../README.md) - [Slash Commands 中文参考](../01-slash-commands/README.md) - [Checkpoints 中文指南](../08-checkpoints/README.md) - [Plugins 中文指南](../07-plugins/README.md) - [CLI 中文参考](../10-cli/README.md)