相关FAQ导航
- Claude Code FAQ:IDE 集成
- Claude Code FAQ:集成与协作
- Claude Code FAQ:模型与计费
- Claude Code FAQ:问题排查
- Claude Code FAQ:高级特性
概念与定位
claude code 是什么?与 Claude Chat 或 Claude Desktop 有何区别?
Claude Code 是由 Anthropic 提供的命令行 AI 辅助编码工具,它直接在本地终端运行,帮助开发者自动生成和修改代码[1]。与基于浏览器或桌面应用的 Claude Chat 不同,Claude Code 完全集成在您的开发环境中(终端/IDE),"在您已有的工具链中工作,而不是增加另一个界面"[2]。它可直接执行命令、编辑文件并提交更改,实现深度的代码协作。Claude Desktop 通常指桌面版的聊天应用,而 Claude Code 则专注于终端里的编程工作流[3][2]。
claude code 的核心能力有哪些?
Claude Code 专为代码任务优化,具备以下核心能力:
- 理解和导航整个代码库:它保持对项目结构的全面"意识",可在百万行级别的仓库中进行快速智能搜索,无需手动提供上下文[4][5]。
- 自动化代码生成与重构:输入自然语言需求后,Claude Code 会制定计划、编写代码并确保其可运行,支持跨文件协调修改[4][6]。
- 调试和修复缺陷:描述错误或提供报错信息,Claude Code 能定位问题并提供修复建议和代码修正。
- 运行命令和集成工具:它可以在会话中执行终端命令(如运行测试、构建项目、推送提交等),与 CI/CD 系统和版本控制无缝集成[7][8]。
- 自动化繁琐任务:例如代码审查、合并冲突解决、编写发布说明等,都可在一次交互中完成,从而"按下开发者机器上的单一命令"达到自动化目标[9]。
如何在本地终端执行并展示结果?
安装完成后,在项目根目录打开终端,输入 claude
命令即可启动交互式会话(或使用 claude "你的问题"
直接发送初始提示)[10]。Claude Code 会在终端打印 AI 的回复和操作建议,并在需要时提示您确认运行命令或应用代码更改。比如在 VS Code/JetBrains 集成环境中,还可以在 IDE 的差异查看器中查看文件修改[11]。总之,Claude Code 就像一个 CLI 应用,它把所有 AI 响应直接输出在终端或 IDE 窗口中,便于阅读和操作。
claude code 是否收集、训练或保留我的数据与日志?
Anthropic 明确表示,默认情况下不会使用您通过 Claude Code 发送的代码或对话来训练其生成式模型[12]。您的会话和代码会被发送到 Anthropic 服务器进行实时处理(以 TLS 加密传输)[13],但不会被用于模型训练(除非您显式加入《开发者合作伙伴计划》并允许使用数据)[12][14]。会话记录通常不会长时间保留:如果您使用具有"零数据保留"协议的组织 API 密钥,Claude Code 服务端不会保存任何会话历史,本地客户端则默认保留最近会话记录最长 30 天以便恢复[15]。另外,Claude Code 会收集基础的性能遥测(通过 Statsig)和错误日志(通过 Sentry),但这不会包含您的代码内容或文件路径[16][17]。只有在您使用 /bug
命令报告问题时,全会话(包括代码)才会发送给 Anthropic 以调试,并可选地创建公开的 GitHub 问题[17]。总的来说,除非您主动发送反馈,否则不会主动训练您的私有代码或长期保存会话日志。
claude code 是否保存会话或提供备份与恢复?
Claude Code 支持会话的本地持久化:客户端会将当前会话临时保存在本地,最多保留约 30 天,以便您可以使用命令(如 claude --resume <会话ID>
或 claude -c
继续最近的会话)恢复之前的对话[18][15]。这些会话数据默认只存储在本地机器上,不会自动上传到云端。要明确恢复特定会话,可以在启动时使用 claude -r <会话ID> "继续对话"
[19]。目前没有自动云备份功能,建议您自行在需要时导出关键信息。如果需要回滚操作,也可利用版本控制系统配合 Claude 生成的提交记录来恢复。
claude code 如何理解并处理大型代码库?
Claude Code 采用"agentic 搜索"技术,能在无需显式指定文件或上下文的情况下探索整个代码仓库[4]。它保持对项目结构的全局认识,并使用高达数百万 token 的上下文窗口(团队版最高 20 万 token)来理解大型代码库[5][4]。简单来说,您不必手动复制粘贴代码内容;Claude Code 会自动查找相关代码并提取要点。当上下文接近上限时,它还会自动进行对话压缩(摘要)以腾出空间[20]。因此,无论仓库有多大,Claude Code 都可以智能地定位相关部分并进行修改。您也可以使用 /add-dir
等命令手动添加额外的目录到上下文中,或使用 CLAUDE.md 指南文件(详见记忆管理)帮助 Claude 理解项目结构。
claude code 与 Sonnet、Opus 等模型是什么关系?
Claude Code 基于 Claude 系列的大型语言模型运行,其中 Sonnet(Claude 3.5)和 Opus(Claude 4)是两种主要型号。不同订阅级别可以访问不同模型:Pro 计划用户只能使用 Sonnet 4,无法在 Code 中调用 Opus 4[21];Max 计划用户则可在代码会话中自由切换 Sonnet 和 Opus(通过 /model sonnet
或 /model opus
命令)[22]。一般而言,Opus 4(比如最新的 Opus 4.1)提供更强的理解和生成能力,适合复杂的大规模代码任务[8][22];Sonnet 4 在小型仓库或基本任务中表现良好并且消耗较少配额[21]。Claude Code 会默认使用当前订阅允许的最高模型——对 Max 用户即 Opus,对 Pro 用户即 Sonnet。当然,您可以在会话中手动切换模型,或在启动时用 claude --model
参数指定具体版本[23][21]。
claude code 的主要技术栈是什么?
Claude Code 本质上是一个基于 Node.js 的命令行应用(可通过 npm 安装或使用原生安装脚本)[10][13]。它作为客户端运行在本地,与 Anthropic 云端 API 进行交互以调用 AI 模型[13]。在开发上,它使用常见的 JS/TS 库,网络通信通过 TLS 加密,遥测上则采用 Statsig(性能指标)和 Sentry(错误日志)服务[16]。此外,Claude Code 的配置和扩展(如 IDE 插件、Hooks、MCP)也基于现代开发工具(如 VS Code 插件、Markdown 文档等)构建。总的来说,它是一个轻量的 Node 应用,聚焦于代码理解和自动化,与您的现有开发工具链(Git、构建工具、包管理等)深度整合。
安装 / 卸载 / 更新
如何下载并安装 claude code?
官方推荐的安装方法是:确保已安装 Node.js(v18+),然后在终端运行:npm install -g @anthropic-ai/claude-code
[10]。也可以使用原生安装脚本(对于 macOS/Linux/WSL):curl -fsSL https://claude.ai/install.sh | bash
[24]。在 macOS 上,您还可以使用 Homebrew Cask:brew install --cask claude-code
[25]。安装完成后,使用 claude doctor
检查安装是否成功。
如何在 Windows 原生环境安装 claude code?
Windows 支持使用 PowerShell 原生安装包。以管理员身份打开 PowerShell,执行:irm https://claude.ai/install.ps1 | iex
[26]。这会下载并安装适合您系统的版本。Windows 安装通常会在用户目录下创建 ~\.claude\local\bin\claude
的可执行文件。安装后,也可直接在 PowerShell 中运行 claude
检查版本。注意:如果使用 WSL,请在 WSL 内安装 Linux 版本(见下文),不要混用 Windows 与 Linux 的 Node.js。
如何在 macOS(含 Homebrew)安装 claude code?
在 macOS 上,最简单的方法是通过 Homebrew:brew install --cask claude-code
[25]。这个安装包会放置一个 claude
可执行在 /usr/local/bin
或 /opt/homebrew/bin
(取决于芯片)之外,工具会默认自带自动更新。安装后,第一次运行前建议运行 claude doctor
以查看安装信息。如果您希望使用 npm 安装,也可在终端执行与 Linux 相同的 npm install -g @anthropic-ai/claude-code
或运行官方脚本。
如何在 Linux 或 WSL 安装 claude code?
在 Linux 发行版或 WSL(Windows 子系统)中,可以使用 npm 方式安装:npm install -g @anthropic-ai/claude-code
[10]。请确保 Node.js 是 Linux 环境下的版本(避免 WSL 将 Windows Node 路径导入)。若安装时报错(如"node: not found"),请使用 Linux 版 Node 或调整 PATH[27]。替代方案是使用原生安装脚本:curl -fsSL https://claude.ai/install.sh | bash
[24]。安装后,可以在任何 shell(Bash、Zsh、Fish 等)中直接运行 claude
。如果使用 WSL 2,建议使用 Linux 发行版自带的 Ubuntu/Debian 包管理安装 Node.js,并按照[19†L105-L113]中的建议修复 PATH,以避免调用 Windows 版 Node。
如何检查当前已安装的 claude code 版本?
安装完成后,可运行内置的诊断命令:claude doctor
[28]。该命令会输出当前版本号、安装类型、操作系统信息等。您还可以通过 claude --version
或检查安装目录(例如 ~/.local/bin/claude --version
)来获取版本号。若通过 Homebrew 安装,也可用 brew list --versions claude-code
查看当前版本。
如何更新到最新版本的 claude code?
Claude Code 支持自动和手动更新两种方式。默认情况下,每次启动时会检查新版本并在后台下载[29]。您可以在 /config
中禁用自动更新(或设置环境变量 DISABLE_AUTOUPDATER=1
),然后使用 Homebrew 等工具更新。手动更新最简单的方法是运行:claude update
[30],它会替换为最新版本。如果您使用 Homebrew 安装,则应该先禁用 auto-update,然后执行 brew upgrade --cask claude-code
[31]来升级。
如何安装旧版本的 claude code?
若需要特定旧版本,可在原生安装脚本中指定版本号。例如:curl -fsSL https://claude.ai/install.sh | bash -s 1.0.58
[32]。对于 npm 安装,则使用对应版本号:npm install -g @anthropic-ai/[email protected]
。安装脚本和 npm 都允许指定版本号参数,从而安装旧版本的工具。
如何卸载或重装 claude code?
如果您通过 npm 安装,可使用命令:npm uninstall -g @anthropic-ai/claude-code
。同时,删除配置目录(通常为 ~/.claude/
)以及可能的本地 symlink(如 ~/.local/bin/claude
)。如果使用 Homebrew 安装,执行 brew uninstall --cask claude-code
即可。此外,如果曾运行过原生安装脚本,可以在 macOS/Linux 下通过再次运行脚本并传入 --uninstall
参数来卸载(脚本支持该选项)。重装只需重新执行上面安装步骤即可。重装前最好先清除旧版的缓存或配置,以避免冲突。
如何在 Docker 或无界面环境运行 claude code?
由于 Claude Code 目前设计为交互式终端应用,它依赖于运行时与用户的交互(例如权限确认)。在纯无头环境(如 Docker 容器、CI/CD 环境)中直接运行可能会遇到限制。目前官方未提供专门的无头模式支持。一种可行的方案是在容器中安装 Node.js 并执行 claude -p "..."
(打印模式)来让 Claude 执行特定查询,但需要注意工具权限和网络访问。如果要在 CI 中自动使用 Claude Code,建议使用官方 GitHub Actions(Anthropic 发布的)或未来的 SDK/API 集成。有关详细经验,可以参考社区讨论(目前有用户反馈在纯无头环境运行存在问题[33])。
安装失败时如何排查问题?
常见的安装问题包括 Node 版本和 PATH 冲突、权限问题等。建议检查:
- Node 环境:确保
node
和npm
指向正确的路径。在 WSL 中避免使用 Windows 版的 Node;如果遇到"exec: node: not found",请安装 Linux 版 Node 并修正 PATH[27]。 - 权限:npm 全局安装时不要使用
sudo
,若出现权限错误,可考虑使用原生安装脚本(不依赖全局目录)[34]。 - WSL 问题:如果 WSL 导入了 Windows 的 PATH,可能造成版本冲突,请按照[27]的建议调整
.bashrc
或使用appendWindowsPath=false
。 - 诊断工具:安装后运行
claude doctor
可诊断安装类型和版本[28]。如果报错未安装,请确认~/.local/bin
已加入系统 PATH。 - 其他环境:在 macOS/Linux 上,如果
claude
命令未找到,检查是否需要重启终端或手动将~/.local/bin
添加到 PATH。对于 Windows,建议重新启动 PowerShell 确保环境变量更新。
如果以上方法仍无法解决,可查看官方文档的故障排查[35]或在社区论坛寻求帮助。及时提供错误信息(尤其是 claude doctor
输出)有助于定位问题。
入门与基础操作(终端)
如何创建并启动新的 claude code 会话?
在您的代码项目目录中打开终端,然后运行命令 claude
即可启动新的交互式会话[10]。如果您想直接从提示开始,则可使用 claude "您的问题"
。默认情况下,claude
会话与您当前目录关联,一个会话对应一个项目环境。也可使用 /init
命令自动初始化一个新的 CLAUDE.md 项目记忆(帮助后续对话保持一致性)[47]。若之前已有会话,命令 claude -c
会继续当前目录下最近一次的会话[19]。
如何在 claude code 终端中运行命令?
Claude Code 会话中默认包含多个内部工具,如 Bash
(运行 Shell 命令)、Edit
(修改文件)等。在对话中,您可以描述要执行的命令,Claude 会生成相应的工具请求。例如,它可能输出一条回复以 Bash:
开头,表示建议运行的命令。执行此类命令时,Claude 会提示您是否允许它进行操作。在确认后,Claude Code 会在后台执行该 shell 命令,并将结果返回给您。您也可以手动在提示中使用斜杠命令,例如 !ls -la
(前缀 !
表示直接执行命令)或 claude --disallowedTools
设定以修改默认权限[48]。总之,您不需离开 Claude 会话,命令执行和结果读取都在终端内完成。
如何在 claude code 中以 sudo 执行命令?
Claude Code 本身会以当前用户身份运行命令。因此,如果需要使用 sudo
,您可以在提示中包含 sudo
前缀,Claude 也会将其作为安全工具处理。例如,您可以请求"运行 sudo apt update
"作为命令。运行时系统会提示您输入用户密码,命令将在您授权后以管理员权限执行。需要注意的是,如果您的环境禁用了密码登录或没有启用 sudo
,则该方式不可用。另外,强烈建议仅在信任的安全环境中使用 sudo
,并谨慎分享需要提权的操作给 AI。
如何在 claude code 执行中途停止或退出会话?
您可以使用常见的终端快捷键来控制会话:按下 Ctrl+C 可以中断当前的命令执行或 AI 响应生成(终止输出);按 Ctrl+D(EOF)可以结束整个 Claude 会话(等效于 /logout
)[49]。此外,使用 /clear
命令可以清空当前对话历史而不退出会话,使用 /logout
可登出并关闭会话[50]。总之,Ctrl+C 中断,Ctrl+D 退出会话。
如何让 claude code 在无人值守下连续运行任务?
Claude Code 设计为交互式工具,因此不支持完全无人值守的批处理模式。不过,您可以使用非交互式"打印模式"将其嵌入脚本:例如,claude -p "查询内容"
会输出纯文本结果,适合自动化脚本调用[51]。但是,由于一些命令需要用户确认或上下文跟踪,完全自动化运行仍然受限。目前官方尚未提供专门的无头/后台运行模式。如需在 CI/CD 中使用,建议采用官方提供的 GitHub Actions 功能或等待未来更新支持。
如何在 claude code 正确输入换行或粘贴多行文本?
终端中的多行输入有几种方式:
- 快捷键:在任何终端中输入
\
+ Enter 可以快速换行;在 macOS 上默认使用 Option+Enter 可换行(如遇快捷键冲突,可执行/terminal-setup
命令为 iTerm2/VSCode 绑定 Shift+Enter)[52]。 - 粘贴模式:当复制粘贴大段代码或文本时,可直接粘贴,Claude Code 会自动进入"粘贴模式"处理多行输入[53]。
- Vim 模式:启用
/vim
命令进入 Vim 插入模式,也可使用 Vim 风格快捷键插入换行。
这样您就可以无障碍地输入或粘贴多行内容,Claude Code 会正确将其作为一个完整的提示处理。
如何在 claude code 搜索与恢复会话历史?
Claude Code 在本地终端会话中维护命令历史,并提供多种导航手段:使用 ↑/↓ 箭头键 可浏览当前工作目录的历史输入[54];按 Ctrl+R 可进行反向搜索过去的提示文本[54];在 VS Code/JetBrains 集成环境中,还可以使用界面提供的历史记录功能来查找旧会话。您也可以使用 /history
命令查看当前会话的全部历史记录(各条记录附有编号)。如需清空会话历史,使用 /clear
[55]。注意:历史记录是针对当前目录单独保存的,不同项目目录之间的历史隔离存储。
/export
不能导出完整对话?
为什么 claude code 的 当前 Claude Code 并没有内置的全会话导出命令,导致部分用户尝试 /export
时发现无法获取全部历史。这是因为 Claude Code 会话可能很长,而且默认设计并不通过单个命令导出所有内容。若需要保存对话,建议使用复制粘贴或使用 claude -p "query"
命令将重要片段输出到控制台后手动保存。未来版本中可能增加更完善的导出功能,但现阶段官方文档未提供直接的 /export
使用说明。
claude code 的"上下文剩余"与"自动压缩"是什么?
在 Claude Code 会话中,系统会追踪当前对话所使用的 token 数量和剩余上下文容量。通常,终端状态栏会显示 "Context Remaining"(剩余上下文)数值,表示在达到模型最大上下文窗口前可用的 token 额度。当对话接近上限时,Claude Code 自动压缩(auto-compact)功能会启动:它会用摘要性指令压缩对话,将早期内容总结为精简记忆,从而释放空间[56]。默认情况下,当上下文使用超过约 95% 时,系统会自动进行对话压缩[20]。您无需手动触发,Claude Code 会后台处理保持会话活跃。
如何在 claude code 启用或禁用自动压缩?
您可以通过设置关闭或开启自动压缩:在会话中运行 /config
,然后找到 "Auto-compact enabled" 选项即可切换自动压缩的状态[20]。如果希望手动控制压缩,可以将其禁用,然后在需要时运行 /compact
命令来手动进行对话压缩。还可以在 CLAUDE.md 中添加压缩相关的指南(比如注释 "Focus on code changes")以影响压缩策略[57]。