尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

Claude Code与Codex多模型配置实战:DeepSeek、通义千问、GLM接入与CC Switch一键切换

Claude Code与Codex多模型配置实战:DeepSeek、通义千问、GLM接入与CC Switch一键切换 最近在本地同时使用 Claude Code 和 Codex 调试项目时最麻烦的不是命令记不住而是两个工具之间、多个模型之间来回切换配置。每次想换一家模型都要重新设置环境变量、修改配置文件一旦 Key 填错或端点地址不对启动时直接报错非常影响节奏。后来我整理了一套相对完整的做法把三家常见模型服务商统一配置好通过 CC Switch 这类工具实现“一键切换”同时手动改配置的方法也保留作为兜底方案。这篇文章会从基本概念讲起逐步落到代码、配置文件、验证命令和常见报错排查。无论是刚接触 Claude Code 的初学者还是已经在用 Codex 但被模型切换折磨过的开发者都可以直接照着操作。文章会涉及 DeepSeek、通义千问、智谱 GLM 这三家模型的接入示例也会解释为什么同一个工具能接不同厂商的模型以及遇到 “cc switch local proxy failed” 这类报错时应该怎么处理。1. 背景与核心概念1.1 Claude Code 与 Codex 分别是什么Claude Code 是 Anthropic 推出的终端编程助手它在命令行里提供一个交互式环境开发者可以直接用自然语言描述需求让 AI 读取项目代码、生成修改方案、执行命令并持续迭代。和网页版 Claude 不同Claude Code 更强调“在项目目录里工作”它能感知文件结构、Git 状态和运行结果很多开发者把它当作日常编码的第二大脑。Codex 是 OpenAI 推出的命令行 AI 编程工具。早期大家熟悉的 ChatGPT 网页里集成了 Codex 能力而本地 CLI 版本的 Codex 则可以在终端中运行支持与代码仓库交互、执行测试、提交代码等操作。它基于 OpenAI 的模型体系也支持通过配置切换第三方兼容模型。这两个工具的共同特点是都是命令行形态、都面向编程场景、都支持读取本地项目上下文。因此不少开发者会同时安装它们在不同场景下选更顺手的工具。1.2 为什么要给同一个工具配置多家模型很多人会有一个疑问Claude Code 直接用 Claude 模型不就行了Codex 直接用 OpenAI 模型不就行了为什么还要换模型主要有几个原因成本和配额不同不同模型服务商的定价、免费额度、限流策略差别很大。有些模型适合日常对话和简单代码补全成本低有些模型适合复杂重构和架构分析响应质量更高。不同任务效果不同在做代码解释、单元测试生成、TypeScript 类型推导、SQL 优化等任务时各家模型的表现侧重点不一样。有的模型在中文理解上更自然有的模型在代码生成上更稳定。可用性兜底某个服务商可能遇到限流、故障或维护此时需要快速切换到另一家而不是干等。企业内部合规部分公司要求代码必须走指定的模型网关统一审计和计费这种情况下也需要把工具指向公司内部兼容端点。所以掌握“给 Claude Code 和 Codex 配置多个模型”的能力本质上是在提高开发工具的可用性和灵活性。1.3 CC Switch 的作用与切换原理CC Switch 是一个社区开源工具它的作用是管理 Claude Code 和 Codex 的多套配置让你不用每次手动改配置文件和环境变量而是通过图形界面或菜单一键切换。它的原理并不神秘Claude Code 和 Codex 在运行时都会从固定的路径读取配置文件和环境变量。CC Switch 做的就是“在你切换时把另一套配置写入这些固定路径”或者“启动一个本地代理地址由代理统一转发到不同模型服务商”。理解这一点很重要因为后面排查问题时会发现很多异常并不是 AI 工具本身的问题而是配置文件被改写后格式错误、本地代理端口冲突、环境变量没有重新加载等原因造成的。2. 环境准备与版本说明在开始配置之前先确认你的电脑已经具备基础环境。由于 Claude Code、Codex 和部分配置工具都基于 Node.js 构建所以 Node.js 是必装项。2.1 安装 Node.js建议安装 Node.js 18 及以上的 LTS 版本。安装完成后在终端验证node -v npm -v输出类似v20.11.1 10.2.4如果你的 Node.js 版本比较旧建议先升级再继续。版本号会根据你实际安装的版本有差异重点是确认 node 和 npm 命令可用。2.2 安装 Claude CodeClaude Code 一般通过 npm 全局安装npm install -g anthropic-ai/claude-code安装完成后执行claude --version如果正常打印出版本号说明安装成功。部分新版本可能还会检查系统是否安装了原生二进制如果你的环境提示claude native binary not installed通常需要重新执行安装命令或者检查网络环境是否拦截了 npm 包下载。2.3 安装 Codex CLICodex 的本地 CLI 同样可以通过 npm 安装npm install -g openai/codex安装后验证codex --version如果提示命令找不到检查 npm 全局 bin 目录是否已加入系统 PATH。2.4 安装 CC SwitchCC Switch 的安装方式以项目官方 README 为准。常见方式是使用 npm 全局安装或者下载对应的客户端安装包。我使用的过程中更推荐先看看官方文档选择与你操作系统匹配的安装方式。安装完成后启动 CC Switch通常会进入一个图形化配置界面。不同版本的界面布局可能有差异但核心功能一致管理 Codex 配置、管理 Claude Code 配置、切换供应商。2.5 准备三家模型 API Key文章示例会使用下面三家模型服务商你需要在对应平台注册账号并开通 API 服务DeepSeek深度求索模型标识如deepseek-chat、deepseek-reasoner。通义千问阿里云百炼模型标识如qwen-plus、qwen-max、qwen-turbo。智谱 GLM智谱开放平台模型标识如glm-4-plus、glm-4-air、glm-4-flash。每家平台的 API Key 都不同不要混填。建议先在平台控制台把 Key 生成好并确认账户有可用余额或免费额度。模型名称以平台控制台实际展示的标识为准下面示例中的模型名只展示配置方法。3. 模型接入原理为什么能“一键切换”3.1 Claude Code 的配置加载机制Claude Code 在启动时会读取环境变量和用户配置文件。其中两个核心环境变量是ANTHROPIC_BASE_URL ANTHROPIC_AUTH_TOKEN默认情况下ANTHROPIC_BASE_URL指向 Anthropic 官方 API 地址ANTHROPIC_AUTH_TOKEN则对应官方 API Key。如果你希望让 Claude Code 调用其他模型服务思路是将ANTHROPIC_BASE_URL指向一个“兼容 Anthropic 协议”的服务地址。将ANTHROPIC_AUTH_TOKEN换成该服务商提供的 API Key。通过模型参数或配置文件指定要使用的模型名。这里需要说明一点不是所有第三方服务商都原生提供 Anthropic 兼容端点。如果你的模型服务商只提供 OpenAI 兼容端点则需要使用网关转换工具或者选择在 Codex 中接入因为 Codex 原生支持 OpenAI 兼容配置。文章后面会把两种场景分开演示。Claude Code 的用户级配置文件通常位于~/.claude/settings.json项目级配置文件位于项目目录下的.claude/settings.json。CC Switch 在切换 Claude Code 配置时主要就是修改这两个位置。3.2 Codex CLI 的模型提供商配置机制Codex CLI 使用~/.codex/config.toml作为主配置文件。这个文件采用 TOML 格式支持通过model_provider配置多个模型服务商。Codex 官方对第三方模型的支持比较友好。它允许你自定义 base_url、API Key 环境变量名以及 wire_api 类型。wire_api 有两种常见值chat使用 Chat Completions 协议/chat/completions。responses使用 Responses API 协议/responses。大多数第三方兼容服务使用的是chat而 OpenAI 官方服务默认走responses。这个参数在后面的报错排查中会频频出现建议先记住。3.3 CC Switch 的本地代理与文件改写模式CC Switch 提供两种工作模式第一种是文件改写模式。它会把选中的供应商配置写入~/.codex/config.toml或~/.claude/settings.json。切换后Codex 或 Claude Code 在下一次启动时会直接读取新配置。第二种是本地代理模式。CC Switch 会启动一个本地服务比如http://127.0.0.1:8765然后 Codex 或 Claude Code 的 base_url 指向这个本地地址。实际请求由 CC Switch 转发给目标模型服务商。这种方式的好处是可以在不改动远端配置的情况下临时切换但如果代理兼容性不好就会出现 “local proxy failed” 之类的报错。4. 实战给 Codex 配置三家模型4.1 使用 config.toml 配置 DeepSeek先来看 Codex 如何接入 DeepSeek。修改~/.codex/config.toml完整内容如下model deepseek-chat model_provider deepseek [model_providers.deepseek] name DeepSeek base_url https://api.deepseek.com/v1 env_key DEEPSEEK_API_KEY wire_api chat字段说明model默认使用的模型名这里填deepseek-chat。model_provider指定使用下方哪个 provider 配置。[model_providers.deepseek]定义一个名为 deepseek 的 provider。base_urlDeepSeek 的 OpenAI 兼容接口地址。env_keyCodex 会从这个环境变量读取 API Key。wire_api指定请求协议类型DeepSeek 使用chat。接下来在终端导出 API Keyexport DEEPSEEK_API_KEY你的 DeepSeek API Key然后启动 Codexcodex或者使用非交互模式codex exec 用 Python 写一个快速排序并给出例子如果配置正确Codex 会调用 DeepSeek 模型返回结果。4.2 配置通义千问接着在同一个~/.codex/config.toml中追加通义千问的 provider。注意默认model和model_provider只能写一份你可以临时修改默认值也可以后续通过 CC Switch 切换。追加示例[model_providers.dashscope] name DashScope base_url https://dashscope.aliyuncs.com/compatible-mode/v1 env_key DASHSCOPE_API_KEY wire_api chat此时如果想默认使用通义千问把文件顶部的配置改为model qwen-plus model_provider dashscope然后导出 Keyexport DASHSCOPE_API_KEY你的百炼 API Key再次运行 codex就会走通义千问。4.3 配置智谱 GLM同样方式追加智谱[model_providers.zhipu] name Zhipu base_url https://open.bigmodel.cn/api/paas/v4 env_key ZHIPU_API_KEY wire_api chat默认配置改为model glm-4-plus model_provider zhipu导出 Keyexport ZHIPU_API_KEY你的智谱 API Key配置完成后完整的 config.toml 可能包含三个 provider。这样你就有了三家模型可以轮换使用。手动切换时只需要修改顶部两行配置。4.4 验证 Codex 是否真的调用了目标模型验证模型是否切换成功最直接的方法是在交互模式中提问让模型说出自己的身份或能力边界。codex然后在对话中输入你是哪个模型请简单介绍你的主要能力。不同模型会给出不同回答结构。更准确的方式是观察请求日志。Codex 在详细模式或调试模式下会打印请求端点你可以确认请求是否发到了你在 config.toml 中配置的 base_url。如果返回 401 或 404优先检查 API Key 是否导出成功、模型名是否存在、base_url 末尾路径是否写对。5. 实战给 Claude Code 配置三家模型5.1 环境变量方式Claude Code 的配置思路比 Codex 更依赖环境变量。如果你使用的模型服务商提供了 Anthropic 兼容端点可以直接在终端设置export ANTHROPIC_BASE_URL你的 Anthropic 兼容端点地址 export ANTHROPIC_AUTH_TOKEN你的 API KeyWindows PowerShell 写法$env:ANTHROPIC_BASE_URL你的 Anthropic 兼容端点地址 $env:ANTHROPIC_AUTH_TOKEN你的 API Key设置完成后启动claude再输入一个简单问题比如请用 Bash 写一个统计当前目录文件数量的命令。如果 Claude Code 能正常返回说明配置生效。另外部分版本支持通过环境变量指定模型名称export ANTHROPIC_MODELdeepseek-chat但需要注意不是所有版本都会严格读取这个变量。如果你设置了之后没有变化可以改用配置文件方式或者检查你安装版本的文档。5.2 配置文件方式Claude Code 的配置文件可以用env字段固化环境变量。编辑用户级配置文件~/.claude/settings.json示例{ env: { ANTHROPIC_BASE_URL: 你的 Anthropic 兼容端点地址, ANTHROPIC_AUTH_TOKEN: 你的 API Key, ANTHROPIC_MODEL: deepseek-chat } }保存后重启 Claude Code。这样即使终端环境变量没有设置Claude Code 启动时也会自动加载文件中配置的 env。这种方式比较适合日常使用因为你不必每次打开终端都手动 export 一遍。5.3 配置多个模型并切换由于~/.claude/settings.json只能保存一组 env 配置手动在 Claude Code 中切换多模型比较繁琐。常见做法是准备多份配置文件例如~/.claude/settings.deepseek.json ~/.claude/settings.qwen.json ~/.claude/settings.glm.json需要切换时把对应文件内容复制到~/.claude/settings.json。这一步也可以交给 CC Switch 自动处理。如果你是命令行爱好者也可以编写一个简单的切换脚本思路如下#!/bin/bash cp ~/.claude/settings.qwen.json ~/.claude/settings.json echo 已切换到通义千问脚本本身不复杂但要注意复制前备份当前配置避免文件损坏。5.4 验证 Claude Code 配置是否生效最简单的方式是进入 Claude Code 后输入/status查看当前会话信息。不同版本展示的内容不同但一般会包含模型名称、API 地址、账户状态等信息。如果/status显示的是默认 Claude 模型说明环境变量或配置文件中的ANTHROPIC_BASE_URL没有被正确加载。你可以检查配置文件是否保存为合法 JSON。终端是否已经重启。项目级配置是否覆盖了用户级配置。6. 实战使用 CC Switch 一键切换6.1 添加模型供应商配置打开 CC Switch找到供应商管理或配置管理入口。不同版本的按钮名称可能不同但一般包含“新建”“添加”“导入”等操作。添加时需要填写几类信息供应商名称例如DeepSeek、Qwen、GLM是自己看的标识。API 地址模型服务商提供的兼容端点。API Key对应服务商的密钥。模型名称默认要使用的模型标识。对于 Codex 场景CC Switch 通常还会让你选择协议类型。面对第三方模型时优先选择 Chat Completions 协议。6.2 一键切换的完整流程配置好多个供应商后切换操作通常只要两步在 CC Switch 主界面选中目标供应商。点击切换或应用按钮。切换后CC Switch 会改写~/.codex/config.toml或~/.claude/settings.json。此时你需要重新打开或重启 Codex / Claude Code让配置重新加载。一个常见的误区是切换后不重启终端直接运行 codex发现模型没变。因为 codex 进程可能在启动时已经读入了旧配置必须重启才能生效。6.3 切换后如何确认生效切换后建议用下面命令快速验证。Codex 验证codex exec 回复当前模型配置正常Claude Code 验证claude -p 回复当前模型配置正常如果返回结果正常说明切换成功。如果返回鉴权错误说明 key 或端点填错如果返回连接错误说明本地代理没有启动或地址不对。6.4 使用 config.toml 配置 DeepSeekDeepSeek 是很多开发者最先接入的第三方模型因为它的 API 价格相对较低编程能力也保持在不错的水准。下面演示在 Codex 中接入 DeepSeek。编辑~/.codex/config.toml加入以下配置model deepseek-chat model_provider deepseek [model_providers.deepseek] name DeepSeek base_url https://api.deepseek.com/v1 env_key DEEPSEEK_API_KEY wire_api chat字段解释model默认模型名DeepSeek 通用对话模型是deepseek-chat。model_provider指定当前激活的 provider 名称。[model_providers.deepseek]定义一个名为 deepseek 的服务商块。base_urlDeepSeek 的 OpenAI 兼容 API 地址。env_keyCodex 会从名为DEEPSEEK_API_KEY的环境变量读取 Key。wire_api chat使用 Chat Completions 协议适配第三方兼容服务。然后导出 Key 并启动export DEEPSEEK_API_KEY你的 DeepSeek API Key codex6.5 再配置通义千问与智谱 GLM同一个~/.codex/config.toml可以继续追加其他服务商。比如追加通义千问[model_providers.dashscope] name DashScope base_url https://dashscope.aliyuncs.com/compatible-mode/v1 env_key DASHSCOPE_API_KEY wire_api chat追加智谱[model_providers.zhipu] name Zhipu base_url https://open.bigmodel.cn/api/paas/v4 env_key ZHIPU_API_KEY wire_api chat如果你想默认使用通义千问把文件最前面的两行改为model qwen-plus model_provider dashscope注意model和model_provider是全局默认配置同一时间只能激活一个 provider。切换时要么手动改这两行要么借助 CC Switch 自动完成。这里建议大家把每家服务的配置块都保留在文件中避免反复删除重写。以后切换时只改默认配置即可。6.6 为 Claude Code 配置 DeepSeekClaude Code 的情况稍微复杂一点。如果你使用的服务商提供 Anthropic 兼容端点可以通过环境变量接入export ANTHROPIC_BASE_URL你的 Anthropic 兼容端点地址 export ANTHROPIC_AUTH_TOKEN你的 API Key claude如果你希望固化到配置文件中可以编辑~/.claude/settings.json{ env: { ANTHROPIC_BASE_URL: 你的 Anthropic 兼容端点地址, ANTHROPIC_AUTH_TOKEN: 你的 API Key } }再次强调Claude Code 需要的是 Anthropic 协议兼容端点不是所有第三方服务商都原生支持。如果对方只提供 OpenAI 兼容端点你需要使用网关转换层或者干脆使用 Codex 来接第三方模型。7. 常见问题与排查清单7.1 cc switch local proxy failed while handling codex endpoint /responses这是一个高频报错完整提示通常类似cc switch local proxy failed while handling codex endpoint /responses. provider ...问题根源在于CC Switch 开启本地代理后Codex 发起请求时命中/responses端点而当前 CC Switch 的代理逻辑对 Responses API 的处理不完善导致转发失败。解决方案按优先级排列在 Codex 配置中把wire_api改为chat让请求走/chat/completions。关闭 CC Switch 的本地代理模式改为直接改写配置文件的方式。升级 CC Switch 到最新版本部分旧版本的代理兼容性确实不够。检查本地代理端口是否被占用。7.2 401 Unauthorized 鉴权失败问题现象Codex 或 Claude Code 返回 401。常见原因API Key 写错。环境变量没有正确导出。服务商平台没有开通对应模型权限。Key 复制时多复制了空格。排查方法echo $DEEPSEEK_API_KEY确认输出内容和平台控制台一致。重置 Key 后要重启终端因为环境变量是进程级配置旧进程不会自动生效。7.3 404 model not found问题现象请求已发出但服务商返回模型不存在。常见原因模型名填错比如把deepseek-chat写成了deepseek-v3。模型服务商升级后下线了旧标识。当前服务商没有开通该模型。解决方式是登录服务商控制台查看当前可用的模型 ID然后更新配置。7.4 请求超时或连接拒绝问题现象codex 或 claude 长时间无响应最终提示 connection refused / timeout。常见原因本地代理服务没有启动。网络环境无法访问目标服务商。代理端口被其他程序占用。排查步骤curl http://127.0.0.1:8765如果提示无法连接说明本地代理没有运行。如果直接配置远端 base_url可以用 curl 测试远端接口连通性。7.5 claude native binary not installed问题现象安装 Claude Code 后运行claude提示原生二进制缺失。常见原因npm postinstall 脚本没有完整执行下载原生二进制时被中断。解决方式重新执行安装命令或者根据错误提示安装对应依赖。7.6 通用排查清单问题现象常见原因解决思路401 UnauthorizedAPI Key 错误或未导出检查环境变量并重启终端404 model not found模型名填错到平台控制台确认模型 IDconnection refused本地代理未启动启动代理或改用直连local proxy failed代理兼容性不足改为 wire_apichat切换后仍用旧模型进程未重启重启 Codex / Claude Code配置文件不生效JSON 格式错误校验 JSON 语法请求超时网络无法访问服务商检查网络连通性8. 最佳实践与工程建议8.1 API Key 安全管理不要把 API Key 硬编码到配置文件后上传到公开仓库。~/.codex/config.toml中虽然不直接保存 Key但env_key指向的环境变量如果写进了 shell 启动脚本也要注意脚本权限。建议做法使用.env文件存放 Key并加入.gitignore。在终端中手动 export Key避免长期保存在全局配置。如果团队协作使用密钥管理工具或内部环境变量注入。定期轮换 Key减少泄露影响。8.2 配置的版本管理与备份无论是~/.codex/config.toml还是~/.claude/settings.json在切换前都建议备份。我在本地会这样维护~/.codex/config.toml.bak.deepseek ~/.codex/config.toml.bak.qwen ~/.codex/config.toml.bak.glm备份的好处是即使 CC Switch 或手动编辑导致文件损坏也可以快速恢复。8.3 不同任务怎么选模型根据我的使用经验不同类型任务可以这样选择模型日志分析、SQL 查询优化DeepSeek 的推理模型表现稳定成本也低。前端组件生成、React / Vue 代码补全通义千问的 Qwen 系列在中文语义理解上比较友好。复杂架构重构、跨文件改动GLM 系列在长上下文场景下表现不错。日常问答和脚本编写哪家便宜用哪家没必要每次都调用顶级模型。当然模型能力差异是动态变化的建议以实测为准。8.4 成本与限流优先多模型切换虽然方便但也意味着你要同时管理多家平台的余额和限流规则。建议给每个服务商设置预算额度。批量任务前先小规模测试。避免在循环脚本中反复调用大模型。对长文本任务关注上下文长度限制超长时做分段处理。8.5 安全与合规提醒在接第三方模型时建议确认以下几点你的项目代码是否允许发送到该模型服务商。是否有敏感数据、密钥、内网地址等不该出网的内容。是否遵循了工具和服务商的服务条款。如果公司有内部模型网关优先使用内部网关而不是把代码直接发送到外部平台。9. 总结与下一步学习方向本篇文章从 Claude Code 和 Codex 的基础概念讲起解释了为什么需要给这两个工具配置多家模型然后完整演示了 Codex 通过~/.codex/config.toml接入 DeepSeek、通义千问、智谱 GLM 的方法也介绍了 Claude Code 通过环境变量和settings.json配置 Anthropic 兼容端点的方法。核心收获可以概括为三点模型切换的本质是修改配置文件和环境变量CC Switch 只是把手工操作自动化了。Codex 对第三方模型非常友好wire_apichat是大多数第三方服务商的首选协议。Claude Code 接入第三方模型的前提是服务商提供 Anthropic 兼容端点这一点需要提前确认。下一步可以继续了解各类模型在真实项目中的代码生成效果对比。如何把多模型配置封装成团队内部脚手架。如何用 CI 脚本自动化测试模型接口连通性。如何为不同业务场景建立模型路由策略。祝你在本地配置好自己顺手的模型组合让 Claude Code 和 Codex 真正成为提高效率的稳定工具。如果本文对你有帮助可以收藏备用遇到配置问题也欢迎在评论区交流。
返回列表