
上个月我把 Claude Code 接到了 VS Code 里后端模型从 Anthropic 换成了 DeepSeek。一开始只是图新鲜用下来发现这个组合确实能打终端里跑着 AI 编程代理改 bug、写测试、重构代码都能让它直接动手账单还比官方 API 便宜一个量级。这篇文章把我从安装到跑通的完整过程包括踩过的坑、验证过的配置、还有排查报错的思路一次性写清楚。看完你可以照着在十分钟内搭出一套可用的环境VS Code 打开终端输入 claude聊聊需求它就开始读写你项目里的文件了。如果你正打算接触 Claude Code又不想用 Anthropic 官方模型的高价 API或者你想在现有 VS Code 工作流里多一个能干活儿的编程代理这篇文章就是给你准备的。1. 先搞清楚这个组合是什么值不值得装1.1 Claude Code 到底是什么Claude Code 是 Anthropic 官方推出的编程代理工具形态是一个命令行程序通过 npm 安装。它不是简单的终端版聊天机器人而是有完整工具调用能力的代理能读取你项目里的文件、搜索代码、编辑多个文件、执行终端命令、跑测试、处理 git 操作。你在终端里用自然语言描述需求它会自主拆解任务一步步执行并把过程实时展示出来。它跟 VS Code 的 AI 插件比如 Copilot、Codeium最大的区别是插件通常停留在补全、对话、解释层面修改代码往往还要你手动复制粘贴而 Claude Code 是真去读写文件、跑命令干完活直接给你看 diff。换句话说它是一个能动手的实习生不是只会说的顾问。1.2 为什么要把模型后端换成 DeepSeekClaude Code 默认要求 Anthropic 官方 API 的 key计费按官方价格走日常重度使用成本不低。而 DeepSeek 官方提供了 Anthropic 兼容接口地址是 https://api.deepseek.com/anthropic它实现了 Anthropic Messages API 的协议。你只需要把 Claude Code 的 base URL 指过去把鉴权 token 换成 DeepSeek 的 API key就能让 Claude Code 用 DeepSeek 的模型干活。DeepSeek 的优点很清楚按 token 计费的价格远低于 Anthropic 官方模型的代码能力也够用上下文窗口大。对个人开发者来说日常的代码生成、重构、查错、写脚本这些任务DeepSeek 的模型完全接得住。可以说这个方案解决的最大问题就是官方代理很好用但我不想为它付那么多钱。1.3 这套环境适合谁用 VS Code 写代码想体验代理式 AI 编程的开发者已经在用 Claude Code但对官方 API 成本敏感的团队或个人想把手上的 DeepSeek API key 用起来、模拟 Anthropic 生态玩法的人不适合谁如果你希望开箱即用、完全不想碰终端和配置文件那还是等官方一键集成更省心。这个方案需要你看得懂环境变量遇到报错时愿意自己排查一下。其实这套方案的原理可以打个比方Claude Code 像一台只认某种插头的设备Anthropic 官方是原厂插座DeepSeek 做了一个同样的插座虽然背后供电的发电机不同但插上去就能跑。这个插座标准就是 Anthropic Messages API。理解这一点后面所有配置逻辑就顺了。2. 动手前的准备最小环境、账号与密钥2.1 检查 Node 环境与安装 VS CodeClaude Code 本质是 Node.js 写的 CLI 工具所以先确认电脑里有 Node 环境。我的建议是 Node.js 18 及以上最好直接用 20 LTS 或更新版本。装太老的版本npm 安装会失败或者运行时直接报语法错误。检查方式node -v npm -v如果还没装去 Node.js 官网下载 LTS 安装包一路下一步就行。Windows 用户装完记得重开终端让 PATH 生效。VS Code 本身只需要能开终端就行理论上你甚至可以在系统终端里用 Claude Code。但既然标题是在 VS Code 中加入我就按 VS Code 的集成玩法来写Claude Code 跑在 VS Code 内置终端里好处是它调用 code 命令打开文件、展示 diff 时可以直接跟编辑器联动体验比纯系统终端好很多。2.2 创建 DeepSeek API key 与账户余额去 DeepSeek 开放平台注册账号创建一个 API key。流程是控制台 - API Keys - 创建新的 key生成一串 sk- 开头的字符串。创建时记得立刻复制保存平台只显示一次。另外DeepSeek 是按充值余额计费的账户里要有余额才能调用。金额不用冲太多日常写代码的量级真的很小。我自己的使用习惯是重度用一周也就消耗个位数到两位数分量的余额具体价格看平台页面的当前定价。第一次用的话先冲一点点跑通了再根据用量补。2.3 理解 Anthropic 兼容接口的映射原理DeepSeek 官方文档里有一个章节专门讲 Anthropic API 兼容里面明确给出了 Claude Code 的接入参数。核心是三段信息ANTHROPIC_BASE_URLhttps://api.deepseek.com/anthropicANTHROPIC_AUTH_TOKEN你的 DeepSeek API keyANTHROPIC_MODELdeepseek-chat这三个环境变量的含义分别是API 请求发往哪里、用什么凭证鉴权、默认用哪个模型。Claude Code 启动时会读这些变量然后按 Anthropic 协议发请求。DeepSeek 在 /anthropic 路径上翻译请求再路由到自己的模型上。这里有个细节值得注意base URL 一定不能漏掉末尾的 /anthropic。如果只写成 https://api.deepseek.comClaude Code 会去请求 /v1/messagesDeepSeek 那边虽然有 OpenAI 风格接口但路径对不上 Anthropic 的请求格式会直接 404。这个错误非常常见后面排查部分我会再展开。3. 一步步配置从安装到跑通3.1 用 npm 安装 Claude Code用 npm 全局安装npm install -g anthropic-ai/claude-code装完验证claude --version能输出版本号就算装好。如果你在 npm 官方源上安装特别慢可以临时切到国内镜像源装完再切回去npm config set registry https://registry.npmmirror.com npm install -g anthropic-ai/claude-code npm config set registry https://registry.npmjs.org/不想全局改 registry 的话也可以直接给 install 命令加 --registry 参数。Windows 用户如果提示 claude 不是内部或外部命令大概率是 npm 全局目录没进 PATH。用 npm prefix -g 查看全局安装路径把对应的 bin 目录加进系统 PATH 就行。这一节多说一句安装过程中如果看到 engine 相关的警告别无视。它通常意味着你的 Node 版本低于 Claude Code 的要求后面启动很容易报语法错误。老老实实升级 Node 再装比到时候排查问题省时间。3.2 三套环境变量配置方案环境变量怎么设置取决于你的操作系统和希望生效的范围。我按三种常见方式讲从最简单到最工程化。方式一写入 shell 配置文件macOS / Linux编辑 ~/.bashrc 或 ~/.zshrc追加export ANTHROPIC_BASE_URLhttps://api.deepseek.com/anthropic export ANTHROPIC_AUTH_TOKENsk-你的DeepSeek密钥 export ANTHROPIC_MODELdeepseek-chat export ANTHROPIC_SMALL_FAST_MODELdeepseek-chat export CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFICtrue保存后 source 一下或者重开终端。方式二PowerShellWindows临时生效在当前终端执行$env:ANTHROPIC_BASE_URLhttps://api.deepseek.com/anthropic $env:ANTHROPIC_AUTH_TOKENsk-你的DeepSeek密钥 $env:ANTHROPIC_MODELdeepseek-chat $env:ANTHROPIC_SMALL_FAST_MODELdeepseek-chat永久生效用 setxsetx ANTHROPIC_BASE_URL https://api.deepseek.com/anthropic setx ANTHROPIC_AUTH_TOKEN sk-你的DeepSeek密钥 setx ANTHROPIC_MODEL deepseek-chat setx ANTHROPIC_SMALL_FAST_MODEL deepseek-chat注意 setx 对已经打开的终端不生效设置完要新开一个终端窗口。方式三项目级配置推荐可控性最强在项目根目录创建 .claude/settings.json把环境变量写进去。这样配置跟着项目走不会污染全局 shell也方便团队共享{ env: { ANTHROPIC_BASE_URL: https://api.deepseek.com/anthropic, ANTHROPIC_AUTH_TOKEN: sk-你的DeepSeek密钥, ANTHROPIC_MODEL: deepseek-chat, ANTHROPIC_SMALL_FAST_MODEL: deepseek-chat } }我个人强烈推荐方式三。原因后面单独讲。3.3 第一句对话验证联通性配置好之后先在项目目录里执行claude第一次启动会有一些初始化提示如果一切正常你会看到 claude 的交互提示符。随便问一句你好用一句话介绍你自己如果它正常回复说明链路已经通了。更稳妥的验证方式是用 print 模式直接问一句然后退出claude -p ping请回复pong正常情况下你会看到 pong 或者类似的回复。print 模式很适合脚本调用和快速验证不进入交互界面。这一步通过之后基本可以确定 base URL、token、模型名三样东西全都没问题。如果这一步报错别急着往下走先看第 5 章的排查表。绝大多数问题都集中在环境变量没生效、base URL 写错、模型名不对这三类。我个人见过的案例里环境变量没生效占了一半以上重开终端往往就解决了。3.4 在 VS Code 集成终端里使用进入 VS Code打开项目文件夹按 Ctrl反引号macOS 上是 Control反引号呼出集成终端运行 claude。之后你的整个开发流程就变成编辑器里改代码终端里和 Claude Code 对话它帮你分析代码库、给出修改方案、直接动文件你在 diff 里审查它的改动。有个小技巧VS Code 的终端支持多窗口拆分。建议左侧窗口跑 claude右侧窗口跑测试或构建命令。Claude Code 会自己在终端里执行命令你可以看着它的每一步操作发现不对马上 CtrlC 打断。另外Claude Code 的交互界面里支持斜杠命令常用的有/model 切换模型/clear 清空当前会话上下文/status 查看会话信息/cost 查看本次会话消耗的 token 费用/help 查看所有命令4. 实操要点模型选择、参数调优与协作分工4.1 deepseek-chat 与 deepseek-reasoner 怎么选DeepSeek 在 Anthropic 兼容接口上主要可用两个模型名deepseek-chat 和 deepseek-reasoner。打个比方deepseek-chat 像手脚麻利的执行者快、便宜适合日常写代码、补测试、改样式、解释报错deepseek-reasoner 像遇到难题会先坐下来想清楚再动手的老手推理链路长适合解复杂的算法问题、排查诡异 bug但更慢消耗也更大。我实际使用的经验是默认用 deepseek-chat 就够覆盖八成以上的日常任务。只有遇到那种改了三次还不对、逻辑绕来绕去的 bug 时才切换 /model 换成 deepseek-reasoner 让它慢慢想。不用一开始就上 reasoning 模型那样会显得很急响应慢还贵。Claude Code 内部其实有两个模型槽位一个主模型干重活一个小模型跑后台的轻量任务比如生成标题、总结对话这种。如果不设置 ANTHROPIC_SMALL_FAST_MODEL它会默认去请求 Anthropic 的小模型在我们对接 DeepSeek 的场景里就会报错。所以我在前面配置里把它也指到了 deepseek-chat这一步很多人会漏。4.2 关键环境变量逐项说明我把相关的环境变量整理成一张表方便对照排查环境变量作用对接 DeepSeek 时的推荐值ANTHROPIC_BASE_URLAPI 请求地址https://api.deepseek.com/anthropicANTHROPIC_AUTH_TOKEN鉴权凭证你的 DeepSeek API keyANTHROPIC_MODEL主模型名deepseek-chat 或 deepseek-reasonerANTHROPIC_SMALL_FAST_MODEL内部轻量任务模型deepseek-chatCLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC关闭非必要网络请求true最后一个变量是个隐藏的优化开关。默认情况下 Claude Code 会向 Anthropic 那边发一些非核心的遥测和功能请求在第三方模型场景下这些请求一是没必要二是可能因为连不上而拖慢启动或造成奇怪的等待。设成 true 之后启动更干净链路更稳。4.3 项目级配置为什么更推荐回到前面提到的项目级配置。用 .claude/settings.json 有四个实际好处。第一环境变量是跟着项目走的。你不同项目可能想用不同模型或者有些项目根本不需要 AI 代理全局 export 在多个项目之间容易串。第二避免把密钥写进 shell 配置。虽然 shell 配置文件本身也不安全但项目级配置配合 .gitignore 处理更灵活——你可以把 settings.json 里含密钥的字段抽出来或者在团队里共享一份去掉 token 的模板。第三VS Code 集成时项目级配置会自动被 Claude Code 读取不需要额外记忆哪些终端要设置哪些变量。第四排查问题更简单。怀疑配置错了直接看项目里这个 json 文件一目了然。我现在所有用到 Claude Code 的项目都是建一个 .claude 目录里面放 settings.json。全局 shell 里只保留一个兜底配置防止在没配项目级设置的地方裸跑 claude 时报错。4.4 和 VS Code 原生 AI 能力的分工不少朋友会问有了 Claude Code还需要装 Copilot 之类的插件吗我的看法是两者互补不是替代关系。VS Code 的 AI 插件擅长的是行内补全——你写代码时它在光标处给你接下半句这种即时反馈 Claude Code 给不了。而 Claude Code 擅长的是跨文件任务——比如帮我搜索所有调用这个函数的地方统一改成新接口这种任务你让普通插件做它只会给建议你还是得手动改Claude Code 会直接动手改完所有文件再给你一份 diff。我的习惯是编译器报错了让 Claude Code 去修写新函数开 Copilot 让它补全。各干各擅长的体验最好。5. 常见问题与排查实录5.1 认证失败401 与密钥相关现象启动后立刻提示 authentication 相关错误或者请求返回 401。排查顺序在终端里执行 echo $ANTHROPIC_AUTH_TOKENWindows 是 echo $env:ANTHROPIC_AUTH_TOKEN确认变量真的存在。很多时候配置写对了但 shell 没有重新加载导致 claude 进程读不到。确认 key 没复制错。sk- 开头的一长串前后不要有空格不要混入引号。去 DeepSeek 平台确认 key 状态是启用账户余额不为零。余额为 0 时鉴权也会异常。5.2 404 与请求路径错误现象请求发出去服务器返回 404 或类似 URL not found。十有八九是 ANTHROPIC_BASE_URL 写成了 https://api.deepseek.com 或 https://api.deepseek.com/v1。这两个都不对。对接 Claude Code 必须带 /anthropic 后缀也就是 https://api.deepseek.com/anthropic。顺便说一句如果你在 DeepSeek 平台文档里看到 OpenAI 风格的 base_url那是给 OpenAI SDK 用的别混淆。同一个 DeepSeek 服务OpenAI 风格和 Anthropic 风格是两个不同的路径Claude Code 只认后者。5.3 模型不存在与 /model 切换现象能连上 API但提示模型名无效。先执行 /model 看看当前模型列表然后手动输入 deepseek-chat 或 deepseek-reasoner 再试。同时检查 ANTHROPIC_MODEL 环境变量是否被设成了奇怪的值。注意模型名大小写和连字符要跟官方文档一致。另一种情况某些教程会让你把模型设置为其他名字然后在代理网关里做映射。如果你没有代理网关这一层直接对接 DeepSeek 官方接口模型名就必须是 deepseek-chat 或 deepseek-reasoner没有第三个选项。5.4 请求限流429 与场景对策现象用着用着开始报 rate limit 或 429尤其是连续让 Claude Code 大改多个文件时。DeepSeek 的 API 有频率限制Claude Code 这种代理型工具的一次任务会发起多个请求容易撞上限制。应对办法把大任务拆成小任务分步做减少同时开的会话如果真频繁触发到平台查看当前限制档位必要时调整调用节奏。另外将 ANTHROPIC_SMALL_FAST_MODEL 设成 deepseek-chat 也能减少小模型请求的额外压力。5.5 Node 环境与 PATH 问题现象安装时报 engine 不兼容或者启动时报语法错误。检查 node -v低于 18 的版本赶紧升级。npm 装包的时候如果看到 engine 警告也认真看一下别无视。还有一种是 Windows 上 PATH 问题导致 claude 命令找不到按 3.1 节的方式处理。5.6 启动卡顿与非必要流量现象claude 启动后长时间没反应或者出现跟 Anthropic 官方相关的请求超时提示。优先确认 CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFICtrue 是否已设置。这个变量关了非必要的遥测请求之后大部分莫名卡住的问题会消失。如果还卡看看 shell 初始化脚本里有没有网络相关配置影响了请求路径。5.7 用好 claude doctor 诊断工具较新版本的 Claude Code 提供了 claude doctor 命令可以自动检查配置和网络链路。如果你配置完怎么都跑不通先跑一下claude doctor它会输出当前生效的 base URL、模型、鉴权状态等信息很多问题看一眼输出就明白了。6. 实际使用中的体会与扩展方向最后再聊几句实践感受。第一这个方案最省心的地方不是省钱而是把AI 编程代理这件事的价格门槛拉下来了。以前用官方模型每次跑一个多小时的重构心里都在算 token 账单现在换成 DeepSeek 之后基本不用盯着 /cost 看了偶尔看一眼也只是满足好奇心。第二把配置做成项目级之后协作体验会好很多。我在团队里共享了一份不带密钥的 .claude/settings.json 模板同事拉下来自己填 key 就能跑每个人用的模型还能不一样。这比每个人都去折腾全局环境变量舒服太多。第三如果你后续想在这个方案上做扩展有两个方向可以参考一是把同样的 Anthropic 兼容接口思路用到其他支持这个协议的工具上配置逻辑几乎一模一样二是在 .claude/settings.json 里继续加 MCP 服务器配置给 Claude Code 接上更多外部工具比如数据库查询或者构建系统。整个生态是开放的从一个入口进去能解锁不少玩法。踩过几次坑之后我的体会是不要在第一次配置失败时直接放弃大部分报错都逃不过前面那几类。按顺序排查十分钟内基本都能解决。等你把 claude 跑在 VS Code 终端里、看着它一行行改代码的时候会觉得这一趟折腾还挺值的。