Claude Code 使用指南:一个中国开发者的真实体验与 DeepSeek 接入方案
80+ 次对话、从配置到排障、从 DeepSeek 到 cc-switch ------ 这是我的 Claude Code 实战记录
引言
如果你是一个中国开发者,大概率已经受够了 AI 编程工具的"三重门":
支付门 ------ GitHub Copilot 每月 <math xmlns="http://www.w3.org/1998/Math/MathML"> 10 、 C u r s o r P r o 每月 10、Cursor Pro 每月 </math>10、CursorPro每月20,Anthropic 的 API 更贵,而且都需要海外支付方式。网络门 ------ 官方的 API 端点国内直连困难重重。信息门 ------ 很多工具的中文资料少得可怜,出了问题都不知道去哪搜。
Claude Code 是 Anthropic 推出的 CLI 原生编程 agent------它不是 IDE 插件,而是直接在终端里和你协作的"编程搭档"。它能读你的整个项目、执行命令、编辑文件、甚至帮你调试。一句话:Copilot 帮你写函数,Claude Code 帮你做项目。
但我用的方式可能和大多数人不太一样------我没有绑定官方的 Anthropic API,而是把它接上了 DeepSeek。80 多次对话下来,踩了不少坑,也摸索出了一套对中国开发者友好的配置方案。这篇文章就是我的全记录。
一、详细安装指南
系统要求
| 组件 | 最低版本 | 推荐版本 | 说明 |
|---|---|---|---|
| Node.js | v18.0.0 | v20.x LTS | 运行 Claude Code 必需 |
| npm | v8.0.0 | v10.x | 包管理器 |
| Git | v2.0.0 | v2.40+ | 可选但推荐 |
| 操作系统 | - | - | Windows 10+ / macOS 12+ / Linux |
Windows 安装(WSL 方案)
Claude Code 基于 Unix 哲学设计,需要 POSIX 兼容环境。在 Windows 上最佳方案是通过 WSL 运行。
步骤 1:安装 WSL
以管理员身份打开 PowerShell,执行:
css
wsl --install
这会安装 WSL 2 和默认的 Ubuntu 发行版。
WSL 文件系统在哪?
安装好 WSL 后,Linux 子系统的文件系统位于 Windows 的一个隐藏网络路径下。以 Ubuntu 为例,路径为:
arduino
\wsl.localhost\Ubuntu\home\你的WSL用户名
比如我安装时使用的用户名是 xaa,那么我的 WSL 家目录就是 \wsl.localhost\Ubuntu\home\xaa。
在 Windows 文件管理器的地址栏输入这个路径,可以直接访问 WSL 内部的文件,方便在 Windows 和 WSL 之间传输文件。
步骤 2:配置 WSL 环境
在 WSL 终端中:
sql
sudo apt update && sudo apt upgrade -y
sudo apt install -y curl wget git build-essential
步骤 3:安装 Node.js
csharp
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt-get install -y nodejs
# 验证安装
node --version
npm --version
步骤 4:安装 Claude Code
bash
sudo npm install -g @anthropic-ai/claude-code
# 验证安装
claude --version
安装完成后,在任何目录下运行 claude 就能启动交互模式。
二、Claude Code 首次登录验证
两种认证方式
Claude Code 支持两种认证方式:
方式一:API Key 认证(推荐中国用户使用)
在 ~/.claude/settings.json 中配置 API Key:
json
{
"env": {
"ANTHROPIC_AUTH_TOKEN": "sk-你的api-key"
}
}
方式二:Claude Console 登录
直接运行 claude,会自动打开浏览器跳转到 Claude Console 完成 OAuth 登录:
bash
claude
# 终端会提示 Press Enter to open browser...
# 回车后浏览器打开,登录 Anthropic 账号完成授权
如果自动打开浏览器失败,可以使用手动模式:
css
claude auth login --manual
中国用户的网络代理配置
国内直连 Anthropic API 基本不可行,必须走代理。如果你使用的是 WSL2,有一个经典天坑:WSL2 有自己的虚拟网卡,127.0.0.1 指向的是 Linux 自己,不是 Windows。
正确的做法是从 /etc/resolv.conf 获取宿主机 IP:
bash
# 查询机器ip
cat /etc/resolv.conf | grep nameserver | awk '{print $2}'
# 设置代理 ,不要直接设置为 export https_proxy=http://127.0.0.1:7892 7892为你上网工具的端口
export WIN_HOST=$(cat /etc/resolv.conf | grep nameserver | awk '{print $2}')
export https_proxy=http://$WIN_HOST:7892
export http_proxy=http://$WIN_HOST:7892
建议把这些加到 ~/.bashrc 里持久化。但注意不要硬编码 IP ------ WSL 重启后虚拟网卡的 IP 可能会变。
几个踩坑经验:
- 大小写敏感 :某些程序只认小写
http_proxy,有些认大写HTTP_PROXY,建议两个都设 - NO_PROXY :设置
NO_PROXY=localhost,127.0.0.1,避免内部请求走代理 - 协议选择:Claude Code 走 HTTP 代理比 SOCKS5 更稳定,确保你的代理工具开启了 HTTP 代理端口
为什么浏览器能访问,WSL 终端里却不行?
这是一个很常见的困惑:明明梯zi搭好了,浏览器打开 Claude 官网没问题,但在 WSL 里运行 Claude Code 就是连不上。原因是这样的:
浏览器:你安装的代理工具,通常会自动设置系统代理或提供浏览器扩展,所以浏览器打开网页自动走代理,不需要额外配置。
WSL 终端 :WSL 是一个独立的 Linux 环境,它不会继承 Windows 的系统代理设置 。终端里的 HTTP 请求(如 Claude Code 调 API)并不知道要走代理,除非你显式地通过环境变量告诉它。
解决方案:
- 开启代理工具的"允许局域网连接" ------ 你的科学上网工具通常默认只允许本机连接,需要找到设置中的"Allow LAN Connections"或"允许局域网连接"选项并开启。这样 WSL 才能通过 Windows 宿主机 IP 访问代理端口。
- 在 WSL 中显式设置代理环境变量 (就是上一节介绍的
export https_proxy=http://$WIN_HOST:7892) - 检查 Windows 防火墙是否拦截了 WSL 到宿主机的连接
防火墙导致网络不通的排查方法
设置代理后如果还是连不上,很可能是 Windows 防火墙拦截了 WSL 到宿主机代理端口的流量。可以用以下方法快速验证:
在 Windows PowerShell(管理员身份)中临时关闭防火墙进行测试:
csharp
# 临时关闭防火墙(仅用于测试网络是否因防火墙受阻)
netsh advfirewall set allprofiles state off
# 重新开启防火墙
netsh advfirewall set allprofiles state on
# 放行 7892 端口
netsh advfirewall firewall add rule name="Clash LAN" dir=in action=allow protocol=TCP localport=7892
注意:临时关闭防火墙仅用于定位问题,确认是防火墙导致后,建议添加放行规则而不是长期关闭防火墙。
一个完整的网络连通性测试流程:
bash
# 1. 确认 WSL 能获取到宿主机 IP
cat /etc/resolv.conf | grep nameserver
# 2. 测试能否连通宿主机(假设 IP 是 172.29.64.1)
ping 172.29.64.1
# 3. 测试 API 连通性
curl -x http://172.29.64.1:7892 https://api.anthropic.com/v1/messages -I
到哪一步不通,问题就出在哪一步。
登录后的常见问题
认证成功后可能会遇到余额不足的问题:
- 使用官方 API:登录 Anthropic Console 查看剩余额度,API 需要预充值
- 使用三方 API:不同服务商有自己的计费体系,需确认账户余额
- 使用 DeepSeek API:通过 DeepSeek 官网充值,支持支付宝
三、如何接入 DeepSeek ⭐
为什么要用 DeepSeek?
| 对比项 | Anthropic 官方 API | DeepSeek API |
|---|---|---|
| 支付 | 需要海外信用卡 | 支付宝/微信支付 |
| 价格 | Opus ~$15/百万 token | Reasoner ~$2/百万 token |
| 国内访问 | 需代理 | 可直接连接 |
| 模型能力 | 强大的 Claude 系列 | 优秀的 DeepSeek R1/Reasoner |
实际上我的单次 session 成本经常不到 $0.03,对于高频使用者来说非常划算。
配置方法
Claude Code 的配置文件位于 ~/.claude/settings.json,接入 DeepSeek 的完整配置如下:
json
{
"env": {
"ANTHROPIC_AUTH_TOKEN": "sk-你的deepseek-api-key",
"ANTHROPIC_BASE_URL": "https://api.deepseek.com/anthropic",
"ANTHROPIC_MODEL": "deepseek-reasoner",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "deepseek-reasoner",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "deepseek-reasoner",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "deepseek-reasoner",
"CLAUDE_CODE_MAX_OUTPUT_TOKENS": "32000"
},
"theme": "dark"
}
关键说明:
ANTHROPIC_BASE_URL指向https://api.deepseek.com/anthropic------ DeepSeek 兼容了 Anthropic 的 Messages API 格式,这是整个方案能跑通的基础- 三个模型层级(Opus/Sonnet/Haiku)全部指向同一个模型,因为 DeepSeek 不像 Claude 有不同档次的分层
CLAUDE_CODE_MAX_OUTPUT_TOKENS=32000让模型可以输出更长的内容
验证配置是否生效
配置完成后,运行 claude 启动交互模式,如果一切正常就能直接与 DeepSeek 对话了。也可以通过一次性命令快速验证:
arduino
claude -p "你好,请用一句话介绍自己"
四、使用 CC Switch 切换不同的大模型
什么是 CC Switch?
CC Switch 是一个开源的多模型管理工具,它提供了一个统一的界面来管理不同 AI CLI 工具的 Provider、MCP、Prompt 和 Skill 配置。项目地址:github.com/farion1231/...
简单说,当你需要在 Claude Code、Codex 等工具之间切换不同的模型提供商时,不用再手动改配置文件、翻笔记找 URL 和 token,直接在 CC Switch 里点几下就行。
安装
从 GitHub Releases 页面下载对应系统的安装包即可:
- Windows :下载
.msi安装包,双击安装 - macOS :下载
.dmg安装包 - Linux :下载
.AppImage或对应发行版安装包
核心功能
1. Provider 切换
这是最常用的功能。把常用的 Provider 都配置好,按场景直接切换:
- 新增 Provider 时配置 URL、API Key,选择对应模型
- 如果某个线路临时不稳定,直接点一下启用另一个 Provider 即可
- 切换后需要新开会话才会生效
2. MCP 管理
统一管理所有 MCP 服务器配置,不再需要在不同工具的配置文件中分别维护。支持:
- 添加/删除 MCP 服务器
- 按需同步到不同应用
- 集中管理本地和远程 MCP
3. Prompt 管理
把自己常用的 Prompt 模板保存下来,按场景分类(写代码、审查、文档、分析等),需要时直接调用,不用临时组织语言。
4. Skills 管理
管理 Skills 的安装、删除和同步。推荐使用软连接方式节省资源。
我的使用场景
我平时主要用 CC Switch 在 deepseek-reasoner 和 deepseek-v4-flash 之间切换:
- deepseek-reasoner:适合复杂逻辑、架构设计、代码审查等需要深度思考的任务
- deepseek-v4-flash:适合快速脚本编写、简单问答等追求响应速度的场景
相比手动改环境变量,CC Switch 的可视化管理界面明显更省心,而且 Provider、MCP 这些配置都在一个地方管理,不会出现"切模型忘了改 MCP"的问题。
切换模型失败怎么办?
如果你在 CC Switch 中切换了模型但发现没有生效,需要检查配置文件目录是否设置正确。
进入 CC Switch 的 设置 → 高级 → 配置文件目录,确保目录指向了 WSL 中 Claude Code 的实际配置路径:
arduino
\wsl.localhost\Ubuntu\home\xaa.claude
注意:
xaa是我 WSL 的用户名,你需要替换成自己的 WSL 用户名。
如果这个路径不对,CC Switch 就无法正确读写 Claude Code 的 settings.json 配置文件,切换模型自然也不会生效。指向正确的目录后,重新切换模型即可。
五、日常使用流
我的典型工作流
bash
需求/问题 → 启动 claude → 判断任务类型
├── 复杂架构 → /plan + deepseek-reasoner → 确认计划 → 执行
└── 快速脚本 → cc-switch 切到 flash 模型 → 直接对话 → 执行
→ /status 检查成本
实用技巧
/plan------ 复杂任务先出计划再执行,避免方向错误/compact------ 压缩对话上下文,大幅减少 token 消耗/status------ 随时查看当前会话的成本和 token 用量/rename------ 给对话重命名,方便后期回顾
六、痛点与局限
Claude Code 并非完美,几点真实感受:
1. 网络配置有门槛 对于不熟悉 WSL 和代理配置的开发者,光搞定网络可能就要花不少时间。
2. 终端不是 IDE 无法可视化预览,调试体验依赖命令行。如果主要做前端 UI 开发,纯终端 workflow 会不太顺手。
3. 模型即上限 即使接入了 DeepSeek Reasoner,在极度复杂的系统设计场景下,相比 Claude Opus 仍有差距。
4. 稳定性 WSL2 + Windows Terminal 的组合偶尔会遇到兼容性问题。长 session 未压缩时响应速度会变慢。
结语
Claude Code 是目前我用过的最强的编程 agent。虽然配置上有门槛,但一旦跑起来,效率提升远超 IDE 插件式的工具。
对于中国开发者来说,Claude Code + DeepSeek API + CC Switch 是一条完全可行的低成本路径:支付宝就能充值 API,CC Switch 管理多模型切换,单次对话成本不到一毛钱。
工具在快速迭代,中文社区需要更多真实的声音。希望这篇分享能帮到正在观望的你。
如果你也在用 Claude Code,有自己的配置方案或使用心得,欢迎留言交流。
附录:中国用户速查表
bash
# 一、安装 Claude Code
sudo npm install -g @anthropic-ai/claude-code
# 二、WSL 路径
# WSL 文件系统在 Windows 中位于:
# \wsl.localhost\Ubuntu\home\你的用户名
# 三、WSL2 代理设置
export WIN_HOST=$(cat /etc/resolv.conf | grep nameserver | awk '{print $2}')
export https_proxy=http://$WIN_HOST:7892
export http_proxy=http://$WIN_HOST:7892
# 四、网络排查命令
ping $WIN_HOST # 测试到宿主机连通性
curl -x http://$WIN_HOST:7892 https://www.google.com -I # 测试代理
# 五、~/.claude/settings.json(DeepSeek 配置)
# {
# "env": {
# "ANTHROPIC_AUTH_TOKEN": "sk-你的deepseek-key",
# "ANTHROPIC_BASE_URL": "https://api.deepseek.com/anthropic",
# "ANTHROPIC_MODEL": "deepseek-reasoner",
# "CLAUDE_CODE_MAX_OUTPUT_TOKENS": "32000"
# },
# "theme": "dark"
# }
# 六、安装 CC Switch
# 访问 https://github.com/farion1231/cc-switch/releases
# CC Switch 配置文件目录指向:\wsl.localhost\Ubuntu\home\你的用户名.claude
# 七、常用命令
claude # 启动交互模式
claude -p "任务" # 一次性任务
/plan # 复杂任务先出计划
/status # 查看成本与用量
/compact # 压缩对话节省 token
如果你觉得这篇文章有用,欢迎点赞收藏。有什么问题或者你的独门用法,评论区见。