news 2026/10/4 6:03:40

从零配置Claude Code + DeepSeek V4(附cc-switch教程)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
从零配置Claude Code + DeepSeek V4(附cc-switch教程)

1. 为什么本地跑 Claude Code 总卡在 401 和登录页

Claude Code 是 Anthropic 推出的命令行 AI 编程助手,它跑在终端里,能直接读项目文件、改代码、执行命令,和网页版那种“你贴代码它回话”的聊天框完全不是一回事。网页版是你跟它聊代码,Claude Code 是它替你动手干活。适合谁?适合每天在本地写 Node.js、Python、前端项目,又想让 AI 直接进项目目录改文件的开发者。

但国内本地环境从零装完 Claude Code 后,第一次输入claude启动,大概率会撞上两个问题:一是它尝试打开 Anthropic 的登录页,需要海外账号;二是即使有账号,请求发出去也会超时。很多人卡在这里,以为是 npm 装错了,反复重装@anthropic-ai/claude-code,其实安装本身没问题,问题出在模型请求的出口通道上。

这篇要解决的就是这条链路:Node.js/npm 装好 Claude Code,再用 cc-switch 把模型请求改到 TaoToken 统一 Key/API 通道,接入 DeepSeek V4,最后跑一次对话验证,目标是一次跑通不报 401。核心检索词就是 Claude Code 配置、cc-switch 切换、DeepSeek V4 接入、Node.js 环境准备。下面每一步都给可复制的命令和配置片段,你照着敲就行。

先说清楚原理,避免你后面排障时抓瞎。Claude Code 默认把请求发往 Anthropic 的接口,cc-switch 的作用是在本地做一层供应商切换,把 Claude Code 的请求指向你配置的 Base URL 和 Key。TaoToken 提供统一的 API 通道,你拿到一个 Key,配上 Base URL,就能让 Claude Code 认为自己在和原服务通信,实际请求走的是 TaoToken 通道,再路由到 DeepSeek V4。这样既不用改 Claude Code 源码,也不用碰系统网络设置,纯配置层解决。

我试过在 Windows 和 macOS 上都走一遍,Windows 上最容易踩的坑是 Node 版本太老导致 npm 全局安装报权限错,macOS 上则是 npm 全局目录没配好。所以第一步环境准备别跳过,Node 版本建议 20.x 或以上,npm 源换成国内镜像,否则npm install -g会慢到你以为卡死。

环境准备分三块:装 Node.js、配 npm 镜像、装 Claude Code。装 Node.js 推荐用 nvm 管理版本,Windows 用 nvm-windows,macOS/Linux 用 nvm。装完验证node --version和npm --version都能输出数字。然后配镜像源,命令是npm config set registry https://registry.npmmirror.com,验证用npm config get registry,输出应该是那个镜像地址。这一步不做,后面全局安装 Claude Code 可能等十分钟还没动静。

装 Claude Code 的命令是npm install -g @anthropic-ai/claude-code,装完用claude --version验证,输出类似 v1.0.x 就说明二进制已经在了。注意这里只是装好了工具,还没配通道,所以此时直接claude启动会走默认登录流程,先别急,下一步拿 Key 和配 cc-switch 才是关键。

拿 Key 的入口在 TaoToken 官网,注册登录后进控制台创建 API Key。这个 Key 只显示一次,创建后立刻复制到记事本暂存。同时你要记下 Base URL,后面 cc-switch 和 settings 配置都要填。TaoToken 的 API 地址是https://taotoken.net/api,官网入口是https://taotoken.net/?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content=。控制台和 API Keys 页面都在官网导航里,创建 Key 的 deep link 是https://taotoken.net/console/api-keys?utm_source=taotoken_aicg_blog_end&utm_content=api-keys&utm_campaign=rewrite。

这里要提醒一句,Key 不要写进会提交到 Git 的文件里,本地配置建议放在用户目录下的配置文件,或者用环境变量注入。后面给的 settings 片段里,Key 用占位符表示,你替换成自己的。

2. TaoToken 前置准备:拿 Key、认通道、配 cc-switch

这一章把前置动作做完整,顺序是:注册登录 TaoToken、创建 API Key、确认 Base URL、安装 cc-switch、在 cc-switch 里新建供应商并启用。做完这些,Claude Code 的请求出口就从默认通道切到了 TaoToken 通道,401 的根因(Key 不对或通道没切)基本被消除。

先讲 TaoToken 这边。打开官网https://taotoken.net/?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content=,注册登录后进控制台。控制台 deep link 是https://taotoken.net/console?utm_source=taotoken_aicg_blog_end&utm_content=console&utm_campaign=rewrite。在控制台里找到 API Keys 菜单,点创建,给 Key 起个名字比如claude-code-local,创建后立即复制。这个 Key 就是后面所有配置里要填的凭证。

Base URL 用https://taotoken.net/api,注意这个地址不带 UTM 参数,是纯 API 端点。模型 ID 方面,DeepSeek V4 在通道里的模型标识按你控制台里看到的填,常见写法是deepseek-v4-flash这类,具体以你账号下可用模型列表为准。如果你不确定,先在模型对话页面发一条测试消息确认模型可用,模型对话 deep link 是https://taotoken.net/chat?utm_source=taotoken_aicg_blog_end&utm_content=model-chat&utm_campaign=rewrite。

接下来装 cc-switch。cc-switch 是一个本地供应商切换工具,装好后在图形界面里新建供应商,填 Base URL、API Key、模型映射,然后点启用。启用这一步非常关键,很多人配完忘了点启用,结果 Claude Code 还是走默认通道,自然报 401。cc-switch 的安装包按你系统选对应版本,装完打开,点右上角加号新建。

在新建供应商的界面里,预设供应商可以选通用或自定义,重点是三个字段:Base URL 填https://taotoken.net/api,API Key 填你刚复制的 TaoToken Key,模型映射填 DeepSeek V4 的模型 ID。模型映射如果支持全部填写,就统一填同一个模型 ID,避免 Claude Code 请求里带的模型名和通道不匹配。填完点添加,回到主界面找到这条供应商记录,点启用。

这里给一个可复制的 settings 配置片段,路径按 Claude Code 的配置约定放在用户目录下。Windows 是%USERPROFILE%\.claude\settings.json,macOS/Linux 是~/.claude/settings.json。内容如下,把sk-你的TaoTokenKey和模型 ID 替换成你自己的:

{ "env": { "ANTHROPIC_BASE_URL": "https://taotoken.net/api", "ANTHROPIC_API_KEY": "sk-你的TaoTokenKey", "ANTHROPIC_MODEL": "deepseek-v4-flash" } }

这个片段的作用是给 Claude Code 注入环境变量,让它启动时直接读 Base URL 和 Key,不再走默认登录。注意 JSON 里不能有注释,Key 和模型 ID 都要是字符串。如果你用 cc-switch 的图形界面切换,这个文件可能由 cc-switch 自动维护,两种方式选一种即可,不要同时改导致冲突。

如果你用的是 Codex 或 Cline MCP 这类工具,配置思路一样,三件套是 Base URL、Key、Model ID。Codex 的auth.json里对应字段是OPENAI_BASE_URL和OPENAI_API_KEY,Cline MCP 则在 MCP 配置的 env 段里填同样的三项。核心原则:任何工具要接 TaoToken 通道,都必须同时给对 Base URL、Key、Model ID,缺一个就会报 401 或模型不存在。

配完 cc-switch 并启用后,回到终端。此时先别急着开新会话,用一条命令验证环境变量是否生效。在 PowerShell 里可以echo $env:ANTHROPIC_BASE_URL,在 bash/zsh 里echo $ANTHROPIC_BASE_URL,输出应该是https://taotoken.net/api。如果输出为空,说明 settings 没被读到,检查文件路径和 JSON 格式。这一步能提前拦住大部分 401。

3. 可复制配置:settings、cc-switch 与 DeepSeek V4 模型映射

这一章把配置落到可复制的程度,包含 settings.json 完整片段、cc-switch 字段对照表、以及模型映射的写法。你按顺序做,不要跳步。配置类操作最怕“差不多”,一个字段名写错就是 401 或 reading choices 报错。

先给完整的 settings.json。路径再强调一次:Windows%USERPROFILE%\.claude\settings.json,macOS/Linux~/.claude/settings.json。如果.claude目录不存在,先手动创建。文件内容:

{ "env": { "ANTHROPIC_BASE_URL": "https://taotoken.net/api", "ANTHROPIC_API_KEY": "sk-你的TaoTokenKey", "ANTHROPIC_MODEL": "deepseek-v4-flash", "ANTHROPIC_SMALL_FAST_MODEL": "deepseek-v4-flash" } }

这里多了ANTHROPIC_SMALL_FAST_MODEL,Claude Code 有些后台小任务会调这个模型,如果通道里没有对应模型,可能报模型不存在。统一填同一个 DeepSeek V4 模型 ID 最稳。模型 ID 以你 TaoToken 控制台里可用列表为准,不要照抄网上的旧名字。

然后是 cc-switch 的字段对照。打开 cc-switch 新建供应商,界面字段和你要填的值对应如下:

cc-switch 字段填写值说明
供应商名称TaoToken-DeepSeek自定义,方便识别
Base URLhttps://taotoken.net/api不带 UTM 的 API 端点
API Keysk-你的TaoTokenKey控制台创建的 Key
模型映射deepseek-v4-flash按控制台可用模型填
启用状态启用必须点,否则不生效

填完点添加,回主界面点启用。启用后 cc-switch 会改写 Claude Code 读的配置,或者你自己维护 settings.json,二选一。如果你两个都配了且值不一致,以实际生效的那个为准,建议只保留一种方式,减少排障变量。

模型映射这块单独说。Claude Code 请求里可能带claude-3-5-sonnet这类模型名,如果通道不做映射,就会报模型不存在。cc-switch 的模型映射功能就是把请求里的模型名统一替换成 DeepSeek V4 的 ID。如果 cc-switch 版本支持“全部映射到同一模型”,就打开这个选项填deepseek-v4-flash。如果不支持,就在映射表里把常见 Claude 模型名逐个映射到 DeepSeek V4。

配置完成后,建议做一次静态检查:打开 settings.json,确认 JSON 能被解析。可以用node -e "JSON.parse(require('fs').readFileSync(process.env.USERPROFILE + '/.claude/settings.json','utf8')); console.log('ok')"在 Windows 上验证,macOS/Linux 把路径换成~/.claude/settings.json。输出 ok 说明格式没问题。格式错的话 Claude Code 启动会静默忽略配置,然后走默认通道报 401,这种坑最难查。

还有一点,环境变量优先级。如果你系统里已经设过ANTHROPIC_API_KEY或ANTHROPIC_BASE_URL,它会覆盖 settings.json 里的值。检查方法:Windowsset ANTHROPIC,macOS/Linuxenv | grep ANTHROPIC。如果有旧值,先清掉再启动,否则你改了 settings 也不生效。

4. 验证请求:一次对话跑通不报 401

配置做完,这一章做验证。验证分两步:先用命令行确认 Claude Code 能启动并读到配置,再发一条对话确认模型真的回了。目标是看到正常回复,而不是 401、local proxy failed 或 reading choices 这类报错。

第一步,终端输入claude。如果配置正确,它会直接进入对话界面,不再弹登录页。如果还是弹登录页,说明 Base URL 和 Key 没被读到,回上一章检查 settings 路径和环境变量。进入界面后,输入一条测试消息:

你好,请用一句话介绍你自己,并说明你当前使用的模型。

正常情况它会回复一段文字,并提到自己是 Claude Code 或当前模型。如果回复里出现模型名,说明请求已经走通 TaoToken 通道并路由到 DeepSeek V4。这一步成功,401 问题就解决了。

如果你想在不开交互界面的情况下验证,可以用管道方式发一条消息:

echo "你好,请回复 ok" | claude

这条命令会把输入直接喂给 Claude Code,输出回复后退出。适合脚本化验证。如果输出里有正常文字,说明通道通。如果输出报错,看错误类型,下一章对照排查。

验证时还要确认一件事:请求确实走了 TaoToken 而不是默认通道。方法是在 TaoToken 控制台的用量或日志页面看是否有这次请求记录。控制台 deep link 是https://taotoken.net/console?utm_source=taotoken_aicg_blog_end&utm_content=console&utm_campaign=rewrite。如果有记录,说明请求经过 TaoToken;如果没有,说明配置没生效,Claude Code 还在走默认通道。

成功的结果长这样:终端里 Claude Code 正常显示对话,你输入问题,它几秒内返回答案,没有红色报错,没有超时。控制台能看到对应请求。到这一步,Claude Code + cc-switch + DeepSeek V4 的链路就算跑通了。后面你可以直接在项目目录里启动claude,让它读文件、改代码。

如果你还想验证模型对话能力,可以打开模型对话页面单独测一条,deep link 是https://taotoken.net/chat?utm_source=taotoken_aicg_blog_end&utm_content=model-chat&utm_campaign=rewrite。这个页面不依赖本地配置,用来确认 Key 和模型本身可用,排障时能帮你区分是本地配置问题还是 Key 问题。

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

这一章按真实报错对照排查。你遇到哪个就查哪个,不要凭感觉改配置。排障的核心思路是:先确认 Key 和 Base URL,再确认模型映射,最后确认环境变量优先级。

401 Unauthorized。最常见。原因有三个:Key 填错或过期、Base URL 填错、环境变量里有旧 Key 覆盖。排查顺序:先echo $ANTHROPIC_API_KEY(Windows 用echo $env:ANTHROPIC_API_KEY)看实际生效的 Key 是不是你刚创建的;再确认 Base URL 是https://taotoken.net/api,注意结尾不要多斜杠;最后检查系统环境变量里有没有旧的ANTHROPIC_API_KEY。三个都对还报 401,就去 TaoToken 控制台确认 Key 状态是否正常、额度是否够。

local proxy failed。这个报错通常出现在 cc-switch 或本地代理层。原因是 cc-switch 启用的供应商配置不完整,或者本地端口被占用。排查:打开 cc-switch 确认供应商已启用且 Base URL、Key、模型映射都填了;重启 cc-switch;如果还报,检查系统里有没有其他工具占用本地代理端口。注意这里说的是本地配置层,不要往网络工具方向想,纯配置问题。

reading choices 相关报错。这个通常出现在请求返回格式和 Claude Code 预期不一致时,根因多是模型映射没配对,请求发到了不存在的模型,返回体里没有 choices 字段。排查:确认 cc-switch 模型映射填的是控制台里真实可用的 DeepSeek V4 模型 ID;确认 settings.json 里ANTHROPIC_MODEL和ANTHROPIC_SMALL_FAST_MODEL都填了同一个可用模型;如果通道对模型名大小写敏感,按控制台显示的原样填。

OAuth 或登录页反复弹出。说明 Claude Code 还在走默认登录流程,配置没被读到。排查:确认 settings.json 路径正确,Windows 是%USERPROFILE%\.claude\settings.json,macOS/Linux 是~/.claude/settings.json;确认 JSON 格式合法;确认没有系统环境变量覆盖;确认 cc-switch 已启用。如果用的是 cc-switch 图形界面,确认它写入的配置和你的 settings 不冲突。

还有一个隐蔽问题:Node 版本太低导致 Claude Code 启动异常。claude --version能输出但启动报错时,检查node --version是否 20.x 以上。低于 18 建议升级。npm 全局安装权限问题在 macOS/Linux 上表现为EACCES,解决方法是配 npm 全局目录到用户目录,或者用 nvm 管理 Node 避免权限问题。

排障时建议开一个干净终端,先env | grep ANTHROPIC看环境变量,再cat ~/.claude/settings.json看配置,再claude --version看版本,三步定位。不要同时改多个地方,改一处测一次,否则你不知道是哪一步修好的。

如果你需要长期在项目里用 Claude Code 做编码和 Agent 任务,可以考虑 Coding Plan,deep link 是https://taotoken.net/coding-plan?utm_source=taotoken_aicg_blog_end&utm_content=coding-plan&utm_campaign=rewrite。接入文档在https://taotoken.net/doc?utm_source=taotoken_aicg_blog_end&utm_content=doc&utm_campaign=rewrite,API Keys 在https://taotoken.net/console/api-keys?utm_source=taotoken_aicg_blog_end&utm_content=api-keys&utm_campaign=rewrite。排障和接入优先看文档和 API Keys 页面,验证模型用模型对话页面。

6. 把配置固化下来:项目级 settings 与日常使用建议

链路跑通后,最后一件事是把配置固化,避免每次换终端或重启后又要重配。Claude Code 支持项目级配置,你可以在项目根目录放一个.claude/settings.json,只放项目相关的模型和通道配置,Key 仍然走用户级配置或环境变量,避免 Key 进 Git。

项目级 settings 片段示例:

{ "env": { "ANTHROPIC_MODEL": "deepseek-v4-flash", "ANTHROPIC_SMALL_FAST_MODEL": "deepseek-v4-flash" } }

这样 Base URL 和 Key 在用户级配置里统一管理,项目级只覆盖模型选择。换项目时不用改 Key,只改模型。注意项目级.claude目录建议加进.gitignore,防止配置泄露。

日常使用建议:启动 Claude Code 前先确认 cc-switch 处于启用状态;如果换了 Key,同步更新 settings.json 和 cc-switch;定期去 TaoToken 控制台看用量,避免额度耗尽导致 401;模型 ID 以控制台为准,不要用网上抄来的旧名字。做到这几点,Claude Code + DeepSeek V4 的本地开发链路就能稳定跑下去。

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

银河麒麟V10下UHF RFID读写器安装与串口调试全指南

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

作者头像 李华
网站建设 2026/10/4 5:56:54

SAP BO邮件自动发送配置实战:从SMTP到定时报表分发

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

作者头像 李华
网站建设 2026/10/4 5:56:01

基于迭代学习控制的机器人双臂协调MATLAB仿真实践

搞双臂协调控制这件事,我最初是被一个实验逼上梁山的。单臂轨迹跟踪做得再顺,一旦让两条机械臂共同夹持一个刚性负载,就会出现各种“默契度”问题——左臂到位了右臂还在赶,右臂修正了左臂又被带偏。当时正好在调研迭代学习控制&a…

作者头像 李华
网站建设 2026/10/4 5:54:57

统一管理54+AI编程工具的Agent技能:我如何构建技能中枢

1. 为什么需要这么个“技能中枢”:54工具下的碎片化困局先说我碰到的真实情况。去年开始,我的主力机里装了Cursor、Windsurf、Trae、Codex CLI、Cline、Continue、Zed,还有几个叫得上名的Agent框架,加起来十几个AI编程工具。每个工…

作者头像 李华
网站建设 2026/10/4 5:54:56

Qt内置HTTP服务器实战:零依赖轻量Web服务集成指南

1. 项目概述:为什么在Qt里自己搭HTTP服务器?你有没有遇到过这样的场景:用Qt写了个本地配置工具,想让手机扫码就能访问网页版界面;或者开发工业设备上位机,需要把实时数据通过浏览器图表展示,又不…

作者头像 李华