Post

Claude Code(一)介绍与安装

记录初次接触 Claude Code 的过程,包括它与 Cursor 的核心区别、安装配置方式以及基本工作流程。

Claude Code(一)介绍与安装

Claude Code是什么

Claude Code 是 Anthropic 推出的基于 CLI(命令行界面)的下一代 AI 编程助手。不同于传统的 IDE 插件,它作为一个独立的 Agent 运行在终端中,能够直接访问本地文件系统、执行 Shell 命令、管理 Git 版本控制,并理解整个代码库的上下文结构。我从2024年9月开始持续使用Cursor IDE,直到2025年12月才开始真正尝试 CLI Agent 的工作方式。

它不只是在帮我写代码,而是在”代理”我进行开发。我可以直接告诉它”修复这个报错”或者”重构这个模块”,它会自动分析报错信息、定位文件、修改代码、运行测试验证,直到问题解决。

flowchart TD
    A[用户指令] --> B[分析需求并制定计划]
    B --> C[执行相应操作]
    C --> D[进行验证与调整]
    D --> E[交付最终结果]

    C -.->|git commit| F[版本控制]
    C -.->|npm install| G[包管理]
    C -.->|pytest| H[测试执行]

    style A fill:#e1f5fe
    style E fill:#f1f8e9

Claude Code的核心能力

虽然官方文档把它描述成agentic coding tool,它不仅具有强大的编码能力,还能理解整个项目上下文、自主执行终端命令、Git操作、调用外部工具。基于多模态能力,也可以处理图片识别、语音交互等任务。

功能场景具体表现核心价值
全项目理解能够通过 ls, grep, glob 等工具自主探索文件结构,阅读代码依赖,分析配置文件。它的上下文不仅限于我打开的文件,而是整个工程的架构逻辑。
终端自主权可以直接执行 Bash 命令,包括安装依赖 (npm install)、运行构建 (make build)、执行测试 (pytest)。打通了”编写代码”到”验证代码”的闭环,拥有了执行力。
任务规划面对复杂需求(如”重构认证模块”),能拆解为多个步骤(Plan -> Act -> Verify),并维护任务列表。具备了任务拆解能力,遇到错误时会根据报错信息尝试自主修正,而不是把问题抛回给我。
版本控制集成理解 Git 状态,能查看 git diff,分析变更,甚至帮我撰写 Commit Message 和提交代码。将”写代码”和”提交代码”整合到了单一的对话流中,保持心流不被打断。

与Cursor的区别

Cursor 的本质依然是一个极其强大的 IDE 编辑器(Fork 自 VS Code),它的优势在于无缝的编辑器体验,通过LLM大模型极其顺滑地预测我的下一个按键,或者通过 Composer 窗口进行多文件编辑。它的核心交互依然离不开”光标”和”编辑器窗口”,就像一个坐在旁边的副驾驶。

相比之下,Claude Code 彻底抛弃了 GUI 的束缚。我不再是操作一个编辑器,而是在与一个拥有 Shell 权限的 AI 结对编程。Cursor 擅长”写”(Writing),而 Claude Code 擅长”做”(Doing)。Cursor 适合在这个文件里快速实现一个函数,而 Claude Code 适合在整个项目中从头搭建一个功能、修复一个棘手的跨文件 Bug 或进行一次大规模重构。

维度Cursor (IDE + AI)Claude Code (CLI Agent)
核心形态基于 VS Code 的定制编辑器运行在终端的命令行工具
交互逻辑补全(Tab)、聊天(Cmd+L)、内联编辑(Cmd+K)对话式指令 (Prompt -> Action -> Result)
上下文范围打开的文件、引用的代码块、向量索引整个文件系统、终端输出、Git 历史
操作权限主要是读写文件读写文件 + 执行任意系统命令
适用场景快速编码、浏览代码、即时修改复杂重构、Debug调试、自动化脚本编写、脚手架生成
思维模式辅助驾驶 (Copilot)代理执行 (Agent)
quadrantChart
    title "AI编程工具位置对比"
    x-axis "代码编写" --> "项目执行"
    y-axis "局部优化" --> "全局管理"
    "Cursor": [0.2, 0.8]
    "Claude Code": [0.8, 0.2]
    "GitHub Copilot": [0.3, 0.3]
    "Tabnine": [0.1, 0.1]

安装

官方提供了多种安装途径,我选择了 Native Install(原生安装脚本)。相比于常见的 npm install -g,原生安装包内置了独立的运行时环境,避免了因本地 Node.js 版本差异导致的兼容问题,升级维护也更稳定。

1
2
# 官方推荐的安装命令(示例)
curl -sL https://code.claude.com/install.sh | bash

由于众所周知的网络原因,在国内网络环境下安装或使用时,大概率会遇到连接超时或区域限制的问题。

仅仅开启系统代理软件(VPN)往往是不够的,终端(Terminal)的流量默认可能不走系统代理。我必须在 Shell 中显式 export 代理变量,否则安装和使用过程中会频发连接超时错误。

通常需要在终端显式声明代理环境变量,确保流量正确转发:

1
2
3
4
5
6
# 替换为自己的代理端口,通常是 7890 或 10808
export https_proxy=http://127.0.0.1:7890
export http_proxy=http://127.0.0.1:7890

# 建议执行以下命令验证代理是否生效
curl -I https://www.google.com

模型配置

  1. Anthropic 原生模型 (Claude 4.5 Sonnet)
    • 这是 Claude Code 的默认且最佳体验配置。直接登录即可使用,无需复杂设置,原生支持开箱即用。
  2. OpenAI (GPT-5.x)
    • 虽然可以通过适配层使用 GPT-4o,但实际使用下来的感受是:模型定价较高。对于高频的 Agent 交互(通常伴随着大量的 Input Token 读取)来说,成本控制是不得不考虑的因素。
  3. DeepSeek (V3.1)
    • DeepSeek 也是很多人的选择。在配置时,通常需要指向兼容 OpenAI 格式的端点。实测下来,DeepSeek-V3 能满足日常代码分析需求,对于常见 Bug 的定位也很准确。但在处理跨多个文件的复杂逻辑或需要长上下文推理的任务时,稳定性稍逊于 Claude 4.5 Sonnet
  4. xAI Grok (Grok 4.1 Fast) + LiteLLM
    • 这是一个非常有趣的非官方方案。由于 Grok 的 API 格式不兼容 Anthropic 标准,我们需要引入 LiteLLM 作为中间代理。
    • 我目前用的就是这套方案,日常编码任务基本够用。但 LiteLLM 毕竟是代理转发工具,部分高级参数映射可能不完全。Grok 的推理速度和代码能力总体表现不错。
  5. Google Gemini 3 (Pro/Flash) + LiteLLM
    • Gemini 的超长上下文理论上适合全库分析,但现阶段通过 LiteLLM 接入的兼容性问题较多,常出现参数校验错误。如果想用 Gemini,直接使用 Gemini CLI 是更稳定的选择。
  6. 其他模型
    • 目前不推荐使用对 Tool Use(工具调用)支持不完善的模型。Claude Code 强在依赖于自家模型准确输出特定格式的工具调用指令,如果模型遵循指令能力较弱,会导致 Agent 反复尝试或卡死。

Anthropic 的风控极其严格,大陆及港澳地区 IP 直连会被立即封号,且申诉极难通过。务必确保终端流量走在靠谱的海外节点上,并保持网络环境稳定。

使用

在终端中进入项目根目录,输入以下命令启动:

1
claude

首次运行时,它会对当前目录进行索引(Indexing),建立对项目结构的基本认知。这个过程很快,索引完全在本地构建。就绪后进入交互式的 REPL(Read-Eval-Print Loop)环境,可以用自然语言描述任务。

Claude Code 具有执行终端命令的权限(如 rm, git push)。虽然它在执行敏感操作前会请求批准,但在授予权限(输入 y)之前,我都会仔细阅读它打算执行的命令,避免误删文件。

工作流示范

以下是我最常用的两种工作方式:

沉浸式代码探索 (Exploration)

当我接手一个遗留项目或面对复杂的开源库时,传统的做法是手动翻阅文件,试图在脑海中构建依赖关系图。而在 Claude Code 中,我可以直接提问:

1
2
> "请解释一下 `auth` 模块的认证流程是如何实现的?"
> "找出所有使用了 `User` 模块的地方,并检查是否有潜在的类型安全问题。"

它会自动运行 grep、阅读相关文件、分析引用关系,最后给出完整的分析报告。

交互式重构与修复 (Refactoring & Fixing)

我不再需要手动在一个个文件中复制粘贴。

1
2
> "运行测试,修复所有失败的用例。"
> "把 `src/utils` 下的大文件拆分成多个小的工具函数文件,并为它们补充单元测试。"

Claude Code 会生成一个执行计划(Plan),告诉我它准备读哪些文件、改哪些代码。在我批准后,它会像一个熟练的工程师一样,自动执行编辑、运行测试、根据报错再次修正代码,直到测试全部通过。我只需要扮演 “Tech Lead” 的角色进行 Code Review 和验收。

总结

从 Cursor 切换到 Claude Code 之后,我对”AI 辅助编程”的理解发生了变化。Cursor 让我在写单个文件时更高效,而 Claude Code 让我可以把一个完整的任务(调试、重构、脚手架生成)交出去,自己只负责验收。

两者并不对立,我现在的做法是:日常快速编辑用 Cursor,涉及多文件改动或需要执行终端命令的任务交给 Claude Code。模型成本和网络访问的问题确实存在,但在摸清配置之后,这两点都可以找到可接受的解决方案。

下一篇预告:Claude Code(二)环境配置 - 了解 Claude Code 的详细配置项

This post is licensed under CC BY 4.0 by the author.