Claude Code这个工具我折腾了有小半年,从最早的命令行版本一路用到现在的桌面版和VS Code插件,中间踩过的坑比官方文档里写出来的多得多。这篇不打算讲那些高大上的底层原理,就聚焦Claude Code的基本操作:怎么安装、怎么配置模型、怎么接入DeepSeek这类第三方服务、怎么配置Skills、以及529报错和乱码这些高频问题怎么排查。不管你刚听说Claude Code,还是已经装好了但卡在“连接模型”这一步,这篇都值得收藏慢慢看。
下面我会按我自己实际操作时“从零到一”的顺序来写,尽量说人话,保证你照着做能跑通。
1. 先搞清楚Claude Code是什么,三种形态怎么选
1.1 Claude Code到底能替你做哪些事
Claude Code是Anthropic推出的AI编程助理,和你在网页上聊天的Claude不同,它直接跑在你本地终端或编辑器里,能读取你项目里的代码、增删改文件、执行终端命令、调用Git、跑测试。你可以把它理解成“一个能动手的助手”,而不只是“一个给建议的顾问”。
它能做的事远不止写代码。我见过有人用它整理数据集、批量改文件名、生成周报、搭PPT框架、做代码审查,甚至帮非技术背景的人写SQL查询。核心逻辑是:你把任务描述清楚,它会在你的项目目录里实际执行操作,然后把改动结果给你看。对开发者来说,它省掉了“复制代码到网页、再粘贴回来”的中间环节,效率提升是很明显的。
适合谁来用?第一类是写代码的工程师,第二类是每天和文件、数据、文档打交道但不想学复杂脚本的人,第三类是刚入门编程、想让AI带着你理解项目的人。门槛不算高,但前提是你得愿意和终端打交道。
1.2 桌面版、CLI、VS Code插件,三者之间的真实差异
Claude Code现在主要有三种形态,我身边人经常搞混,我直接列个表说明:
| 形态 | 安装方式 | 适合场景 | 主要短板 |
|---|---|---|---|
| CLI(命令行) | npm 全局安装 | 终端党、脚本自动化、SSH远程服务器 | 纯文本界面,看代码不够直观 |
| 桌面版 | 官网安装包 | 不习惯命令行的用户、图形化管理文件 | 占内存比CLI高,自动化能力弱一些 |
| VS Code插件 | 扩展市场安装 | 写代码时边写边审、实时改代码 | 依赖CLI,且只在VS Code里生效 |
三者共用同一套登录状态和配置,完全可以同时装,互不冲突。我自己的习惯是:桌面版用来处理长对话和需要可视化看文件变更的任务,CLI用来跑批处理和自动化脚本,VS Code插件则在写代码的时候用作实时审查和补全。
这里有个容易忽略的点:VS Code插件虽然界面友好,但它底层还是要依赖CLI的命令行能力,所以就算你打算只用插件,我建议也先把CLI装好,否则某些功能会报错。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 从零安装Claude Code:Windows、Ubuntu、macOS全流程
2.1 安装前的环境准备
CLI版的核心依赖是Node.js。Anthropic官方要求Node.js 18以上,建议直接装最新的LTS版本,省得后面升级麻烦。装完后在终端跑一下验证:
bash复制node -v
npm -v
两个命令都有输出版本号,说明环境就绪。桌面版不需要Node.js,直接下载安装包就行。VS Code插件则要求你本地已经装了VS Code(这个基本是废话,但确实有人问过)。
另外强烈建议Windows用户把默认终端换成Windows Terminal,而不是继续用老式cmd或者Windows PowerShell的默认窗口。很多后面要讲的乱码问题,其实在终端这一步就能避免一大半。
2.2 CLI安装命令与验证
CLI的安装非常简单,一行命令:
bash复制npm install -g @anthropic-ai/claude-code
安装完成后验证版本号:
bash复制claude --version
能看到版本号就说明安装成功。如果你在Windows的PowerShell里执行命令后报“无法加载脚本”之类的错误,那是因为系统的脚本执行策略默认限制,可以执行下面这条命令放开当前用户的限制:
powershell复制Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
这里解释一下为什么:npm全局安装后生成的claude.ps1本质上是一个PowerShell脚本,PowerShell默认禁止运行不受信任的脚本,所以需要调整策略。这只影响当前用户,不影响系统安全级别。
2.3 桌面版和VS Code插件的安装
桌面版去Claude官网下载对应平台的安装包:Windows是exe,macOS是dmg,Linux有deb、rpm和AppImage三种。下载后按正常软件安装流程走,启动后用账号登录就能用了。桌面版的优势是可视化管理项目,你可以直接把一个文件夹拖进去,然后看它逐文件修改,比CLI直观很多。
VS Code插件则在扩展市场搜索“Claude Code for VS Code”,点安装。装好后左侧边栏会出现机器人图标,打开面板就能发起对话。注意一点,如果插件提示找不到claude命令,说明CLI没装好或者没被加到系统PATH里,回到2.2节重新检查。
2.4 首次认证与API Key方式
安装完成后,在终端输入claude启动。首次使用会要求登录:输入/login,浏览器会弹出授权页面,确认后终端就处于可用状态。这种方式适合个人日常使用。
如果你要在服务器或者CI环境使用,建议直接用API Key方式:在环境变量里配置ANTHROPIC_API_KEY,Claude Code启动时会自动读取,不再走登录流程。配置方法在后面章节会详细讲。
这里有一条安全经验:不管用哪种方式认证,都不要把API Key硬编码进项目的配置文件里。万一不小心提交到Git仓库,Key泄露只是时间问题。正确的做法是让程序从环境变量读取。
3. Claude Code接入DeepSeek/智谱模型:自定义服务商全流程
3.1 为什么会有“Claude Code接DeepSeek”这种玩法
Claude Code最初默认只连接Anthropic官方服务,但对很多人来说,官方API的支付流程不便、成本也不低。这时候社区发现Claude Code支持通过环境变量自定义服务地址和模型名,于是“Claude Code + DeepSeek”、“Claude Code + 智谱”这类组合迅速火了起来。
本质上你做的事情是:把Claude Code当做一个AI编程客户端,背后接什么模型由你自己决定。DeepSeek这类模型的API价格便宜,国内支付方便,而且提供了Anthropic兼容接口,所以只需要改几个配置就能替换。这也是为什么你在网上会看到各种“Claude Code接入DeepSeek”教程,核心思路全都一样:改Base URL,改API Key,改模型名。
3.2 用环境变量配置第三方模型
以DeepSeek为例,你只需要设置三个环境变量:
bash复制set ANTHROPIC_BASE_URL=https://api.deepseek.com/anthropic
set ANTHROPIC_AUTH_TOKEN=sk-你的DeepSeek密钥
set ANTHROPIC_MODEL=deepseek-chat
如果你用macOS或Linux,语法换成export:
bash复制export ANTHROPIC_BASE_URL=https://api.deepseek.com/anthropic
export ANTHROPIC_AUTH_TOKEN=sk-你的DeepSeek密钥
export ANTHROPIC_MODEL=deepseek-chat
配置完成后,启动Claude Code测试:
bash复制claude -p "用Python写一个快速排序"
如果能正常返回结果,说明已经成功接入DeepSeek。这里有个小技巧:-p参数表示一次性提示,适合用来快速验证配置是否生效,不用进入交互界面。
用环境变量配置的缺点是每次新开终端都要重新设置,而且所有项目共用一套配置,切来切去很麻烦。所以我更推荐把它写进配置文件。
3.3 用settings.json做持久化配置
Claude Code支持读取两个层级的配置文件:全局级是~/.claude/settings.json,项目级是当前项目目录下的.claude/settings.json。两个文件里都可以写env字段来注入环境变量:
json复制{
"env": {
"ANTHROPIC_BASE_URL": "https://api.deepseek.com/anthropic",
"ANTHROPIC_AUTH_TOKEN": "sk-你的DeepSeek密钥",
"ANTHROPIC_MODEL": "deepseek-chat"
}
}
推荐的做法是项目级优先、全局级兜底。项目级配置可以跟着代码仓库走,团队成员克隆下来后各自替换成自己的API Key,配置逻辑大家都能看到,不用挨个教。
但这里有个重要提醒:别把真实的API Key写进这个文件然后提交到Git,尤其是公开仓库。正确做法是用环境变量引用,比如在settings.json里写成:
json复制{
"env": {
"ANTHROPIC_AUTH_TOKEN": "${DEEPSEEK_API_KEY}"
}
}
然后在系统里单独设置DEEPSEEK_API_KEY这个环境变量。这样既保留了配置的方便性,又不会泄露密钥。
3.4 CC Switch:多服务商一键切换的利器
如果你同时使用官方Claude、DeepSeek、智谱等多套模型服务,手动改settings.json迟早会疯掉。这时候就需要CC Switch这类配置管理工具。
CC Switch是一个开源工具,本质上是帮你管理多套Claude Code配置Profile。你可以为每个服务商建一个Profile,填好服务商名称、Base URL、API Key、模型名,需要切换时一键应用。它的原理其实就是自动帮你改写~/.claude/settings.json和相关的模型配置,省去了手动编辑文件的麻烦。
用CC Switch的典型场景是:白天用官方模型处理复杂架构设计,晚上换成DeepSeek跑批量代码生成节省成本。切换过程大概几秒钟,不用重启终端,体验比手改配置好得多。
我在用CC Switch时踩过一个小坑:切换Profile后,如果当前终端还保留着之前设置的环境变量,新配置可能不生效。解决办法是切换后新开一个终端窗口再启动Claude Code,或者用unset清掉旧的变量。
4. Skills配置进阶:让Claude Code按你的工作流跑
4.1 Skills和CLAUDE.md的区别
很多人刚开始接触Claude Code时,分不清Skills和CLAUDE.md的作用。简单说:
- CLAUDE.md是“项目说明书”,告诉Claude Code这个项目的背景、技术栈、编码规范、常用命令等,它决定的是Claude Code在这个项目里的“世界观”。
- Skills是“技能包”,把一个特定任务的指令、示例、脚本打包成一套完整流程,Claude Code遇到匹配的任务时会按这套流程来执行。
打个比方:CLAUDE.md像是新员工入职手册,Skills则是“如何开周会”、“如何写周报”这样的标准操作流程SOP。手册决定你怎么思考,SOP决定你怎么做事。
4.2 手写一个PPT大纲生成Skill
下面我以“PPT大纲生成器”为例,演示怎么手写一个Skill。
首先在用户目录下创建技能文件夹:
bash复制mkdir -p ~/.claude/skills/ppt-writer
然后在该目录下创建SKILL.md文件,内容如下:
markdown复制---
name: ppt-writer
description: 根据用户输入的主题,生成一份结构化的PPT大纲,并输出为Markdown格式。
---
# PPT大纲生成器
## 触发条件
当用户要求生成PPT大纲、演示文稿结构、汇报框架时,使用本技能。
## 执行步骤
1. 先向用户确认目标受众(内部汇报、对外演讲、课堂分享等)。
2. 确认页数范围,默认10-12页。
3. 按以下结构生成大纲:
- 封面页:标题 + 副标题
- 背景页:为什么要讲这个话题
- 现状页:当前情况与问题
- 核心内容页:2-3页,逐层展开
- 案例页:1-2页,结合实际例子
- 总结页:核心结论
- 行动页:下一步建议
4. 输出为Markdown格式,用####标记每一页PPT标题,下面写要点内容。
## 输出示例
#### 封面:AI编程工具落地实践
- 副标题:从安装到高效使用
- 汇报人/日期占位
保存后,新开一个Claude Code会话,输入:
code复制请帮我生成一个关于“AI编程工具落地实践”的PPT大纲
Claude Code会识别到ppt-writer这个技能,并按照SKILL.md里的流程输出结构化大纲。在桌面版里,你还可以通过@ppt-writer这样的方式强制指定技能。
实际测试中这个技能很稳,关键原因是你在SKILL.md里把输出格式定义得很具体,它不需要去猜你要什么结构,直接套模板就行。
4.3 社区Skill怎么装、改和避坑
社区里已经有很多现成的Skills,安装方式也很简单。在Claude Code交互界面里输入:
code复制/skill
会弹出技能管理菜单,可以选择安装来自插件市场的技能包。也可以直接用命令行工具:
bash复制claude skill add 技能名称
手动安装的话,把下载的Skill文件夹放到~/.claude/skills/目录下,重启Claude Code就能识别。
我改别人Skill时踩过几个坑,顺便分享给你:
第一,路径问题。很多社区Skill里写了绝对路径,比如“读取/home/user/xxx/input.pdf”,你换一台机器就废了。改成相对路径或者让用户对话时指定路径,才是正确做法。
第二,依赖问题。有些Skill依赖外部工具,比如解析PDF需要pdftotext,处理图片需要ImageMagick。安装Skill前先看它的README,把依赖装齐再测试,不然会卡在莫名其妙的地方。
第三,权限问题。Skill里的脚本默认不会自动执行,Claude Code会询问用户是否授权。如果确认脚本安全,可以在Skill的配置文件里声明需要的权限,减少交互繁琐度。
5. 高频报错与常见问题排查:529、模型名、乱码、卸载清理
5.1 529错误:过载还是额度不足
用Claude Code报529错误,第一反应不应该是“我配置错了”,而应该先怀疑服务端状态。529通常意味着服务端过载或者请求被限流。
排查步骤很简单:
- 看你接的是哪个服务商,是官方Claude还是第三方模型API。
- 如果是第三方模型,去对应控制台查API余额和配额,很多529其实就是余额不足导致的。
- 如果余额正常,等待30秒到1分钟再重试,过载往往是短暂的。
- 检查是不是并发太高,同时跑多个任务会更容易触发限流。
我还遇到过一种情况:模型名写错也会导致529,因为服务商收到了一个不存在的模型请求,返回5xx状态码。所以排查529时,顺手确认一下ANTHROPIC_MODEL的值和服务商文档里写的模型名是否完全一致。
5.2 模型名报错:“deepseek-v4-pro is not a model this version recognizes”
“xxx is not a model this version of claude code recognizes”这个报错我见得太多了,搜索热词里都排得上号。这类错误的根本原因是Claude Code版本内部的模型列表不认你填的模型名。
具体有三种可能:
- Claude Code版本太旧,内置模型列表里没有你想用的新模型名。
- 模型名拼写错误,比如填了
deepseek-v4-pro,但服务商实际提供的是deepseek-chat或deepseek-reasoner。 - 配置引用的模型名来自某个未发布的版本,或者来自CC Switch配置里的历史残留。
解决办法:
第一步,升级Claude Code到最新版:
bash复制npm update -g @anthropic-ai/claude-code
第二步,去服务商官方文档查真实的模型名。DeepSeek的对话模型通常叫deepseek-chat,推理增强模型叫deepseek-reasoner,不要自己编名字。
第三步,如果用CC Switch,检查当前选中的Profile里模型字段是否填对了。我遇到过切换Profile之后模型名没跟着变的情况,手动改一下再应用就好。
5.3 输出乱码、中文问答语言、声音提示调整
终端输出乱码是Windows用户的重灾区,99%是编码问题。Claude Code输出UTF-8编码,而老式Windows控制台默认用GBK编码,两边一撞就是乱码。
解决办法按优先级排序:
- 用Windows Terminal替代老式cmd,它默认支持UTF-8。
- 如果不得不用老式控制台,启动时先执行
chcp 65001切到UTF-8。 - 在VS Code里把终端编码设置改成UTF-8:设置里搜
files.encoding,设为utf8。
中文问答语言的问题则简单得多。如果你发现Claude Code总是用英文回复,只要在项目或全局的CLAUDE.md里加一行:
markdown复制要求:始终使用简体中文回复。
比每次对话时都提醒一句“请用中文”靠谱得多,因为CLAUDE.md是持久化指令,每次启动都会自动加载。
声音提示这块,桌面版有图形设置面板,可以开关消息提醒音效。CLI版在终端里默认没有声音,如果你想要提示音,可以在系统层面给终端配置通知。说实话,这个功能属于锦上添花,不是核心,没必要折腾太多。
5.4 免登录、桌面版快捷方式和本地部署思路
免登录配置很简单:只要在环境变量或者settings.json里配好ANTHROPIC_AUTH_TOKEN,Claude Code启动时会优先读取Token,不再强制跳转登录页。这里的“免登录”指的是不通过浏览器授权,而不是不认证——API Key本身就是一种认证方式。
桌面版想要做成快捷方式启动,可以在桌面创建快捷方式,目标指向安装目录下的可执行文件,愿意折腾的还可以在后面加参数指定默认项目目录或者Profile。这个属于操作层面的小技巧,不用展开太多。
本地部署是另一个被热议的话题。所谓“本地离线部署”,我的理解是:不依赖官方云服务,把Claude Code接到私有化部署的模型上。操作思路和接DeepSeek完全一样,就是把ANTHROPIC_BASE_URL指向你本地模型的接口地址。这样模型跑在你自己的硬件上,数据不出内网,但前提是你有一台跑得动大模型的机器。硬件条件不够的话,我建议还是老老实实用云端API,本地部署的折腾成本远高于收益。
5.5 卸载Claude Code:怎样才算彻底
卸载这事看着简单,但很多人卸完发现claude命令还能用,或者配置残留导致重装后一堆问题。我给你一个完整的清理清单:
CLI卸载:
bash复制npm uninstall -g @anthropic-ai/claude-code
配置文件清理:
bash复制rm -rf ~/.claude
rm -f ~/.claude.json
项目目录下如果建了.claude文件夹,也要删掉。桌面版则在系统卸载程序里删除软件本体,同时在Windows下清理AppData/Roaming下的Claude相关目录、macOS下清理~/Library/Application Support/Claude。
最后验证是否卸载干净:
bash复制which claude
where claude
如果命令提示找不到,说明PATH里没有残留。如果还有输出,说明某个版本的二进制文件没删干净,找到路径手动删除即可。
还要记得清理环境变量。如果之前设置了ANTHROPIC_BASE_URL、ANTHROPIC_AUTH_TOKEN这些变量,卸载后最好也删掉,不然以后装别的工具可能会被这些变量影响。
我在实际使用中最顺手的组合是:桌面版用来做长文档生成和项目方案梳理,CLI跑定时脚本和批量代码审查,VS Code插件负责写代码时的实时问答。三个工具共用一套配置,互不干扰。最后再分享一个小习惯:每个项目根目录放一个CLAUDE.md,把项目背景、技术栈、测试命令、代码规范都写进去,Claude Code的整体表现会明显提升一个档次。这个文件我一般在项目初始化时就写好,后面跑任务基本不需要重复解释背景。这篇内容是我实际踩坑后的整理,如果你的版本更新、模型名有变化,以官方文档为准,但整体思路不会变。
