news 2026/10/1 20:04:26

从零安装 ClaudeCode 并接入 DeepSeek:用 CC Switch 管理多模型配置

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
从零安装 ClaudeCode 并接入 DeepSeek:用 CC Switch 管理多模型配置

1. 从零安装 ClaudeCode 并接入 DeepSeek 的完整场景拆解

ClaudeCode 是 Anthropic 推出的命令行编程助手,能在终端里直接读写项目文件、跑命令、改代码。它默认走 Anthropic 官方通道,但很多人手里已经有 DeepSeek 的 API Key,想把两者接起来用——毕竟 DeepSeek 在代码补全和长上下文任务上性价比不错。问题在于:ClaudeCode 本身不提供图形化的多模型切换界面,每次换供应商都要手改配置文件,容易改错、容易忘备份。

这篇教程解决的就是这个场景:在 Windows 和 macOS 上,用 nvm 装好 Node.js,全局安装 ClaudeCode,再用 CC Switch 这个配置管理工具把 DeepSeek 接进去,最后发一次真实对话请求验证链路通不通。适合谁?适合刚接触命令行 AI 编程工具、又不想被复杂配置劝退的开发者。全程命令可复制,配置文件骨架直接给,踩坑点单独列一节。

我试过在 Windows 11 和 macOS Sonoma 上各跑一遍,流程基本一致,差异只在 nvm 的安装方式。下面按「环境准备 → 装 ClaudeCode → CC Switch 配置 → 验证 → 排障」的顺序走,你可以跟着做。

核心检索词先明确:ClaudeCode 安装、DeepSeek 接入、nvm 管理 Node.js、CC Switch 多模型配置。这四个词贯穿全文,遇到报错时回来看对应章节即可。

2. 前置环境:nvm 安装 Node.js 与版本锁定实操

ClaudeCode 依赖 Node.js 运行,官方建议 Node 18 以上。直接装 Node 也能用,但后面如果遇到版本冲突(比如某个全局包只支持 Node 20),卸载重装很麻烦。nvm(Node Version Manager)就是解决这个的:一台机器装多个 Node 版本,一条命令切换。

2.1 Windows 下安装 nvm-windows

Windows 用 nvm-windows,下载地址在 GitHub 的 coreybutler/nvm-windows 仓库 releases 页,选nvm-setup.exe。安装时注意两点:安装路径不要有空格和中文;它会问你是否把 nvm 的 symlink 指向现有 Node,如果之前装过 Node,建议先卸载干净再装 nvm,避免路径打架。

装完打开 PowerShell(建议管理员身份),验证:

nvm version

能输出版本号就说明装好了。接着换国内镜像,不然nvm install拉 Node 包会很慢:

nvm node_mirror https://npmmirror.com/mirrors/node/ nvm npm_mirror https://npmmirror.com/mirrors/node/

查看可安装版本:

nvm list available

输出里会列出 LTS 和 Current 两栏。ClaudeCode 用 LTS 就够,选 20.x 或 22.x。安装指定版本:

nvm install 20.18.0

装完查看已安装列表:

nvm list

切换到这个版本:

nvm use 20.18.0

验证 Node 和 npm:

node -v npm -v

两条都出版本号,环境就通了。最后把 npm 源也换成国内镜像,后面全局装包快很多:

npm config set registry https://registry.npmmirror.com/

2.2 macOS 下安装 nvm

macOS 用官方 nvm 脚本,先确认有没有~/.zshrc(Catalina 之后默认 zsh)。执行安装脚本:

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash

装完把下面两行加到~/.zshrc末尾(脚本一般会自动加,没加就手动补):

export NVM_DIR="$HOME/.nvm" [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"

然后source ~/.zshrc让配置生效。验证:

nvm --version

安装 Node 20 LTS:

nvm install 20.18.0 nvm use 20.18.0 node -v npm -v

macOS 下 npm 镜像同样建议换:

npm config set registry https://registry.npmmirror.com/

2.3 版本锁定建议

nvm 默认不会记住你上次use的版本,新开终端可能回到系统默认。可以在项目根目录放一个.nvmrc文件,内容写20.18.0,之后进目录执行nvm use就会自动读这个文件。Windows 的 nvm-windows 对.nvmrc支持有限,建议直接在系统环境变量里把默认版本设好,或者每次开终端手动nvm use 20.18.0。

Node 版本别选太新的 Current 版,有些全局包的 native 依赖还没跟上,装 ClaudeCode 时可能报编译错误。LTS 是稳妥选择。

3. 安装 ClaudeCode 与 CC Switch 的可复制配置

环境好了,接下来装两个东西:ClaudeCode 本体,和用来管理多模型配置的 CC Switch。

3.1 全局安装 ClaudeCode

一条命令:

npm install -g @anthropic-ai/claude-code

装完验证:

claude --version

能输出版本号就成功。第一次直接输claude会进入引导流程,要求登录 Anthropic 账号。如果你只想用 DeepSeek,不想走官方登录,可以跳过这一步:找到用户目录下的.claude.json文件(Windows 在C:\Users\你的用户名\.claude.json,macOS 在~/.claude.json),用编辑器打开,把hasCompletedOnboarding字段改成true。如果没有这个字段就手动加:

{ "hasCompletedOnboarding": true }

保存后再输claude,它会问你是否信任当前目录,选 Yes 就进入交互界面了。这一步只是跳过官方登录引导,不影响后面接 DeepSeek。

3.2 安装 CC Switch

CC Switch 是一个开源的 ClaudeCode 配置切换工具,GitHub 仓库 farion1231/cc-switch,去 releases 页下载对应平台的安装包。Windows 是.exe,macOS 是.dmg。装完打开,界面左侧是供应商列表,右侧是配置编辑区。

它的作用是帮你管理~/.claude/settings.json和~/.claude/config.toml这类配置文件,切换供应商时不用手动改文件。对多模型用户来说,比手改配置安全得多。

3.3 CC Switch 中配置 DeepSeek 的 config.toml 骨架

在 CC Switch 里点「添加供应商」,选 DeepSeek。它会让你填 API Key——去 DeepSeek 开放平台创建,复制出来粘进去。然后重点看配置文件。

ClaudeCode 的配置分两块:settings.json管环境变量和模型映射,config.toml管供应商和模型定义。CC Switch 里 DeepSeek 的config.toml骨架大致如下(路径以 macOS 为例,Windows 把~换成C:\Users\你的用户名):

[providers.deepseek] name = "DeepSeek" base_url = "https://api.deepseek.com" api_key = "sk-你的DeepSeekKey" models = ["deepseek-chat", "deepseek-reasoner"] [providers.deepseek.model_mapping] "claude-3-5-sonnet" = "deepseek-chat" "claude-3-opus" = "deepseek-reasoner"

base_url是 DeepSeek 的 API 地址,api_key填你创建的 Key。models列出你要用的模型,deepseek-chat是通用对话,deepseek-reasoner是推理模型。model_mapping把 ClaudeCode 内部请求的 Claude 模型名映射到 DeepSeek 模型名,这样 ClaudeCode 发claude-3-5-sonnet请求时,实际打到 DeepSeek 的deepseek-chat。

3.4 settings.json 关键字段

settings.json里要配的是环境变量,让 ClaudeCode 知道走哪个 base_url 和 key:

{ "env": { "ANTHROPIC_BASE_URL": "https://api.deepseek.com", "ANTHROPIC_API_KEY": "sk-你的DeepSeekKey", "ANTHROPIC_MODEL": "deepseek-chat" } }

三个字段缺一不可:ANTHROPIC_BASE_URL指向 DeepSeek 的接口地址,ANTHROPIC_API_KEY是鉴权 Key,ANTHROPIC_MODEL指定默认模型。CC Switch 切换供应商时,会自动改写这三个字段,所以你不用手动改。

如果你用的是 TaoToken 这类聚合通道,Base URL 换成https://taotoken.net/api,Key 换成对应平台的 Key,Model ID 按平台文档填。三件套(Base URL + Key + Model ID)必须同时正确,缺一个就会 401 或模型找不到。

配置保存后,CC Switch 会提示你重启 ClaudeCode 让配置生效。关掉终端重新开,或者退出claude再进。

4. 验证请求:发一次对话确认 DeepSeek 接入生效

配置写完不算完,得发一次真实请求确认链路通。这一步很多人跳过,结果后面遇到问题不知道是配置错还是网络错。

4.1 启动 ClaudeCode 并查看模型

在终端输:

claude

进入交互界面后,输/model查看当前模型。如果配置正确,应该能看到deepseek-chat或你在model_mapping里映射的名字。如果还显示claude-3-5-sonnet,说明settings.json的ANTHROPIC_MODEL没生效,回 CC Switch 检查配置有没有保存。

4.2 发一条测试请求

直接输入:

用 Python 写一个快速排序函数,并解释时间复杂度

回车后观察输出。如果 DeepSeek 接入成功,你会看到它流式返回代码和解释。响应速度取决于 DeepSeek 当时的负载,一般几秒内开始出字。

4.3 用 curl 单独验证 API 链路

如果 ClaudeCode 里没反应,先用 curl 直接打 DeepSeek 接口,排除是 ClaudeCode 的问题还是 API 的问题:

curl https://api.deepseek.com/chat/completions \ -H "Content-Type: application/json" \ -H "Authorization: Bearer sk-你的DeepSeekKey" \ -d '{ "model": "deepseek-chat", "messages": [{"role": "user", "content": "你好"}], "stream": false }'

如果返回 JSON 里有choices字段和内容,说明 API Key 和网络都没问题,问题出在 ClaudeCode 配置上。如果返回 401,Key 错了;返回 404,base_url 或路径错了。

4.4 成功结果长什么样

正常返回类似:

{ "id": "chatcmpl-xxx", "object": "chat.completion", "choices": [ { "index": 0, "message": { "role": "assistant", "content": "你好!有什么可以帮你的?" }, "finish_reason": "stop" } ], "usage": { "prompt_tokens": 5, "completion_tokens": 10, "total_tokens": 15 } }

看到choices[0].message.content有内容,就说明整条链路通了。ClaudeCode 里也应该能正常对话。

5. 本篇常见报错排查:401、local proxy failed、reading choices

配置过程中最容易卡在几个固定报错上,逐个拆。

5.1 401 Unauthorized

最常见。原因就三类:Key 填错、Key 过期、Key 没权限。先检查settings.json里的ANTHROPIC_API_KEY和config.toml里的api_key是否一致,有没有多余空格。然后去 DeepSeek 平台确认 Key 状态,有没有欠费或禁用。如果用的是聚合通道,确认 Key 对应的平台和 Base URL 匹配——Key 和 URL 不配套也会 401。

5.2 local proxy failed

这个报错通常出现在 ClaudeCode 启动时,提示本地代理失败。原因是ANTHROPIC_BASE_URL指向了一个 ClaudeCode 无法访问的地址,或者地址格式不对。检查两点:URL 有没有带https://前缀;URL 末尾有没有多余的斜杠。正确格式是https://api.deepseek.com,不要写成https://api.deepseek.com/或api.deepseek.com。

如果确认 URL 没问题还报这个,检查系统环境变量里有没有残留的HTTP_PROXY或HTTPS_PROXY指向失效地址。有的话清掉再试。

5.3 reading choices 报错

完整报错类似error reading choices: unexpected end of JSON input。这是 ClaudeCode 解析 DeepSeek 返回时格式对不上。原因通常是model_mapping没配好,ClaudeCode 请求的模型名 DeepSeek 不认识,返回了错误结构。检查config.toml里的model_mapping,确保 ClaudeCode 内部用的模型名都有对应映射。另外确认ANTHROPIC_MODEL填的是 DeepSeek 支持的模型名,别填claude-3-5-sonnet这种 Claude 专有名。

5.4 OAuth 相关报错

如果没改.claude.json的hasCompletedOnboarding,启动时会走 OAuth 登录流程,报OAuth error或一直卡在登录页。解决办法就是前面说的,把hasCompletedOnboarding设为true。如果已经设了还报,检查文件路径对不对,Windows 是C:\Users\你的用户名\.claude.json,注意用户名别写错。

5.5 模型找不到 / model not found

ANTHROPIC_MODEL或model_mapping里的模型名拼错,或者 DeepSeek 那边没有这个模型。DeepSeek 目前常用的是deepseek-chat和deepseek-reasoner,别写成deepseek-coder之类不存在的名字。去 DeepSeek 文档确认当前可用模型列表。

5.6 配置改了不生效

CC Switch 改完配置后,ClaudeCode 不会自动重载。必须完全退出claude进程再重新启动。如果还不行,检查 CC Switch 有没有真正写入~/.claude/settings.json,手动打开文件看一眼内容对不对。有时候 CC Switch 的「保存」和「应用」是两个按钮,只保存没应用,配置不会写进去。

6. 多模型切换与长期使用的配置建议

配置跑通之后,日常使用还有几个点值得注意。

CC Switch 的核心价值是多供应商管理。你可以在里面同时配 DeepSeek、TaoToken 聚合通道、其他兼容 Anthropic 接口的服务,切换时点一下就行,不用手改 JSON。每个供应商的配置独立保存,切换时 CC Switch 会重写settings.json的三个关键字段。建议给每个供应商起个清晰的名字,比如「DeepSeek-直连」「TaoToken-聚合」,避免切错。

如果你需要长期跑编码任务或 Agent 类工作流,可以考虑用 Coding Plan 这类按量套餐,比单次调用更划算。验证模型能力时,用模型对话页面快速试几个 prompt,确认响应质量再接到 ClaudeCode 里。API Key 的管理在控制台的 API Keys 页面,建议给不同用途创建不同的 Key,方便排查和吊销。

配置文件建议纳入版本管理。把~/.claude/settings.json和config.toml备份到私有仓库,换机器时直接拉下来改 Key 就能用。注意别把真实 Key 提交到公开仓库,用环境变量或本地覆盖文件的方式管理敏感信息。

Node 版本方面,如果后面 ClaudeCode 升级要求更高版本,用 nvm 直接nvm install 22.x && nvm use 22.x就行,不用卸载重装。这就是当初用 nvm 而不是直接装 Node 的好处。

最后提醒一点:DeepSeek 的 API 有速率限制,ClaudeCode 在跑大项目时可能短时间内发很多请求,遇到 429 报错就等几秒重试,或者在 CC Switch 里调低并发。具体限制看 DeepSeek 平台文档。

整套流程走下来,从装 nvm 到验证对话,顺利的话半小时内能搞定。卡住的地方大概率在配置文件格式和模型名映射上,对照第 5 节逐个排查即可。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/1 20:03:23

单元测试的优雅本质:从契约声明到行为验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/1 20:03:12

让图片版权查验更快、更准、更省算力

在互联网内容爆炸式增长的今天,图片已成为电商、媒体、社交平台和品牌传播中最重要的信息载体之一。与此同时,优质图片被竞争对手盗用、未经授权转载、篡改后再次传播的现象也屡见不鲜。如何快速判断一张图片是否嵌入了隐形水印,进而确认其版…

作者头像 李华
网站建设 2026/10/1 20:03:12

佛山顺德汽车HiFi音响改装,无损对插安装不破线,保留原车系统兼容性

随着国内汽车消费市场升级,车友对车载出行体验的需求从基础代步转向个性化品质享受,车载声学领域也从能出声的基础配套,逐步走向HiFi级定制声场的进阶需求。尤其是珠三角地区,汽车文化发展成熟,大量音响发烧友、豪华车…

作者头像 李华
网站建设 2026/10/1 20:01:50

Quartus Prime 19.1 Lite安装配置全攻略:从下载到第一个FPGA工程

很多朋友第一次接触Quartus Prime 19.1精简版(Lite)的时候,最容易卡住的并不是写代码,而是下载安装这一关。官网下载页一堆文件不知道选哪个、装完缺驱动、打开后License配不上,每一步都能把人劝退。这篇教程把从零开始…

作者头像 李华