Claude Code连接DeepSeek V4终极指南:开源工具CC-Switch配置全攻略
接续上篇安装教程,当你安装好Claude Code后,很可能兴冲冲地打开终端输入claude——结果却卡在要求登录Anthropic账号的界面。即便跳过登录,你又会遭遇另一个棘手问题:Claude Code默认只认Anthropic自家的模型,直接把DeepSeek的API地址填进去是无法工作的。别灰心,这篇续章将手把手带你用开源工具CC-Switch突破限制,让Claude Code顺利调用DeepSeek V4。
直接配置DeepSeek为何频频受阻?两大核心障碍解析
不少用户尝试在~/.claude/settings.json里设置环境变量来指向DeepSeek:
{
"env": {
"ANTHROPIC_BASE_URL": "https://api.deepseek.com",
"ANTHROPIC_API_KEY": "你的Key",
"ANTHROPIC_MODEL": "deepseek-chat"
}
}
实际测试下来,你会发现两个关键难点:
障碍一:模型名称白名单校验
Claude Code内部固化了模型名白名单,只认以“claude-”开头的标识符。若传入deepseek-chat,它会在本地就抛出“模型不存在”的错误,根本不发起实际请求。
障碍二:API协议格式不兼容
即使想办法绕过了名称检查,Claude Code发送的是Anthropic Messages API的请求格式,而DeepSeek兼容的是OpenAI Chat Completions格式,两者的请求体和响应结构截然不同,无法直接对话。
要同时攻克这两个难关,就需要一个**“中间人”——它接收Claude Code的请求,进行格式转换后转发给DeepSeek,再把响应翻译成Claude Code能识别的格式返回。这个中间人便是CC-Switch**。
认识CC-Switch:Claude Code模型切换利器
CC-Switch的全称是Claude Code Model Switch,是一个开源项目(GitHub: win4r/CC-Switch),由社区开发者维护,专门用来让Claude Code调用非Anthropic的模型。
工作原理简述:
- 在本地启动一个HTTP代理服务(默认监听127.0.0.1:15721)
- Claude Code的所有请求都发送到这个本地代理
- CC-Switch接收Anthropic格式的请求,将其转换成OpenAI格式
- 转发给DeepSeek(或任何兼容OpenAI接口的国产大模型)
- 收到响应后,再转回Anthropic格式,返回给Claude Code
项目亮点:
- 完全开源免费,MIT协议
- 跨平台支持Windows、Mac、Linux
- 内置多种国产模型配置模板(DeepSeek、通义千问、智谱、文心一言等)
- 图形化操作界面,无需编写代码
- 支持多Provider灵活切换
- 当前最新版本:v3.14.1
💡 通俗理解:CC-Switch就像是Claude Code与DeepSeek之间的实时翻译官——双方的语言不同,翻译官在中间完成双向转译。
安装CC-Switch的两种方式
方式一:从GitHub下载安装包(推荐新手)
访问 https://github.com/win4r/CC-Switch/releases ,根据你的系统选择对应的安装包:
- Windows → 下载
CC-Switch-v3.14.1-Windows.msi - Mac (Intel) → 下载
CC-Switch-v3.14.1-x64.dmg - Mac (苹果芯片) → 下载
CC-Switch-v3.14.1-arm64.dmg - Linux → 下载
CC-Switch-v3.14.1.AppImage
下载后双击安装,按向导完成即可。
方式二:npm安装(适合开发者)
npm install -g cc-switch
一步步配置DeepSeek Provider
安装完毕,启动CC-Switch,你将看到一个简洁的管理界面。依照以下步骤操作:
第一步:添加Provider
点击「添加Provider」按钮,填入以下信息:
- 名称:
DeepSeek V4(可随意命名,便于辨识) - API 地址:
https://api.deepseek.com - API Key:粘贴你在DeepSeek官网申请的API Key(以
sk-开头的字符串) - 模型列表:建议添加以下模型名(每行一个):
deepseek-chat(通用对话)
deepseek-reasoner(深度推理,适合分析逻辑问题)
deepseek-v4-pro(V4专业版)
deepseek-v4-flash(V4快速版)
⚠️ 至关重要的一步:在Provider配置中,找到apiFormat字段,务必将其设为**“openai”**(而不是"anthropic")。因为DeepSeek兼容的是OpenAI的API接口格式,此处必须选择openai。如果默认是anthropic而没有修改,转换将失败,Claude Code启动后不会有任何响应。
第二步:设为默认并启动代理
在CC-Switch的Provider列表中,将刚刚创建的DeepSeek设为「默认Provider」,然后点击「启动代理」按钮。看到“Proxy running on 127.0.0.1:15721”的提示,即表示代理成功运行。
第三步:让Claude Code指向本地代理
现在要使Claude Code把请求发送到本地的CC-Switch代理,而不是Anthropic服务器。编辑配置文件~/.claude/settings.json:
{
"env": {
"ANTHROPIC_BASE_URL": "http://127.0.0.1:15721",
"ANTHROPIC_API_KEY": "sk-cc-switch",
"ANTHROPIC_MODEL": "claude-sonnet-4-20250514"
}
}
这里三个要点:
- ANTHROPIC_BASE_URL必须指向
http://127.0.0.1:15721,即CC-Switch的代理地址 - ANTHROPIC_API_KEY可以任意填写,因为请求只到本地代理,不会经过Anthropic验证
- ANTHROPIC_MODEL填入任意Anthropic官方模型名(如
claude-sonnet-4),目的是通过Claude Code的模型名校验;实际调用的模型由CC-Switch中的默认Provider决定
(若该文件不存在,手动创建即可。Mac/Linux路径为~/.claude/settings.json,Windows路径为C:\Users\你的用户名\.claude\settings.json)
启动并验证配置
所有配置就绪后,在终端输入:
claude
如果能够正常进入对话模式,输入一个简单问题(例如“你好”)并且得到回答,说明配置成功!
如何验证真正走了DeepSeek:
Claude Code的内置系统提示词会让AI自称“Claude”,因此仅凭回复中的名字无法辨别。正确的验证方法是:打开DeepSeek控制台,进入「用量」页面,查看是否有token消耗记录。若有,则证明流量确实通过了DeepSeek。你也可以在Claude Code中输入/model查看当前模型信息,虽然界面显示的是你填的Anthropic模型名,但后台实际已被CC-Switch替换为DeepSeek。
高效使用技巧与命令速查
在Claude Code中切换DeepSeek模型版本
在Claude Code里输入:
/model deepseek-chat # 通用对话
/model deepseek-reasoner # 深度推理(适合复杂逻辑分析)
更便捷的方式是直接在CC-Switch界面中切换Provider的默认模型,刷新后即时生效。
常用命令速查表
| 命令 | 作用 |
|---|---|
| /init | 让AI认识你的项目结构 |
| /model | 查看或切换当前模型 |
| /clear | 清除对话历史(回答错乱时使用) |
| !git status | 直接在Claude Code中执行git命令 |
| /exit | 退出Claude Code |
进阶玩法:用Python实现自定义代理
如果你希望完全掌控交互过程,或者不想依赖CC-Switch,也可以使用Python编写一个轻量级的翻译代理。
核心流程非常简单:
- 利用Python的
http.server在本地启动一个HTTP服务(监听127.0.0.1:15721) - 收到来自Claude Code的POST请求后,解析Anthropic Messages格式的请求体
- 将其转换为OpenAI Chat Completions格式(包括system、messages等字段的映射)
- 通过
requests库转发至DeepSeek API(https://api.deepseek.com/chat/completions) - 将DeepSeek的响应重新封装为Anthropic格式,返回给Claude Code
整个脚本不到100行代码,优点在于可以精确控制每个细节,例如自定义模型版本号、添加请求日志、更完善的错误处理等。
常见问题与排错指南
问题1:CC-Switch启动后提示端口被占用
执行netstat -ano | findstr :15721(Windows)或lsof -i :15721(Mac/Linux)查看占用进程并结束,然后重启CC-Switch。
问题2:启动Claude Code后无响应或报错
按顺序检查:(1) CC-Switch是否正在运行?(2) settings.json中的ANTHROPIC_BASE_URL是否指向http://127.0.0.1:15721?(3) Provider的apiFormat是否已设为openai?
问题3:出现模型名错误或“model not exist”
在CC-Switch的Provider配置中检查模型列表,确保添加了正确的DeepSeek模型名。也可尝试先在CC-Switch界面中将默认模型切换到deepseek-chat。
问题4:AI回答自称是Claude,而不是DeepSeek
这是正常现象!Claude Code的系统提示词固化了“你是Claude”的身份设定。去DeepSeek控制台查看用量即可确认实际调用的模型。
问题5:电脑重启后Claude Code连接失败
CC-Switch是一个普通的桌面程序,电脑重启后需要手动重新打开,并再次点击「启动代理」。建议将CC-Switch设置为开机自启,避免遗忘。
总结与回顾
整套方案的核心思路可提炼为三个步骤:
① 安装CC-Switch → ② 配置DeepSeek Provider(务必注意apiFormat设为openai)→ ③ 让Claude Code指向本地代理
整个过程无需科学上网,所有请求均通过国内DeepSeek的接口完成。当Claude Code遇见DeepSeek V4,编程体验与效率将显著提升一个档次。