Claude Code这四个字,最近频繁出现在各类AI编程工具的讨论里。我花了两周时间从零开始学习,从官方命令行安装、VSCode集成,到接入第三方模型、写自定义Skills,一路踩坑一路补课。这篇学习记录没有绕弯子,直接把验证过的流程、参数和踩过的坑写清楚。
Claude Code是Anthropic推出的终端AI编程工具,本质是一个跑在命令行里的AI结对编程助手,能读项目代码、改文件、运行命令、跑测试,并以对话方式持续协作。它适合三类人:想摆脱网页对话框、直接在项目现场用AI的开发人员;需要快速理解陌生代码库的技术负责人;以及愿意折腾命令行工具、想搞清楚AI编程工具原理的学习者。如果你属于其中任意一类,这篇记录应该能帮你节省不少试错时间。
1. Claude Code到底是什么,为什么值得专门写篇学习记录
1.1 它和网页版Claude的关键区别
很多人对Claude Code的第一印象就是“在终端里聊天的Claude”,这个理解不算错,但忽略了很多关键点。网页版Claude是个对话框,你贴代码、它给答案,上下文断断续续,一行代码需要你来回复制粘贴。Claude Code完全不是这个用法:它直接跑在你的项目目录里,具备对文件系统的读写权限,可以调用系统命令,可以启动测试、执行git操作,甚至连续修改几十个文件后跑一遍完整验证流程。
我学习过程中体会最深的一点是,它把“AI助手”从聊天对象变成了“团队新成员”。同样是一个人开发,以前在网页上让AI写个函数还要手动粘进文件,现在直接告诉它“把支付模块的错误处理补上,再写个测试”,它自己定位相关文件、读上下文、改代码、写测试,全程不需要切出终端。这个工作方式的差距,短时间内体验不出来,坚持用一两周后就会觉得原来的网页协作方式太“原始”了。
1.2 它解决的真实问题,和适合谁
Claude Code解决的核心问题有三个:上下文割裂、操作链路冗长、跨文件修改成本高。网页聊天工具最烦的就是理解不了你项目里的依赖关系,Claude Code在项目目录里启动后,会基于当前目录构建上下文,还能通过读取相关文件逐步补充理解,改一个接口,它知道去检查调用方。
我自己用它处理过两件过去很费劲的事:一是接手一个没有文档的Python服务,让它梳理路由、数据库模型和对外API的关系,比人肉读代码快得多;二是批量重命名并同步更新所有引用,这种机械但容易遗漏的活儿交给它之后,我只负责review改动。适合的人群面也诚实说:如果你只是偶尔写一两段脚本,用网页版就够;但如果你正经参与项目开发,尤其在IDE或者终端里工作的时间每天超过两小时,Claude Code值得系统学一遍。
2. 安装前必须搞清楚的几件事
2.1 环境要求与前置依赖
Claude Code最推荐的是macOS和Linux环境,它原生跑在终端里,对类Unix系统的支持最顺滑。Windows上也能装,但体验略打折,因为Windows的原生终端对命令行交互工具的支持不如Linux流畅,权限模型也不太一样,工具需要写文件时要面对的细节更多。如果你主力是Windows,通常建议优先在WSL(Windows Subsystem for Linux)里使用,其次是Windows Terminal搭配Git Bash。
安装之前的两个硬性前提是:有Node.js环境(官方建议18及以上版本,我用的是20 LTS),以及有npm包管理器可用。另外,Claude Code运行过程需要联网调用Anthropic的模型接口,所以网络连通性要正常。我第一次安装时就在连接服务上报错,排查了一圈发现是网络策略拦了外网请求,这个细节在后面的故障排查部分专门说。
2.2 三种主流安装方式对比
安装Claude Code的方式主要有三种,我分别试过,可以按喜好选。
第一种是官方推荐的npm全局安装,命令很简单:
npm install -g @anthropic-ai/claude-code装完直接跑claude --version验证,看到类似2.1.x的版本号就说明成功了。这种方式的优点是升级方便,官方发新版后一条命令就能跟上:
npm install -g @anthropic-ai/claude-code@latest缺点是如果npm下载源速度慢,安装过程会比较难受,我个人的做法是把npm registry切到常用镜像源(比如社区维护的npmmirror),实测安装分钟级完成。
第二种是官方提供的原生安装脚本:
curl -fsSL https://claude.ai/install.sh | bash适合不想碰npm的人,脚本会自己处理二进制文件和依赖,装完直接能用。但这种方式的卸载和升级要靠重跑脚本,管理上略麻烦。
第三种是直接把npm仓库手动克隆或者解包使用,一般是为了定制源码或者想离线安装,普通用户不必折腾。我的建议是:在干净环境(macOS、WSL)直接用npm全局安装,日常体验最稳。
2.3 第一次启动与账号授权
第一次跑claude命令时,它会提示登录Anthropic账号。这里有几个点提醒:如果你之前用过网页版Claude,直接用同一个账号登录就行;如果你没有账号,需要先注册一个,然后按照终端里的提示完成授权流程。
我遇到过的两个小麻烦:一是终端里的登录链接打开后提示“设备验证”,第一次容易慌,其实只要在浏览器里点确认,回到终端它就会自动继续;二是如果一直卡在等待授权不动,通常是终端环境和浏览器之间的协作问题,我解决的办法是重开一个终端窗口,清理~/.claude目录下的临时授权文件再重新登录。关于套餐的问题,基础版也能用,但如果你想每天长时间使用,订阅确实会影响体验和额度。我先跑通了官方免费额度,再做的深度投入判断,这个顺序建议你也参考。
3. VSCode里配置Claude Code,这事其实很简单
3.1 为什么在VSCode里用,以及怎么启动
其实Claude Code本身不依赖VSCode,它就是个终端工具。但把终端放进编辑器里,就有了一个天然优势:你不用在编辑器、终端、浏览器三个窗口之间来回切换,AI工具直接面对你的代码工作区。我目前主力做法就是:在VSCode里打开终端面板(快捷键是 Control +),然后在项目根目录输入claude`,就进入了工作状态。
我看到很多教程把“VSCode安装claude code”讲得很复杂,其实真正要安装的还是那个npm包,VSCode侧不需要额外装任何插件。Claude Code的交互重心在终端,编辑器只需要扮演“给终端一个窗口”的角色。想在编辑器里选中代码直接交给Claude Code处理,同样不需要插件,把代码复制进对话即可,或者在对话里用@文件路径的语法把某个文件喂给它。我习惯每次进入项目后先执行claude --continue,这样能在上次会话基础上继续干活,上下文不断。
3.2 三个最实用的启动参数
Claude Code的启动参数里,我认为最有用的三个:
--continue:恢复上一次会话的上下文继续对话。我每天开工第一件事是执行它,效率高很多。--model:指定模型。默认用的是官方模型,如果你接了DeepSeek,就要显式指定--model deepseek-chat,或者把默认模型写进配置文件,否则工具可能因为无法识别模型而报错。--allowedTools:白名单模式,限制Claude Code能执行的工具。安全敏感项目里,我通常先用--allowedTools "Read,Write"之类的最小权限启动,跑通流程后再按需放开。
另外还有个权限模式参数,用来控制工具调用的询问方式。默认是每次调工具都要你确认,适合初学者看着它每一步做什么;如果你对工具行为有信心,可以切换到免确认模式减少打断。我建议新人先别急着全开权限,至少先看着它做三轮操作,充分理解它会碰哪些文件、跑哪些命令,再逐步放宽。这个习惯能在早期避免很多“AI自作主张改坏了东西”的意外。
3.3 配置工作区上下文的实际体验
在VSCode集成终端里跑Claude Code,最爽的是读写文件不用离开编辑器:你选中一段代码,它在对话里给出修改建议,你直接在编辑器里改,再切回终端让它跑测试。这个过程我用下来最大的感受是“间隙感”消失了。以前网页工具那种“贴代码、改代码、贴回去、再看报错”的循环,现在变成“说需求、它改文件、看diff、它跑测试、看结果”,速度明显更快。
配置的时候还有一个容易忽略的点:终端的shell环境。如果你用的是zsh,确保你的PATH和~/.zshrc里能看到claude,否则VSCode集成终端里会提示命令找不到。我当时折腾了一阵才发现是shell环境变量没同步,解决方法是重新加载shell配置,或者直接在终端里手动export一下。这个坑很常见,值得记一笔。
4. 把Claude Code接入DeepSeek,配置一次就能长期用
4.1 为什么有人要接第三方模型
老实说,官方Claude Code体验很好,但很多人出于成本、可访问性或模型习惯的考虑,会选择接入其他兼容模型。DeepSeek是目前社区里讨论最多的一种,因为它的API价格相对便宜,而且官方提供了与Anthropic API兼容的接口,几乎不用改代码就能让Claude Code跑起来。我对“接第三方模型”的态度是:值得学,但不建议作为唯一选择。主流复杂场景还是官方模型更稳妥;遇到预算敏感或经常要跑长任务的场景,第三方模型才真正有用。
4.2 手动配置步骤,不用额外工具
接入DeepSeek不需要装什么特殊插件,核心就是设置两个环境变量。我用的是bash/zsh,配置放在~/.zshrc(或者~/.bashrc)里:
export ANTHROPIC_BASE_URL=https://api.deepseek.com/anthropic export ANTHROPIC_AUTH_TOKEN=你的DeepSeek API Key关键点有两个:一是ANTHROPIC_BASE_URL要指向DeepSeek提供的兼容端点,注意路径最后是/anthropic,拼错会导致请求报错;二是ANTHROPIC_AUTH_TOKEN填的是DeepSeek平台的API Key,不是账号密码,也不是Anthropic那边的Key。
改完环境变量后记得执行source ~/.zshrc或者新开一个终端,然后再启动Claude Code:
claude --model deepseek-chat如果你用的是DeepSeek的V3系列或者新版模型,模型名可能类似deepseek-chat;版本不同模型名也会有差异,建议先查阅当前API文档确认模型名,写错模型名会收到模型找不到之类的报错。配置好之后,可以先用一句简单指令验证,比如让它总结当前目录的README,确认请求真的走到了DeepSeek那边。
4.3 切换模型配置文件的小建议
社区里有一些现成的切换工具(比如ccswitch),它做的事情本质上是帮你维护多套环境变量配置文件,在不同模型之间来回切换。我自己用过一段时间,觉得它在“官方模型和DeepSeek之间反复横跳”的场景下确实省事,但核心原理还是那两行环境变量。如果你是配置控,完全可以自己动手写个shell函数来做切换,原理并不复杂。
另一个值得留意的点是:接入第三方模型后,Claude Code的一些原生能力,尤其是依赖官方模型的工具生态,可能会受限,表现是某些高级功能或工具调用不完整。遇到这种情况,我通常的做法是保留一套官方模型配置,遇到复杂任务切回官方,日常简单任务用第三方,两种配置并存,谁合适谁上。
5. 日常使用中的核心操作,摸透这几个就够了
5.1 会话管理:恢复、清理和上下文
Claude Code的会话管理是学习过程中最值得搞清楚的模块。每次启动claude会自动开启一个新会话,新会话意味着上下文从零开始,这对跨天任务不太友好。所以我强烈建议养成claude --continue的习惯,它会把之前会话的对话历史加载回来,等于工作没断。
如果你想知道当前有哪些历史会话,可以用/resume命令调出会话列表选择恢复;对话过程中不需要了就用/clear清空当前上下文,给模型一个“重开”的新状态。命令行工具和网页工具不一样,网页的会话记录存在服务端,命令行工具则主要存在本地,通常在~/.claude目录下。所以想备份、迁移或者清理都很容易。如果你关心“Claude Code存储位置”,答案基本就在这个目录里:配置、会话、Skills都在~/.claude下按子目录分好。
5.2 Skills扩展:让工具更有针对性
Claude Code的Skills机制,社区里已经贡献了不少玩法。所谓Skills,本质上是给Claude Code预定义的一组提示词与行为规范,放在指定目录下,就能让它在遇到特定任务时主动套用。比如有人写了一个代码评审Skills,启动claude后告诉它“做一次本分支的code review”,它就会按照Skills里的评审清单逐项检查,而不只是泛泛而谈。
手动安装一个来自GitHub的Skills,流程不复杂:把仓库下载下来,按照Skills的目录规范放到~/.claude/skills/下,然后重启claude。我最早装开源Skills时犯过一个低级错误:直接整个仓库克隆到skills目录,导致嵌套目录结构不符合规范,工具识别不了。后来看清楚文档要求,应该是把Skills本体的目录放到~/.claude/skills/下,而不是把仓库外层目录放进去。这类“看文档就能避免”的坑,我给自己的提醒是:凡是第一次接触的配置,先看官方README再动手。
5.3 思考等级、长上下文与工作流
Claude Code最近把“思考等级”这个概念做实了,很多人在讨论xhigh等级和workflows的组合。你可以通过启动参数或者对话内的命令调整思考等级,等级越高,模型在回答前会做更多的内部推理,适合复杂任务;等级低则响应更快,适合简单机械操作。
我自己实测下来的经验是:日常改bug用默认等级就够,遇到架构设计、跨文件重构这类需要全局考虑的任务,再把思考等级调到xhigh,确实能感觉到结果质量上了一个台阶,代价是响应时间明显变长,需要耐心等。这种“按任务复杂度动态调参”的思路,比永远用最高级更可持续,也省token。至于workflows,你可以把它理解成一系列预定义步骤的集合,把“发现问题、修复、测试、提交”这种流程固化下来,让Claude Code按固定节奏执行。如果你想玩这个,建议从一个小规模的单一流程开始,验证稳定后再扩展。
6. 踩坑记录与问题排查,把我踩过的坑一次说清
6.1 高频问题速查表
这一部分是用血泪换来的。学Claude Code两周,我把最常见的错误和排查思路整理成了速查表,按实际出现频率排序:
| 现象 | 可能原因 | 解决办法 |
|---|---|---|
claude: command not found | npm全局bin目录不在PATH里 | 检查npm config get prefix,把其下的bin目录export到PATH |
| 启动后报无法连接服务 | 网络连不通目标服务,或防火墙限制了外联 | 检查本机网络连通性,确认防火墙规则,企业网络需咨询本网策略 |
| 登录后一直等待授权不跳转 | 浏览器和终端授权协作问题 | 清理~/.claude下的临时授权文件,重新启动登录流程 |
| 模型报错 model not found | 模型名配置错误 | 查阅当前API的模型名列表,修正--model参数或环境变量 |
| 会话内容丢失 | 误用了/clear或未用--continue | 养成claude --continue习惯;检查~/.claude下的会话文件是否还在 |
| Skills不起作用 | 目录结构或文件名不符合规范 | 对照官方Skills文档重新核对目录层级和文件命名 |
这张表里的每一项我都亲手踩过或排查过。特别注意第二行,在终端里看到连接报错的时候,先别急着怀疑工具坏了,先看看本机网络环境能否正常访问目标服务,很多时候就是网络策略的问题,和Claude Code本身无关。
6.2 问题排查的思路:从日志和目录入手
排查Claude Code问题,我的方法论是“先看日志,再猜原因”。Claude Code在运行时会打印比较详细的交互日志,默认情况下很多关键信息会直接输出到终端;如果问题特别诡异,可以先在干净目录里启动一个最小会话,看它是否正常,再用二分法判断是项目代码的问题还是配置的问题。
另外一个非常有用的线索是~/.claude目录。这个目录下面有配置文件、会话记录、Skills目录、缓存等,大部分“行为异常”都能在这里找到原因。比如你自定义了一个参数但工具不生效,十有八九是配置文件里的键名写错了;Skills不加载,大概率是目录结构不符合规范。学会看这个目录,等于掌握了Claude Code的体检入口,比网上到处搜答案靠谱得多。
6.3 卸载与重装
学知识绕不开“装坏了重来”这个环节。卸载Claude Code其实很简单:
npm uninstall -g @anthropic-ai/claude-code如果想清理残留数据,把~/.claude目录备份后删掉即可。注意,这就等于删掉了所有本地会话记录,操作前想清楚。重装则按前面的安装步骤再来一遍。我知道有些人是反复卸载装了很多个版本,从我的经验看,多数时候重装前先清干净旧配置,能够规避大量玄学问题。
7. 学习记录收个尾:几点实战心得
两周学下来,我最想说的是:Claude Code的学习曲线不是陡,而是“绕”。网上资料鱼龙混杂,照着做很可能卡在某个环境变量、某个路径规范上,但真跑通之后,它的价值会在日常工作里持续放大。
几个经验愿意分享:第一,永远保留一套官方模型配置,第三方模型作为补充;第二,每天开工先claude --continue,让会话连续,这是最容易被忽略的效率工具;第三,学会看~/.claude目录和日志,能解决大部分配置类问题;第四,权限模式从严格开始,看完整一轮AI操作再放宽,能避免很多次“AI改坏代码”的惨剧。
我自己的下一步计划,是把Claude Code和现有CI流程串起来,让它在代码提交前自动做一轮代码评审和测试补全。这个方向我还在试,如果后续有值得记录的进展,再写一篇更新。