8 8
9Claude Code 是一个在您的终端中运行的代理助手。虽然它在编码方面表现出色,但它可以帮助您完成从命令行可以做的任何事情:编写文档、运行构建、搜索文件、研究主题等。9Claude Code 是一个在您的终端中运行的代理助手。虽然它在编码方面表现出色,但它可以帮助您完成从命令行可以做的任何事情:编写文档、运行构建、搜索文件、研究主题等。
10 10
11本指南涵盖核心架构、内置功能和[有效使用 Claude Code 的提示](#work-effectively-with-claude-code)。有关分步演练,请参阅[常见工作流](/zh-CN/common-workflows)。有关 skills、MCP 和 hooks 等可扩展性功能,请参阅[扩展 Claude Code](/zh-CN/features-overview)。11本指南涵盖核心架构、内置功能和[有效使用 Claude Code 的提示](#work-effectively-with-claude-code)。有关分步演练,请参阅[常见工作流](/docs/zh-CN/common-workflows)。有关 skills、MCP 和 hooks 等可扩展性功能,请参阅[扩展 Claude Code](/docs/zh-CN/features-overview)。
12 12
13<h2 id="the-agentic-loop">13<h2 id="the-agentic-loop">
14 代理循环14 代理循环
16 16
17当您给 Claude 一个任务时,它会经历三个阶段:**收集上下文**、**采取行动**和**验证结果**。这些阶段相互融合。Claude 始终使用工具,无论是搜索文件以了解您的代码、编辑以进行更改,还是运行测试以检查其工作。17当您给 Claude 一个任务时,它会经历三个阶段:**收集上下文**、**采取行动**和**验证结果**。这些阶段相互融合。Claude 始终使用工具,无论是搜索文件以了解您的代码、编辑以进行更改,还是运行测试以检查其工作。
18 18
19<img src="https://mintcdn.com/claude-code/ikqp3_70mqIahteV/images/agentic-loop.svg?fit=max&auto=format&n=ikqp3_70mqIahteV&q=85&s=4a30fb7ce2815012a9f27c955e2c6bb0" alt="代理循环的图表:您的提示导致 Claude 收集上下文、采取行动、验证结果,并重复直到任务完成。您可以在任何时刻中断。" width="720" height="280" data-path="images/agentic-loop.svg" />19<img src="https://mintcdn.com/claude-code/ikqp3_70mqIahteV/images/agentic-loop.svg?fit=max&auto=format&n=ikqp3_70mqIahteV&q=85&s=4a30fb7ce2815012a9f27c955e2c6bb0" className="dark:hidden" alt="代理循环的图表:您的提示导致 Claude 收集上下文、采取行动、验证结果,并重复直到任务完成。您可以在任何时刻中断。" width="720" height="280" data-path="images/agentic-loop.svg" />
20
21<img src="https://mintcdn.com/claude-code/_xqph1dUOslCOwsj/images/agentic-loop-dark.svg?fit=max&auto=format&n=_xqph1dUOslCOwsj&q=85&s=75e1d55ed76857a952f9a2dffbab02df" className="hidden dark:block" alt="代理循环的图表:您的提示导致 Claude 收集上下文、采取行动、验证结果,并重复直到任务完成。您可以在任何时刻中断。" width="720" height="280" data-path="images/agentic-loop-dark.svg" />
20 22
21循环会根据您的要求进行调整。关于您代码库的问题可能只需要收集上下文。错误修复会循环通过所有三个阶段多次。重构可能涉及广泛的验证。Claude 根据从前一步学到的内容决定每一步需要什么,将数十个操作链接在一起并沿途进行纠正。23循环会根据您的要求进行调整。关于您代码库的问题可能只需要收集上下文。错误修复会循环通过所有三个阶段多次。重构可能涉及广泛的验证。Claude 根据从前一步学到的内容决定每一步需要什么,将数十个操作链接在一起并沿途进行纠正。
22 24
30 32
31Claude Code 使用 Claude 模型来理解您的代码并推理任务。Claude 可以读取任何语言的代码、理解组件如何连接,以及找出需要改变什么来实现您的目标。对于复杂的任务,它将工作分解为步骤、执行它们,并根据学到的内容进行调整。33Claude Code 使用 Claude 模型来理解您的代码并推理任务。Claude 可以读取任何语言的代码、理解组件如何连接,以及找出需要改变什么来实现您的目标。对于复杂的任务,它将工作分解为步骤、执行它们,并根据学到的内容进行调整。
32 34
33[多个模型](/zh-CN/model-config)可用,具有不同的权衡。Sonnet 可以很好地处理大多数编码任务。Opus 为复杂的架构决策提供更强的推理能力。在会话期间使用 `/model` 切换或使用 `claude --model <name>` 启动。35[多个模型](/docs/zh-CN/model-config)可用,具有不同的权衡。Sonnet 可以很好地处理大多数编码任务。Opus 为复杂的架构决策提供更强的推理能力。在会话期间使用 `/model` 切换或使用 `claude --model <name>` 启动。
34 36
35当本指南说"Claude 选择"或"Claude 决定"时,是模型在进行推理。37当本指南说"Claude 选择"或"Claude 决定"时,是模型在进行推理。
36 38
48| **搜索** | 按模式查找文件、使用正则表达式搜索内容、探索代码库 |50| **搜索** | 按模式查找文件、使用正则表达式搜索内容、探索代码库 |
49| **执行** | 运行 shell 命令、启动服务器、运行测试、使用 git |51| **执行** | 运行 shell 命令、启动服务器、运行测试、使用 git |
50| **网络** | 搜索网络、获取文档、查找错误消息 |52| **网络** | 搜索网络、获取文档、查找错误消息 |
51| **代码智能** | 编辑后查看类型错误和警告、跳转到定义、查找引用(需要[代码智能插件](/zh-CN/discover-plugins#code-intelligence)) |53| **代码智能** | 编辑后查看类型错误和警告、跳转到定义、查找引用(需要[代码智能插件](/docs/zh-CN/discover-plugins#code-intelligence)) |
52 54
53这些是主要功能。Claude 还有用于生成 subagents、询问您问题和其他编排任务的工具。有关完整列表,请参阅[Claude 可用的工具](/zh-CN/tools-reference)。55这些是主要功能。Claude 还有用于生成 subagents、询问您问题和其他编排任务的工具。有关完整列表,请参阅[Claude 可用的工具](/docs/zh-CN/tools-reference)。
54 56
55Claude 根据您的提示和沿途学到的内容选择使用哪些工具。当您说"修复失败的测试"时,Claude 可能会:57Claude 根据您的提示和沿途学到的内容选择使用哪些工具。当您说"修复失败的测试"时,Claude 可能会:
56 58
63 65
64每个工具使用都给 Claude 新的信息,告知下一步。这就是代理循环的实际应用。66每个工具使用都给 Claude 新的信息,告知下一步。这就是代理循环的实际应用。
65 67
66**扩展基本功能:** 内置工具是基础。您可以使用 [skills](/zh-CN/skills) 扩展 Claude 知道的内容、使用 [MCP](/zh-CN/mcp) 连接到外部服务、使用 [hooks](/zh-CN/hooks) 自动化工作流,以及将任务卸载给 [subagents](/zh-CN/sub-agents)。这些扩展形成了核心代理循环之上的一层。有关为您的需求选择正确扩展的指导,请参阅[扩展 Claude Code](/zh-CN/features-overview)。68**扩展基本功能:** 内置工具是基础。您可以使用 [skills](/docs/zh-CN/skills) 扩展 Claude 知道的内容、使用 [MCP](/docs/zh-CN/mcp) 连接到外部服务、使用 [hooks](/docs/zh-CN/hooks) 自动化工作流,以及将任务卸载给 [subagents](/docs/zh-CN/sub-agents)。这些扩展形成了核心代理循环之上的一层。有关为您的需求选择正确扩展的指导,请参阅[扩展 Claude Code](/docs/zh-CN/features-overview)。
67 69
68<h2 id="what-claude-can-access">70<h2 id="what-claude-can-access">
69 Claude 可以访问什么71 Claude 可以访问什么
70</h2>72</h2>
71 73
72本指南重点关注终端。Claude Code 也在 [VS Code](/zh-CN/vs-code)、[JetBrains IDE](/zh-CN/jetbrains) 和其他环境中运行。
73
74当您在目录中运行 `claude` 时,Claude Code 可以访问:74当您在目录中运行 `claude` 时,Claude Code 可以访问:
75 75
76* **您的项目。** 您目录和子目录中的文件,以及其他地方有您许可的文件。76* **您的项目。** 您目录和子目录中的文件,以及其他地方有您许可的文件。
77* **您的终端。** 您可以运行的任何命令:构建工具、git、包管理器、系统实用程序、脚本。如果您可以从命令行做到,Claude 也可以。77* **您的终端。** 您可以运行的任何命令:构建工具、git、包管理器、系统实用程序、脚本。如果您可以从命令行做到,Claude 也可以。
78* **您的 git 状态。** 当前分支、未提交的更改和最近的提交历史。78* **您的 git 状态。** 当前分支、未提交的更改和最近的提交历史。
79* **您的 [CLAUDE.md](/zh-CN/memory)。** 一个 markdown 文件,您可以在其中存储项目特定的说明、约定和 Claude 应该在每个会话中了解的上下文。79* **您的 [CLAUDE.md](/docs/zh-CN/memory)。** 一个 markdown 文件,您可以在其中存储项目特定的说明、约定和 Claude 应该在每个会话中了解的上下文。
80* **[自动内存](/zh-CN/memory#auto-memory)。** Claude 在您工作时自动保存的学习内容,如项目模式和您的偏好。MEMORY.md 的前 200 行或 25KB(以先到者为准)在每个会话开始时加载。80* **[自动内存](/docs/zh-CN/memory#auto-memory)。** Claude 在您工作时自动保存的学习内容,如您的偏好。MEMORY.md 的前 200 行或 25KB(以先到者为准)在每个会话开始时加载。
81* **您配置的扩展。** 用于外部服务的 [MCP servers](/zh-CN/mcp)、用于工作流的 [skills](/zh-CN/skills)、用于委派工作的 [subagents](/zh-CN/sub-agents) 和用于浏览器交互的 [Claude in Chrome](/zh-CN/chrome)。81* **您配置的扩展。** 用于外部服务的 [MCP servers](/docs/zh-CN/mcp)、用于工作流的 [skills](/docs/zh-CN/skills)、用于委派工作的 [subagents](/docs/zh-CN/sub-agents) 和用于浏览器交互的 [Claude in Chrome](/docs/zh-CN/chrome)。
82 82
83因为 Claude 看到您的整个项目,它可以跨越它工作。当您要求 Claude"修复身份验证错误"时,它搜索相关文件、读取多个文件以理解上下文、跨它们进行协调编辑、运行测试以验证修复,并在您要求时提交更改。这与只看到当前文件的内联代码助手不同。83因为 Claude 看到您的整个项目,它可以跨越它工作。当您要求 Claude"修复身份验证错误"时,它搜索相关文件、读取多个文件以理解上下文、跨它们进行协调编辑、运行测试以验证修复,并在您要求时提交更改。这与只看到当前文件的内联代码助手不同。
84 84
95Claude Code 在三个环境中运行,每个环境对代码执行位置有不同的权衡。95Claude Code 在三个环境中运行,每个环境对代码执行位置有不同的权衡。
96 96
97| 环境 | 代码运行位置 | 用例 |97| 环境 | 代码运行位置 | 用例 |
98| -------- | ---------------- | ----------------- |98| -------- | ----------------------------------------------------------------- | ------------------- |
99| **本地** | 您的机器 | 默认。完全访问您的文件、工具和环境 |99| **本地** | 您的机器 | 默认。完全访问您的文件、工具和环境 |
100| **云** | Anthropic 管理的虚拟机 | 卸载任务、处理您本地没有的仓库 |100| **云** | Anthropic 管理的虚拟机,或[您的组织运营的自托管环境](/docs/zh-CN/self-hosted-environments) | 卸载任务、处理您本地没有的仓库 |
101| **远程控制** | 您的机器,从浏览器控制 | 使用网络 UI 同时保持一切本地 |101| **远程控制** | 您的机器,从浏览器控制 | 使用网络 UI 同时保持执行和文件本地 |
102 102
103<h3 id="interfaces">103<h3 id="interfaces">
104 界面104 界面
105</h3>105</h3>
106 106
107您可以通过终端、[桌面应用](/zh-CN/desktop)、[IDE 扩展](/zh-CN/vs-code)、[claude.ai/code](https://claude.ai/code)、[远程控制](/zh-CN/remote-control)、[Slack](/zh-CN/slack) 和 [CI/CD 管道](/zh-CN/github-actions)访问 Claude Code。界面决定了您如何看到和与 Claude 交互,但底层的代理循环是相同的。有关完整列表,请参阅[在任何地方使用 Claude Code](/zh-CN/overview#use-claude-code-everywhere)。107您可以通过终端、[桌面应用](/docs/zh-CN/desktop)、[IDE 扩展](/docs/zh-CN/vs-code)、[claude.ai/code](https://claude.ai/code)、[远程控制](/docs/zh-CN/remote-control)、[Slack](/docs/zh-CN/slack) 和 [CI/CD 管道](/docs/zh-CN/github-actions)访问 Claude Code。界面决定了您如何看到和与 Claude 交互,但底层的代理循环是相同的。有关完整列表,请参阅[在任何地方使用 Claude Code](/docs/zh-CN/overview#use-claude-code-everywhere)。
108 108
109<h2 id="work-with-sessions">109<h2 id="work-with-sessions">
110 使用会话110 使用会话
111</h2>111</h2>
112 112
113Claude Code 在您工作时将您的对话保存在本地。每条消息、工具使用和结果都被写入 `~/.claude/projects/` 下的纯文本 JSONL 文件,这使得[回退](#undo-changes-with-checkpoints)、[恢复和分叉](#resume-or-fork-sessions)会话成为可能。在 Claude 进行代码更改之前,它还会对受影响的文件进行快照,以便您在需要时可以恢复。有关路径、保留和如何清除此数据,请参阅[`~/.claude` 中的应用数据](/zh-CN/claude-directory#application-data)。113Claude Code 在您工作时将您的对话保存在本地。每条消息、工具使用和结果都被写入 `~/.claude/projects/` 下的纯文本 JSONL 文件,这使得[回退](#undo-changes-with-checkpoints)、[恢复和分叉](#resume-or-fork-sessions)会话成为可能。在 Claude 进行代码更改之前,它还会对受影响的文件进行快照,以便您在需要时可以恢复。有关路径、保留和如何清除此数据,请参阅[`~/.claude` 中的应用数据](/docs/zh-CN/claude-directory#application-data)。
114 114
115**会话是独立的。** 每个新会话都以新的上下文窗口开始,没有来自以前会话的对话历史。Claude 可以使用[自动内存](/zh-CN/memory#auto-memory)跨会话保持学习,您可以在 [CLAUDE.md](/zh-CN/memory) 中添加您自己的持久说明。115**会话是独立的。** 每个新会话都以新的上下文窗口开始,没有来自以前会话的对话历史。Claude 可以使用[自动内存](/docs/zh-CN/memory#auto-memory)跨会话保持学习,您可以在 [CLAUDE.md](/docs/zh-CN/memory) 中添加您自己的持久说明。
116 116
117<h3 id="work-across-branches">117<h3 id="work-across-branches">
118 跨分支工作118 跨分支工作
119</h3>119</h3>
120 120
121每个 Claude Code 对话都是一个与您当前目录相关的会话。`/resume` 选择器默认显示来自当前 worktree 的会话,带有键盘快捷键以扩展列表到其他 worktrees 或项目。有关选择器快捷键的完整列表以及名称解析如何工作,请参阅[管理会话](/zh-CN/sessions#use-the-session-picker)。121每个 Claude Code 对话都是一个与您当前目录相关的会话。`/resume` 选择器默认显示来自当前 worktree 的会话,带有键盘快捷键以扩展列表到其他 worktrees 或项目。有关选择器快捷键的完整列表以及名称解析如何工作,请参阅[管理会话](/docs/zh-CN/sessions#use-the-session-picker)。
122 122
123Claude 看到您当前分支的文件。当您切换分支时,Claude 看到新分支的文件,但您的对话历史保持不变。Claude 记得您讨论过的内容,即使在切换后也是如此。123Claude 看到您当前分支的文件。当您切换分支时,Claude 看到新分支的文件,但您的对话历史保持不变。Claude 记得您讨论过的内容,即使在切换后也是如此。
124 124
125由于会话与目录相关,您可以通过使用 [git worktrees](/zh-CN/worktrees) 运行并行 Claude 会话,这为各个分支创建单独的目录。125由于会话与目录相关,您可以通过使用 [git worktrees](/docs/zh-CN/worktrees) 运行并行 Claude 会话,这为各个分支创建单独的目录。
126 126
127<h3 id="resume-or-fork-sessions">127<h3 id="resume-or-fork-sessions">
128 恢复或分叉会话128 恢复或分叉会话
130 130
131使用 `claude --continue` 或 `claude --resume` 恢复会话会在相同的会话 ID 下重新打开它,并将新消息附加到现有对话。使用 `--fork-session` 或 `/branch` 分叉会将历史复制到新的会话 ID 中,保持原始会话不变。131使用 `claude --continue` 或 `claude --resume` 恢复会话会在相同的会话 ID 下重新打开它,并将新消息附加到现有对话。使用 `--fork-session` 或 `/branch` 分叉会将历史复制到新的会话 ID 中,保持原始会话不变。
132 132
133<img src="https://mintcdn.com/claude-code/ikqp3_70mqIahteV/images/session-continuity.svg?fit=max&auto=format&n=ikqp3_70mqIahteV&q=85&s=04ed0984a58e4127e05b3640265241a3" alt="会话连续性图表:恢复继续相同的会话,分叉创建一个具有新 ID 的新分支。" width="560" height="280" data-path="images/session-continuity.svg" />133<img src="https://mintcdn.com/claude-code/ikqp3_70mqIahteV/images/session-continuity.svg?fit=max&auto=format&n=ikqp3_70mqIahteV&q=85&s=04ed0984a58e4127e05b3640265241a3" className="dark:hidden" alt="Diagram of session continuity: resume continues the same session, fork creates a new branch with a new ID." width="560" height="280" data-path="images/session-continuity.svg" />
134 134
135有关恢复标志、`/resume` 选择器、命名以及当相同会话在两个终端中打开时会发生什么,请参阅[管理会话](/zh-CN/sessions)。135<img src="https://mintcdn.com/claude-code/_xqph1dUOslCOwsj/images/session-continuity-dark.svg?fit=max&auto=format&n=_xqph1dUOslCOwsj&q=85&s=886a384bce8298594e43f124617ea665" className="hidden dark:block" alt="Diagram of session continuity: resume continues the same session, fork creates a new branch with a new ID." width="560" height="280" data-path="images/session-continuity-dark.svg" />
136
137有关恢复标志、`/resume` 选择器、命名以及当相同会话在两个终端中打开时会发生什么,请参阅[管理会话](/docs/zh-CN/sessions)。
136 138
137<h3 id="the-context-window">139<h3 id="the-context-window">
138 上下文窗口140 上下文窗口
139</h3>141</h3>
140 142
141Claude 的上下文窗口保存您的对话历史、文件内容、命令输出、[CLAUDE.md](/zh-CN/memory)、[自动内存](/zh-CN/memory#auto-memory)、加载的 skills 和系统说明。当您工作时,上下文填满。Claude 自动压缩,但对话早期的说明可能会丢失。将持久规则放在 CLAUDE.md 中,并运行 `/context` 以查看什么在占用空间。143Claude 的上下文窗口保存您的对话历史、文件内容、命令输出、[CLAUDE.md](/docs/zh-CN/memory)、[自动内存](/docs/zh-CN/memory#auto-memory)、加载的 skills 和系统说明。当您工作时,上下文填满。Claude 自动压缩,但对话早期的说明可能会丢失。将持久规则放在 CLAUDE.md 中,并运行 `/context` 以查看什么在占用空间。
142 144
143有关交互式演练,了解什么加载以及何时加载,请参阅[探索上下文窗口](/zh-CN/context-window)。145有关交互式演练,了解什么加载以及何时加载,请参阅[探索上下文窗口](/docs/zh-CN/context-window)。
144 146
145<h4 id="when-context-fills-up">147<h4 id="when-context-fills-up">
146 当上下文填满时148 当上下文填满时
150 152
151要控制在压缩期间保留的内容,请在 CLAUDE.md 中添加"Compact Instructions"部分或使用焦点运行 `/compact`(如 `/compact focus on the API changes`)。153要控制在压缩期间保留的内容,请在 CLAUDE.md 中添加"Compact Instructions"部分或使用焦点运行 `/compact`(如 `/compact focus on the API changes`)。
152 154
153如果单个文件或工具输出太大,以至于在每次总结后上下文立即重新填充,Claude Code 会在几次尝试后停止自动压缩,并显示错误而不是循环。有关恢复步骤,请参阅[自动压缩停止并出现抖动错误](/zh-CN/troubleshooting#auto-compaction-stops-with-a-thrashing-error)。155如果单个文件或工具输出太大,以至于在每次总结后上下文立即重新填充,Claude Code 会在几次尝试后停止自动压缩,并显示错误而不是循环。有关恢复步骤,请参阅[自动压缩停止并出现抖动错误](/docs/zh-CN/troubleshooting#auto-compaction-stops-with-a-thrashing-error)。
154 156
155运行 `/context` 以查看什么在占用空间。MCP 工具定义默认被延迟,并通过[工具搜索](/zh-CN/mcp#scale-with-mcp-tool-search)按需加载,因此只有工具名称消耗上下文,直到 Claude 使用特定工具。运行 `/mcp` 以检查每个服务器的成本。157运行 `/context` 以查看什么在占用空间。MCP 工具定义默认被延迟,并通过[工具搜索](/docs/zh-CN/mcp#scale-with-mcp-tool-search)按需加载,因此只有工具名称和服务器说明消耗上下文,直到 Claude 使用特定工具。
156 158
157<h4 id="manage-context-with-skills-and-subagents">159<h4 id="manage-context-with-skills-and-subagents">
158 使用 skills 和 subagents 管理上下文160 使用 skills 和 subagents 管理上下文
160 162
161除了压缩,您可以使用其他功能来控制什么加载到上下文中。163除了压缩,您可以使用其他功能来控制什么加载到上下文中。
162 164
163[Skills](/zh-CN/skills) 按需加载。Claude 在会话开始时看到 skill 描述,但完整内容仅在使用 skill 时加载。对于您手动调用的 skills,设置 `disable-model-invocation: true` 以将描述保留在上下文之外,直到您需要它们。对于您没有编写的 skills,使用 [`skillOverrides`](/zh-CN/skills#override-skill-visibility-from-settings) 从设置中执行相同操作。165[Skills](/docs/zh-CN/skills) 按需加载。Claude 在会话开始时看到 skill 描述,但完整内容仅在使用 skill 时加载。对于您手动调用的 skills,设置 `disable-model-invocation: true` 以将描述保留在上下文之外,直到您需要它们。对于您没有编写的 skills,使用 [`skillOverrides`](/docs/zh-CN/skills#override-skill-visibility-from-settings) 从设置中执行相同操作。
164 166
165[Subagents](/zh-CN/sub-agents) 获得自己的新上下文,完全独立于您的主对话。他们的工作不会使您的上下文膨胀。完成后,他们返回一个摘要。这种隔离是为什么 subagents 有助于长会话。167[Subagents](/docs/zh-CN/sub-agents) 在自己的上下文窗口中工作。subagent 会从新开始,除非它是一个[分叉](/docs/zh-CN/sub-agents#fork-the-current-conversation),它会从您到目前为止的对话副本开始。无论哪种方式,subagent 的工具调用都保留在您的上下文之外,当 subagent 完成时 Claude 会获得一个摘要。
166 168
167有关每个功能的成本,请参阅[上下文成本](/zh-CN/features-overview#understand-context-costs),有关管理上下文的提示,请参阅[减少令牌使用](/zh-CN/costs#reduce-token-usage)。169有关每个功能的成本,请参阅[上下文成本](/docs/zh-CN/features-overview#understand-context-costs),有关管理上下文的提示,请参阅[减少令牌使用](/docs/zh-CN/costs#reduce-token-usage)。
168 170
169<h2 id="stay-safe-with-checkpoints-and-permissions">171<h2 id="stay-safe-with-checkpoints-and-permissions">
170 使用检查点和权限保持安全172 使用检查点和权限保持安全
176 使用 checkpoints 撤销更改178 使用 checkpoints 撤销更改
177</h3>179</h3>
178 180
179**每个文件编辑都是可逆的。** 在 Claude 编辑任何文件之前,它会对当前内容进行快照。如果出现问题,按两次 `Esc` 以回退到之前的状态,或要求 Claude 撤销。181**文件编辑是可逆的。** 在 Claude 编辑文件之前,它会对当前内容进行快照。如果出现问题,按两次 `Esc` 以回退到之前的状态,或要求 Claude 撤销。
180 182
181Checkpoints 独立于 git,在您恢复对话时仍然可用。它们仅涵盖文件更改。影响远程系统的操作(数据库、API、部署)无法进行 checkpointing,这就是为什么 Claude 在运行具有外部副作用的命令之前询问。183Checkpoints 独立于 git,在您恢复对话时仍然可用。它们仅涵盖文件更改,restore 会[跳过符号链接和硬链接文件](/docs/zh-CN/checkpointing#symlinked-and-hard-linked-paths-not-restored)。影响远程系统的操作(数据库、API、部署)无法进行 checkpointing。您可以通过权限模式和权限规则来控制这些操作。
182 184
183<h3 id="control-what-claude-can-do">185<h3 id="control-what-claude-can-do">
184 控制 Claude 可以做什么186 控制 Claude 可以做什么
185</h3>187</h3>
186 188
187按 `Shift+Tab` 循环通过权限模式:189选择一个权限模式来设置 Claude 可以在不询问您的情况下做什么。按 `Shift+Tab` 循环通过权限模式:
188 190
191* **Auto**:分类器在后台审查大多数操作,并阻止风险操作而不是询问您。在 Pro、Max 和 Team 计划上,它是[交互式终端和 VS Code 会话的内置起始权限模式](/docs/zh-CN/permission-modes#which-mode-a-session-starts-in)
189* **Manual**:Claude 在文件编辑和 shell 命令之前询问192* **Manual**:Claude 在文件编辑和 shell 命令之前询问
190* **Accept edits**:Claude 编辑文件并运行常见的文件系统命令(如 `mkdir` 和 `mv`)而不询问,仍然询问其他命令193* **Accept edits**:Claude 编辑文件并运行常见的文件系统命令(如 `mkdir` 和 `mv`)而不询问,仍然询问其他命令
191* **Plan**:Claude 探索并提出计划而不编辑您的源文件194* **Plan**:Claude 探索并提出计划而不编辑您的源文件
192* **Auto**:Claude 使用后台安全检查评估所有操作
193 195
194您也可以在 `.claude/settings.json` 中允许特定命令,以便 Claude 不会每次都询问。这对于受信任的命令(如 `npm test` 或 `git status`)很有用。设置可以从组织范围的策略范围到个人偏好。有关详细信息,请参阅[权限](/zh-CN/permissions)。196您也可以在 `.claude/settings.json` 中允许特定命令,以便 Claude 不会每次都询问。这对于受信任的命令(如 `npm test` 或 `git status`)很有用。设置可以从组织范围的策略范围到个人偏好。有关详细信息,请参阅[权限](/docs/zh-CN/permissions)。
195 197
196***198***
197 199
199 有效使用 Claude Code201 有效使用 Claude Code
200</h2>202</h2>
201 203
202这些提示可以帮助您从 Claude Code 获得更好的结果。204这些提示可以帮助您从 Claude Code 获得更好的结果。有关特定提示、验证和规划的更多信息,请参阅[最佳实践](/docs/zh-CN/best-practices)。
203 205
204<h3 id="ask-claude-code-for-help">206<h3 id="ask-claude-code-for-help">
205 向 Claude Code 寻求帮助207 向 Claude Code 寻求帮助
238 240
239您可以在任何时刻重定向 Claude,无需等待轮次完成或重新开始:241您可以在任何时刻重定向 Claude,无需等待轮次完成或重新开始:
240 242
241* **按 `Esc`** 立即停止 Claude。正在运行的工具调用被取消,Claude 等待您的下一条指令。243* **按 `Esc`** 立即停止 Claude。正在运行的工具调用被取消,Claude 等待您的下一条指令。如果您有排队的消息,Claude Code [会接下来发送它们](/docs/zh-CN/interactive-mode#queue-messages-while-claude-works)。
242* **输入更正并按 `Enter`** 在不停止正在运行的工具的情况下发送。Claude 在当前操作完成后立即读取它,并在决定下一步之前进行调整。244* **输入更正并按 `Enter`** 在不停止正在运行的工具的情况下发送。Claude 在当前操作完成后立即读取它,并在决定下一步之前进行调整。
243 245
244<h3 id="be-specific-upfront">
245 预先具体
246</h3>
247
248您的初始提示越精确,您需要的更正就越少。参考特定文件、提及约束并指出示例模式。
249
250```text theme={null}
251结账流程对于持有过期卡的用户来说已损坏。
252检查 src/payments/ 中的问题,特别是令牌刷新。
253首先编写一个失败的测试,然后修复它。
254```
255
256模糊的提示有效,但您会花更多时间引导。像上面这样的具体提示通常在第一次尝试时就成功。
257
258<h3 id="give-claude-something-to-verify-against">
259 给 Claude 一些东西来验证
260</h3>
261
262Claude 在能够检查自己的工作时表现更好。包括测试用例、粘贴预期 UI 的屏幕截图或定义您想要的输出。
263
264```text theme={null}
265实现 validateEmail。测试用例:'user@example.com' → true,
266'invalid' → false,'user@.com' → false。之后运行测试。
267```
268
269对于视觉工作,粘贴设计的屏幕截图并要求 Claude 将其实现与其进行比较。
270
271<h3 id="explore-before-implementing">
272 在实现之前探索
273</h3>
274
275对于复杂的问题,将研究与编码分开。使用 Plan Mode(按 `Shift+Tab` 两次)首先分析代码库:
276
277```text theme={null}
278读取 src/auth/ 并理解我们如何处理会话。
279然后为添加 OAuth 支持创建一个计划。
280```
281
282审查计划,通过对话细化它,然后让 Claude 实现。这种两阶段方法比直接跳到代码产生更好的结果。
283
284<h3 id="delegate-don’t-dictate">246<h3 id="delegate-don’t-dictate">
285 委派,不要指示247 委派,不要指示
286</h3>248</h3>
299</h2>261</h2>
300 262
301<CardGroup cols={2}>263<CardGroup cols={2}>
302 <Card title="使用功能扩展" icon="puzzle-piece" href="/zh-CN/features-overview">264 <Card title="使用功能扩展" icon="puzzle-piece" href="/docs/zh-CN/features-overview">
303 添加 Skills、MCP 连接和自定义命令265 添加 skills 和 MCP 连接
304 </Card>266 </Card>
305 267
306 <Card title="常见工作流" icon="graduation-cap" href="/zh-CN/common-workflows">268 <Card title="常见工作流" icon="graduation-cap" href="/docs/zh-CN/common-workflows">
307 典型任务的分步指南269 典型任务的分步指南
308 </Card>270 </Card>
309</CardGroup>271</CardGroup>