三亩地 三亩地SAN MU DI · CODE DIARY
ARTICLE DETAIL

日记详情

真实记录编程学习的某一天,欢迎挑你感兴趣的翻一翻。

使用 cc-switch 让 AI Agent 编程工具接入第三方模型

使用 cc-switch 让 AI Agent 编程工具接入第三方模型

背景

Claude Code、Codex 这类 AI Agent 编程工具,默认只认自家官方模型端点(api.anthropic.com/api.openai.com)。但实际使用中经常需要:

  • 接第三方模型:DeepSeek、GLM、Kimi、Qwen、MiMo 等,图便宜/图快/图白嫖额度
  • 接统一网关:团队内部统一 LLM 网关(带内网域名),走统一账号,不走公网
  • 接本地模型:Ollama 跑的qwen3.5:27b之类的本地模型

逐个工具手工改配置文件(Claude Code 改settings.json的 env、Codex 改config.toml),来回切很烦,且容易改坏。cc-switch就是解决"多工具 × 多模型源"一键切换的 GUI 工具。

本文基于实际使用 cc-switch + Claude Code / Codex 的经验整理。

安装部署

下载渠道

只从官方渠道下载:

  • 官网:ccswitch.io
  • GitHub Releases:github.com/farion1231/cc-switch/releases

任何要求付费、充值或登录凭据的 “CC Switch” 网站 / 客户端都不是官方的。

系统要求

  • 操作系统:Windows 10+ / macOS 12+ / 主流 Linux 发行版
  • 被管理的 CLI 工具(Claude Code / Codex / Gemini CLI 等)依赖Node.js 18+

安装

macOS(Homebrew 或手动下载):

# 方式一:Homebrew(推荐)brewinstall--caskcc-switch brew upgrade--caskcc-switch# 升级# 方式二:手动下载# 从 Releases 下 CC-Switch-v{版本}-macOS.dmg,拖入 Applications

其他平台

  • Windows:MSI 安装包,或 Portable 免安装 zip
  • Linux:Debian / Ubuntu 用.deb,Fedora / RHEL 用.rpm,Arch 用 AUR(cc-switch-bin),通用 AppImage

首次部署

  1. 启动后进 Settings,打开要管理的工具开关(visibleApps:claude / codex / gemini / opencode…)
  2. 数据落在~/.cc-switch/cc-switch.dbSQLite +settings.json偏好)
  3. 之后按「实操流程」加 provider、切模型即可

核心原理

一句话:Claude Code / Codex 都支持通过环境变量 / 配置文件把"模型端点"指向任意 Anthropic / OpenAI 兼容网关。cc-switch 只是把"改配置"这件事做成了 GUI 一键切换。

Claude Code 侧:env 环境变量

Claude Code 读~/.claude/settings.json里的env块,其中几个ANTHROPIC_*变量决定请求发到哪、用什么模型:

环境变量作用
ANTHROPIC_BASE_URL模型网关地址(Anthropic 兼容端点)
ANTHROPIC_AUTH_TOKEN认证 token
ANTHROPIC_MODEL默认模型(全量设定时用)
ANTHROPIC_DEFAULT_OPUS_MODEL主力模型
ANTHROPIC_DEFAULT_SONNET_MODEL次主力模型
ANTHROPIC_DEFAULT_HAIKU_MODEL轻量模型
ANTHROPIC_REASONING_MODEL推理模型
ANTHROPIC_SMALL_FAST_MODEL小快模型

模型名可以是任意第三方模型 ID(如deepseek-v4-flash[1m]),关键是网关要提供 Anthropic 兼容协议。现在主流三方(DeepSeek / GLM / Kimi / 阿里百炼 / ModelScope / SiliconFlow / OpenRouter / 小米等)都提供了/anthropic兼容端点。

Codex 侧:config.toml

Codex 读~/.codex/config.toml,通过model_provider+[model_providers.custom]指定自定义网关:

model_provider = "custom" model = "<模型ID>" model_reasoning_effort = "high" disable_response_storage = true model_context_window = 1000000 model_auto_compact_token_limit = 900000 [model_providers.custom] name = "custom" wire_api = "responses" requires_openai_auth = true base_url = "<OpenAI兼容网关地址>/v1" [projects."<项目绝对路径>"] trust_level = "trusted"

Codex 侧用的是OpenAI 兼容协议wire_api = "responses"/"chat"),base_url 指向 OpenAI 兼容端点。

cc-switch 做了什么

cc-switch 本质是一个配置生成器 + 切换器

  • 预置/自定义一堆 provider(每家 = 一组 env 或一段 config)
  • 点一下切换 → 把选中的 provider 的配置写回对应工具的配置文件
  • 改完即生效,不需要改完重启工具

真实配置样例

cc-switch 自身

  • 数据存~/.cc-switch/cc-switch.db(SQLite),settings.json存偏好
  • 支持多工具:visibleApps里 claude / codex / gemini / opencode 可选开关
  • 实际开了 claude + codex

Claude Code provider(样例)

{"env":{"ANTHROPIC_AUTH_TOKEN":"<token>","ANTHROPIC_BASE_URL":"<网关地址>/anthropic","ANTHROPIC_DEFAULT_OPUS_MODEL":"deepseek-v4-flash[1m]","ANTHROPIC_DEFAULT_SONNET_MODEL":"deepseek-v4-flash[1m]","ANTHROPIC_DEFAULT_HAIKU_MODEL":"deepseek-v4-flash[1m]","ANTHROPIC_REASONING_MODEL":"deepseek-v4-flash[1m]","MCP_TOOL_TIMEOUT":"30000","API_TIMEOUT_MS":"3000000","CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC":"1"}}

Claude provider 里存的模型源:

模型源网关类型模型示例
统一网关团队 LLM 网关(Anthropic 兼容)deepseek-v4-flash[1m]glm-5.1claude-opus-5[1m]kimi等,靠模型 ID 切换
DeepSeek 官方api.deepseek.com/anthropicdeepseek-v4-pro[1m]/deepseek-v4-flash[1m]
GLM 官方open.bigmodel.cn/api/anthropicglm-4.7-flash等(含 free 档)
Kimiapi.moonshot.cn/anthropickimi-k2.5
阿里百炼dashscope.aliyuncs.com/apps/anthropicqwen3.6-plus
ModelScopeapi-inference.modelscope.cnZhipuAI/GLM-5.1deepseek-ai/DeepSeek-V4-Pro
SiliconFlowapi.siliconflow.cn/v1Pro/zai-org/GLM-5.1
OpenRouteropenrouter.ai/api/v1z-ai/glm-4.5-air:free
ZenMuxzenmux.ai/api/anthropicdeepseek/deepseek-v4-pro-free等(免费聚合)
NVIDIAintegrate.api.nvidia.com/v1z-ai/glm4.7
本地 Ollama127.0.0.1:3456/ 局域网11434/v1qwen3.5:27b(本地模型)
小米 MiMotoken-plan-cn.xiaomimimo.com/anthropicmimo-v2.5-pro

Codex provider(样例)

model_provider = "custom" model = "gpt-5.6-sol" model_reasoning_effort = "high" disable_response_storage = true [model_providers.custom] name = "custom" wire_api = "responses" requires_openai_auth = true base_url = "<网关地址>/v1"

Codex 侧还配过 NVIDIA(integrate.api.nvidia.com/v1)、OpenAI Official 等。

实操流程

  1. 装 cc-switch:见上文「安装部署」
  2. 加 provider:Settings → Providers → 添加,选工具类型(claude/codex…)
    • 官方源:选cn_official/official分类,填 API Key 即自动生成配置
    • 自定义源:选custom,手动填base_url+ token + 模型 ID
    • 聚合源:如 ModelScope / ZenMux,走 aggregator 分类
  3. 切模型:主界面点选某个 provider → 一键写入对应工具的配置文件
  4. 验证:启动 Claude Code / Codex,看请求是否发到目标网关、模型是否正确
    • 或直接cat ~/.claude/settings.jsonenv.ANTHROPIC_*是否变化

注意点

  • [1m]后缀:如deepseek-v4-flash[1m],表示 1M 上下文窗口变体,按需选用
  • 免费档 ≠ 稳定-free/-flash档位常用于日常速刷,但限流、不稳定,重要任务切回主力模型
  • CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1:关掉非必要流量(遥测等),代理场景建议保留
  • auth.json / token:Codex 侧~/.codex/auth.json存登录态,切 provider 一般只动config.toml
  • 统一网关:团队内部网关地址属于内网信息,公开场合打码
  • common_config:cc-switch 有"公共配置"(common_config_claude / common_config_codex),切 provider 时与 provider 配置合并,公共项不用每个 provider 都填
← 返回列表