为什么选择 DeepSeek + Claude Code?
Claude Code 是 Anthropic 推出的命令行 AI 编程工具,凭借其深度代码理解、多文件编辑和项目级上下文感知能力,迅速成为开发者的心头好。然而,直接使用 Claude 官方 API 面临着几个现实问题:国内网络环境访问不稳定、API 费用以美元计价且价格较高、以及充值流程对国内用户不够友好。
DeepSeek 作为国内顶尖的大模型公司,其最新模型在代码理解和生成方面表现出色,尤其在中文场景下的表现甚至优于部分海外模型。更关键的是,DeepSeek API 的价格仅为 Claude 官方 API 的几分之一,且支持人民币充值,对国内开发者来说门槛大幅降低。
通过 CC Switch 这个中间层做透明转发,我们可以让 Claude Code 的客户端无缝对接 DeepSeek 的 API,既保留了 Claude Code 优秀的交互体验和工作流,又享受到了 DeepSeek 的低成本和便利性。本文将详细介绍从 API 申请到配置优化的完整流程,并分享多个实用的 Token 节省技巧。
配置 DeepSeek API
注册与创建 API Key
首先进入 DeepSeek 官网,点击右上角进入 API 开放平台,使用手机号或邮箱完成注册登录。
登录后进入控制台,在左侧菜单找到 API Keys 页面,点击 创建 API Key。系统会要求你为这个 Key 起一个名字(方便日后管理,建议按项目或用途命名,比如 claude-code-dev)。点击确认后,页面会显示你创建的 API Key,格式类似 sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx。
这里特别要注意:API Key 仅在创建时完整显示一次,关闭弹窗后将无法再次查看或复制。 请务必在创建后立即复制并妥善保存。如果不慎遗失,只能删除旧 Key 重新创建。
充值与计费说明
DeepSeek 新注册账户的初始余额为 0 元,不充值将无法调用任何 API,这一点请务必注意。
在控制台的 费用管理 页面完成充值,支持支付宝和微信支付,最低充值金额非常友好。DeepSeek 采用按 Token 用量计费的模式,具体价格以官网实时公示为准。
建议在费用管理中设置一个 月度用量上限,避免因意外调用导致费用超支,特别是在调试阶段频繁测试的情况下。
验证 API 可用性
充值完成后,可以通过命令行快速验证 API 是否正常工作:
curl https://api.deepseek.com/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer sk-你的APIKey" \
-d '{
"model": "deepseek-chat",
"messages": [{"role": "user", "content": "Hello, 请用一句话介绍自己"}],
"max_tokens": 100
}'
如果返回了正常的 JSON 响应且包含模型回复内容,说明 API 已经可以正常使用,接下来就可以配置 Claude Code 来对接了。
安装 CC Switch 进行配置
什么是 CC Switch?
CC Switch 是一个开源的透明代理工具,专门用于将 Claude Code 的请求转发到第三方兼容 API(如 DeepSeek)。它的核心作用是在不修改 Claude Code 客户端的前提下,将原本发往 Anthropic 的 API 请求透明地重定向到 DeepSeek 的 API 端点,并完成请求和响应格式的自动转换。
相比手动修改 Claude Code 源码或使用通用的 API 网关,CC Switch 的优势在于:开箱即用、配置简单、且针对 Claude Code 的通信协议做了专门适配,稳定性更好。
下载与安装
前往 CC Switch 的 GitHub Releases 页面下载最新版本:https://github.com/farion1231/cc-switch/releases
根据你的操作系统选择对应的安装包:
- macOS:下载
.dmg文件,拖入 Applications 文件夹完成安装。首次打开时如果提示”无法验证开发者”,前往 系统设置 → 隐私与安全性,点击”仍要打开”即可。 - Windows:下载
.exe安装包,双击运行安装向导,按提示完成安装。 - Linux:下载对应的 AppImage 或 deb 包,赋予执行权限后运行。
启动与基本配置
安装完成后启动 CC Switch,你会看到一个简洁的配置界面。核心需要填写的信息包括:
- 目标 API 地址:填入
https://api.deepseek.com/anthropic(注意是/anthropic路径,这是 DeepSeek 提供的 Anthropic 兼容端点) - API Key:填入你在上一步创建的 DeepSeek API Key
- 模型名称:选择或输入
deepseek-chat(DeepSeek 主力对话模型,综合能力强)
配置完成后,CC Switch 会在本地启动一个代理服务(默认监听 localhost 的某个端口),Claude Code 的所有请求都会经过这个代理进行转发。
配置 Claude Code 连接代理
CC Switch 启动后,需要告诉 Claude Code 使用这个代理地址。打开或创建 Claude Code 的全局配置文件:
macOS / Linux 路径为 ~/.claude/settings.json,Windows 路径为 %USERPROFILE%\.claude\settings.json。
在文件中添加以下环境变量配置:
{
"env": {
"ANTHROPIC_BASE_URL": "http://localhost:代理端口",
"ANTHROPIC_AUTH_TOKEN": "sk-你的DeepSeek-API-Key",
"CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": "1"
}
}
这里有两个关键点需要注意。ANTHROPIC_BASE_URL 指向的是 CC Switch 本地代理地址而非 DeepSeek 的直连地址,CC Switch 会负责将请求转发到正确的目标。CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC 设置为 1 可以禁用 Claude Code 的遥测数据上报和非必要的网络请求,既能保护隐私,也能减少额外的网络开销和潜在的连接干扰。
如果你希望将配置限定在某个特定项目而非全局生效,可以将 settings.json 放在项目根目录的 .claude/ 文件夹下,即 项目根目录/.claude/settings.json,这样只有该项目会使用 DeepSeek 作为后端。
配置完成后,在终端启动 Claude Code,尝试发送一条消息,如果能正常收到回复,说明整个链路已经打通。
优化配置项,节省 Token
接入 DeepSeek 后虽然成本已经大幅降低,但 Token 的消耗速度在复杂项目中依然不容小觑。以下是一些经过实践验证的优化技巧,能帮助你进一步控制用量。
1. 配置 .claudeignore 文件,屏蔽无效扫描
与 .gitignore 的作用类似,在项目根目录创建 .claudeignore 文件,将不需要 Claude Code 扫描的目录和文件排除出去:
node_modules/
dist/
build/
.git/
*.lock
package-lock.json
.DS_Store
coverage/
.next/
这一步看似简单,效果却非常显著。Claude Code 在分析项目结构时会递归扫描目录,如果不排除 node_modules 这类包含海量文件的目录,每次交互都会产生大量不必要的文件索引 Token 消耗。以一个中等规模的 Node.js 项目为例,node_modules 下通常有数万个文件,排除后单次交互的 Token 消耗可以降低 30% 以上。
上面的不在官方文档内,需要更保险的配置则使用官方提供的,建议在 .claude/settings.json 中配置权限规则,保护敏感文件不被意外读取:
{
"permissions": {
"deny": [
"Read(./.env)",
"Read(./.env.*)",
"Read(./**/*.key)",
"Read(./secrets/**)"
]
}
}
2. 限制上下文对话轮数
Claude Code 默认会保留过去 20 轮对话作为上下文。在实际使用中,较早的对话内容对当前任务的参考价值往往有限,但每一轮对话的完整内容都会作为 Token 发送给 API。
你可以在 CC Switch 的配置中调整上下文轮数,建议设置为 8-10 轮。这样既能保留足够的上下文保证连贯性,又能节省 40% 以上的上下文 Token 开销。特别是在进行多轮调试的场景下,如果不做限制,累积的上下文会迅速膨胀,导致后期每次交互的成本远高于前期。
3. 任务颗粒度拆解,精准下达指令
这可能是所有优化技巧中最重要的一条。不要给 Claude Code 下达类似”帮我重构整个项目”或”优化一下这个模块”这种模糊宏大的指令。指令越模糊,Claude Code 就需要读取越多的文件来理解上下文,Token 消耗呈几何级数增长。
正确的做法是将大任务拆解为具体的小任务,明确指定操作范围和目标。例如:
❌ "帮我重构认证模块"
✅ "只修改 src/auth/jwt.ts 中的 token 刷新逻辑,将过期时间从 1 小时改为 24 小时"
❌ "优化项目性能"
✅ "在 src/components/List.tsx 中为列表渲染添加 React.memo 和虚拟滚动"
指令越具体,Claude Code 需要读取的文件越少,生成的代码越精准,Token 消耗也就越低。养成”一次只做一件事”的习惯,是控制成本的关键。
4. 合理分配模型档位
DeepSeek 提供了不同的模型档位。在日常开发中,简单的代码补全、格式调整、文档编写等任务,使用标准模型(deepseek-chat)就绰绰有余;只有在遇到复杂的架构设计、多文件联动修改、疑难 Bug 排查等场景时,才需要切换到更强力的推理模型(deepseek-reasoner)。
在 Claude Code 中,你可以通过 /model 命令切换模型档位。CC Switch 会将 Claude Code 的模型选择自动映射到对应的 DeepSeek 模型:
/model sonnet # 日常任务使用标准模型,速度快、成本低
/model opus # 复杂任务临时切换到推理模型,能力更强
用完高配模型后记得切回标准档位,避免所有任务都使用最强模型,造成不必要的开支。根据经验,80% 的日常任务用标准模型就能很好地完成,只有约 20% 的复杂场景需要推理模型出马。
5. 启用 Tool Search 功能
在配置中启用 Tool Search 功能后,Claude Code 会根据当前任务需求智能选择最合适的 MCP Tool 来执行操作,而不是盲目地尝试所有可用工具。这不仅能提高任务执行的准确性,还能显著减少因无效工具调用产生的 Token 浪费。
特别是在配置了多个 MCP Server 的情况下(比如同时接入了数据库、文件系统、Git 等多个工具),Tool Search 能帮助 Claude Code 快速定位到最合适的工具,避免”杀鸡用牛刀”式的资源浪费。
6. 善用缓存与增量编辑
在连续多轮交互中,如果上下文涉及大段代码,可以尝试让 Claude Code 只输出修改的部分而非完整文件。通过指令明确要求”只展示需要修改的代码差异”,可以减少输出 Token。
此外,对于重复性的任务(比如批量修改多个相似文件),可以先让 Claude Code 处理一个文件作为模板,确认无误后再让它按照相同模式处理其他文件,这比每次都从头描述需求要高效得多。
常见问题与排查
Q:连接后 Claude Code 报错 “connection refused” 怎么办? 首先确认 CC Switch 是否正在运行,检查代理端口是否被正确填写。如果端口被占用,可以在 CC Switch 配置中更换端口号。
Q:回复速度明显变慢? 可能是 DeepSeek API 处于高峰期,可以尝试切换模型档位,或检查网络连接是否稳定。另外,上下文轮数设置过高也会导致响应变慢,适当降低轮数可以改善。
Q:某些功能不正常,比如无法编辑文件? 这可能是 DeepSeek 模型与 Claude Code 某些特定功能的兼容性问题。CC Switch 在做协议转换时,部分高级功能可能存在适配差异,建议关注 CC Switch 的 GitHub 仓库获取最新的兼容性说明和版本更新。
Q:如何确认 Token 的实际消耗? 可以在 DeepSeek 控制台的 费用管理 页面查看详细的用量明细和账单,也可以配置用量告警,在消耗达到阈值时收到通知。
总结
通过 CC Switch 将 Claude Code 接入 DeepSeek,是一条兼顾体验和成本的实用方案。整个配置过程并不复杂,核心步骤就是三步:创建 DeepSeek API Key、安装并配置 CC Switch、在 Claude Code 中设置代理地址。
而在日常使用中,通过 .claudeignore 排除无效文件、控制上下文轮数、拆解任务颗粒度、合理选择模型档位这几个习惯,可以让你的 Token 消耗降低 50% 以上,真正做到”花小钱办大事”。
希望这篇指南能帮助到想要低成本使用 AI 编程助手的开发者们。如果你在使用过程中遇到了有趣的问题或有更好的优化技巧,欢迎发送邮件进行交流分享。