CC Switch 使用教程

Provider 切换、Local Routing、本地代理、故障转移、MCP 与多 CLI 配置统一管理

Posted by Ekko on July 7, 2026

这篇笔记的目标是把 CC Switch 的使用方式讲清楚,重点不是“软件界面上哪里点一下”,而是它在整个 AI CLI 工作流里到底承担什么角色。很多人第一次接触 CC Switch,会把它理解成某个模型平台、某个 API 中转站,或者某个 CLI 的插件;这些理解都不准确。

CC Switch 更准确的位置,是一个面向多种 AI 编程 CLI 的本地配置管理器与代理协调层。它负责统一管理不同工具的 Provider 配置、Local Routing、本地故障转移、MCP、Skills、Prompts 和用量统计。正文会先解释它解决的问题,再解释它的核心机制,最后给出一条以 Claude Code 为例的最小可用上手路径。

参考资料:

官方网站:CC Switch

官方仓库:farion1231/cc-switch

官方说明:README_ZHGitHub Releases

发行说明:CC Switch v3.15.0

[TOC]


一、CC Switch 到底解决什么问题

如果只使用单一 CLI、单一官方账号,而且几乎不切换模型或供应商,那么 CC Switch 的价值并不一定明显。

它真正解决的是另一类问题:

  • 同时使用 Claude CodeCodexGemini CLIOpenCodeOpenClawHermes Agent
  • 不同 CLI 的本地配置格式不同,手工维护成本很高
  • 需要频繁切换 Provider、模型映射、账号或代理方式
  • 希望对请求量、Token、成本、缓存命中率做统一观察
  • 希望在一个界面里集中管理 MCPSkillsPrompts
  • 希望当某个 Provider 不稳定时自动切换到备用 Provider

单看这些诉求,可以发现 CC Switch 不是“让模型更强”的工具,而是“让多 CLI 工程工作流更可控”的工具。

方式 配置入口 切换成本 统一观察能力 故障转移 适合场景
手工改配置文件 各个 CLI 自己的 JSON/YAML/env 几乎没有 没有 只用一个工具、配置长期不变
手工改环境变量 Shell 或启动脚本 很弱 没有 临时切一次 Provider
CC Switch 统一管理 图形界面 + 本地数据库 + 路由层 多 CLI、频繁切换、重视稳定性和统计

可以概括为:

CC Switch 的核心价值,不在“替代某个 CLI”,而在“把多个 CLI 的本地配置、路由和统计集中收敛到一个控制面板里”。


二、先建立正确的心智模型

开始使用前,先把几个概念分开,否则后面非常容易把配置关系弄乱。

App

App 指的是被管理的目标工具,例如:

  • Claude Code
  • Codex
  • Gemini CLI
  • OpenCode
  • OpenClaw
  • Hermes Agent

CC Switch 自己不是这些工具中的一个,它更像这些工具前面的“本地控制台”。

Provider

Provider 指的是某个真实可调用的模型服务端点。它至少包含下面这些要素:

  • 基础地址
  • 鉴权信息
  • 模型相关配置
  • 必要时的映射与代理参数

同一个 App 可以配置多个 Provider,但同一时刻通常只有一个激活配置生效。

Local Routing

Local Routing 可以理解成 CC Switch 内置的一层本地代理与路由逻辑。

不开启时,目标 CLI 直接按配置访问对应 Provider。

开启时,请求会先打到 CC Switch 本地代理,再由它转发到真正的上游 Provider。这样做带来的能力包括:

  • 多 Provider 切换
  • 协议兼容与转换
  • 自动故障转移
  • 用量与请求统计
  • 某些统一能力的注入

本地数据库

CC Switch 官方说明里强调,配置与密钥信息保存在本地 SQLite 数据库中。也就是说,它不是一个云端 SaaS 配置面板,而是一个本地桌面应用。

这一点非常关键,因为它意味着:

  • 主要控制面发生在本机
  • 配置切换本质上是本地文件与本地代理状态的修改
  • 它更接近“本地工作流编排器”,而不是“远端平台账号体系”

三、CC Switch 的工作链路

只看界面,很容易以为 CC Switch 只是一个“帮忙填写表单”的 GUI。实际上,它背后至少包含三层职责:

  • 保存和组织多应用、多 Provider 的配置
  • 把选中的配置写入目标 CLI 能识别的本地配置
  • 在需要时启动本地代理,接管请求并完成转发、统计、故障转移

整体链路可以画成下面这样:

graph TB
    U[开发者] --> CCS[CC Switch]
    CCS --> DB[本地 SQLite 配置库]
    CCS --> CFG[写入目标 CLI 配置]
    CCS --> LR[启动 Local Routing]

    CFG --> APP[Claude Code / Codex / Gemini CLI 等]
    LR --> APP

    APP -->|直连模式| P1[当前激活 Provider]
    APP -->|接管模式| LR
    LR --> P1
    LR --> P2[备用 Provider]
    LR --> P3[其他 Provider]

如果再从请求执行时序看,会更清楚:

sequenceDiagram
    participant CLI as AI CLI
    participant CCS as CC Switch
    participant Proxy as Local Routing
    participant Upstream as Provider

    CLI->>CCS: 读取已写入的本地配置
    alt 直连模式
        CLI->>Upstream: 直接发请求
        Upstream-->>CLI: 返回结果
    else Local Routing 接管
        CLI->>Proxy: 请求发往本地地址
        Proxy->>Upstream: 转发到激活 Provider
        Upstream-->>Proxy: 返回结果
        Proxy-->>CLI: 返回兼容后的结果
        Proxy-->>CCS: 记录请求与用量
    end

这里最重要的一点是:

CC Switch 不是在“代替 CLI 思考”,而是在“代替人工维护配置与路由”。


四、什么时候用直连,什么时候开 Local Routing

这是 CC Switch 最容易混淆的一层。

很多人装好后第一反应是把所有功能都打开,但这并不一定是最优解。是否启用 Local Routing,应该按需求来判断。

模式 请求路径 优点 代价 更适合
直连模式 CLI -> Provider 链路短、简单、故障点少 统计和切换能力弱 官方直连、单 Provider、稳定使用
Local Routing CLI -> CC Switch 本地代理 -> Provider 统一统计、故障转移、协议适配、多 Provider 切换 增加一层本地代理链路 多 Provider、第三方兼容 Provider、需要观察与切换

可以按下面的判断方式来选:

  • 只想把 Claude Code 切到一个固定 Provider,且基本不切换:优先考虑直连模式
  • 需要在多个 Provider 之间随时切换:适合开 Local Routing
  • 需要失败时自动切备用 Provider:必须依赖 Local Routing
  • 需要统一看请求与用量:更适合开 Local Routing
  • 需要多个 CLI 共用一套可视化管理面:CC Switch 本身就有价值,但不一定强制启用所有代理能力

一个常见误区是:

不是“用了 CC Switch 就必须全量走代理”,而是“只有在确实需要路由层能力时,才让请求经过它的本地代理”。


五、安装与首次启动

只认官方渠道

这一点必须先放在前面。

根据官方仓库和发行说明,CC Switch免费、开源 的桌面应用。官方也明确提示过,市面上出现过冒用其名义收费、索取凭据的假站点。

因此下载来源只应认下面这几类:

  • 官方网站:https://ccswitch.io
  • 官方仓库:https://github.com/farion1231/cc-switch
  • 官方发布页:https://github.com/farion1231/cc-switch/releases

支持的平台

官网当前给出的平台范围是:

  • macOS 12+
  • Windows 10+
  • Linux

正确的安装顺序

推荐按下面顺序准备:

  1. 先安装目标 CLI,例如 Claude Code
  2. 确认目标 CLI 本身可以在本机运行
  3. 再下载安装 CC Switch
  4. 启动 CC Switch,进入对应 App 面板添加或导入 Provider

原因很简单:

  • CC Switch 是管理器,不是 CLI 的替代安装器
  • 它负责改写和协调配置,不负责替目标工具完成本体安装

首次启动后优先确认什么

第一次打开 CC Switch 后,建议不要急着添加很多 Provider,而是先确认三个事实:

  • 当前要管理的 App 是哪一个
  • 这个 App 准备走直连还是走 Local Routing
  • 当前只需要一个最小可用 Provider,还是已经要做主备切换

如果这三个问题没想清楚,后面通常会出现“明明切换了但不生效”“为什么请求还走旧地址”“为什么统计里没有数据”这类问题。


六、以 Claude Code 为例完成最小可用配置

这一节不追求把所有高级能力一次开满,而是先完成一条 可验证、可理解、可回退 的最小路径。

第一步:先确认 Claude Code 本体可用

先确保 Claude Code 已经安装,并且能在终端中正常启动。

至少应满足下面两点:

  • 能执行 claude --version
  • 能启动一次基础会话,确认本机环境没有问题

如果 Claude Code 本体都还未处于可用状态,CC Switch 后面的配置就没有验证基础。

第二步:在 CC Switch 中选择 Claude Code

打开 CC Switch 后,先进入 Claude Code 对应的应用面板,而不是同时对多个应用一起改配置。

第一轮上手只做一件事:

  • 只给 Claude Code 配一个 Provider

这样做的好处是:

  • 问题定位简单
  • 配置链路短
  • 可以快速区分“是 CLI 问题、Provider 问题,还是 CC Switch 的路由问题”

第三步:添加一个 Provider

添加 Provider 时,本质上是在录入一组目标服务配置。通常需要关注:

  • Provider 名称
  • Base URL
  • 认证信息
  • 模型或模型映射
  • 是否需要走本地路由

如果当前只是验证链路,建议先只配一个主 Provider,不要一开始就上主备和复杂映射。

第四步:决定 Claude Code 走哪条链路

最小可用配置有两种走法。

方案一:Claude Code 直连 Provider

这种方式更适合:

  • 先验证基础可用性
  • 当前只需要一个 Provider
  • 暂时不需要故障转移和统一统计

此时 CC Switch 的角色更接近“配置编辑与切换器”。

方案二:Claude Code 走 Local Routing

这种方式更适合:

  • 之后会切换多个 Provider
  • 希望打开统一统计
  • 需要故障转移或协议兼容能力

官网展示的接管方式,本质上是把 Claude Code 的相关环境配置改写为指向本地代理,例如:

1
2
3
4
5
6
{
  "env": {
    "ANTHROPIC_AUTH_TOKEN": "PROXY_MANAGED",
    "ANTHROPIC_BASE_URL": "http://127.0.0.1:15721"
  }
}

这个片段最值得关注的不是具体端口,而是它表达的机制:

  • Claude Code 不再直接连上游
  • 请求先打到本地 CC Switch 代理
  • 真正的认证与转发由 CC Switch 接管

实际端口与写入形式应以当前版本界面为准,不要机械照抄示例。

第五步:做一次最小验证

配置完后,必须做一次小而清晰的验证,而不是直接开始正式开发。

推荐验证顺序:

  1. 打开一个空目录或测试仓库
  2. 执行一次简单命令,例如 claude "hello" 或解释型请求
  3. 观察请求是否成功返回
  4. 如果启用了 Local Routing,再看 CC Switch 是否记录到请求和用量

只要这一步能跑通,才说明:

  • Claude Code 本体可用
  • Provider 配置有效
  • CC Switch 配置链路正确
  • 如果走代理,本地代理也已工作

七、MCP、Skills、Prompts 在 CC Switch 里的位置

如果只把 CC Switch 用成“切换 API 地址的工具”,其实只用了它的一部分价值。

官网和 README 中反复强调的一点是,它不只是管理 Provider,还统一管理:

  • MCP
  • Skills
  • Prompts
  • Hermes Memory
  • 跨应用会话恢复

这意味着它提供的不是单点功能,而是一个更完整的“AI CLI 本地运维面板”。

为什么这层很重要

随着 AI CLI 使用深入,真正开始变复杂的,往往不是“换哪个模型”,而是下面这些周边对象:

  • 哪个 MCP 服务器要挂给哪个 CLI
  • 哪些 Skills 需要复用
  • 哪些固定提示词需要沉淀
  • 哪些配置需要在多个应用之间统一

如果这些内容仍然散落在多个目录、多个配置文件、多个脚本里,那么 Provider 切换只是把复杂度从一处转移到另一处。

它解决的是“配置面分裂”

CC Switch 的价值可以进一步概括为:

配置对象 不使用 CC Switch 时 使用 CC Switch 时
Provider 各 CLI 分散维护 统一集中管理
MCP 各工具各配一套 可在同一控制面查看和调整
Skills 需要手动找目录和同步 统一管理与安装
Prompts 容易散落在脚本和文件夹中 作为可见配置对象管理
用量统计 往往依赖各家后台 可以在本地统一观察

八、故障转移与用量统计怎么理解

这两个能力看起来像“附加功能”,实际上它们是 Local Routing 存在的重要理由。

故障转移不是简单的“换个地址”

当某个上游 Provider 超时、报错或不稳定时,如果没有本地路由层,CLI 往往只能直接失败。

CC Switch 的故障转移能力,本质上依赖的是下面这条链路:

graph LR
    A[AI CLI 请求] --> B[CC Switch Local Routing]
    B --> C{主 Provider 可用?}
    C -->|是| D[主 Provider]
    C -->|否| E[备用 Provider]
    D --> F[返回结果]
    E --> F

这意味着:

  • 只有请求先经过 CC Switch
  • 它才有机会判断当前上游是否失败
  • 也才有机会切换到备用 Provider

所以故障转移和直连模式之间,不是“同时存在”的关系,而是“是否经过路由层”的关系。

用量统计的意义也不只是看成本

很多人只把用量统计理解为“看花了多少钱”,但从工程角度看,它至少还有三层价值:

  • 判断当前哪个 Provider 真正在被使用
  • 观察缓存命中率和请求趋势
  • 评估某个 Provider 的稳定性与性价比

对于多 Provider、多 CLI 的场景,这类可观测性其实比“切换按钮”本身更重要,因为没有统计,就很难做真正的数据化判断。


九、常见问题与易错点

1. 以为 CC Switch 是模型平台

这是一种非常常见的误解。

CC Switch 不负责训练模型,也不是模型供应商本身。它更像是一个本地的 Provider 管理与路由面板。

2. 以为装了 CC Switch 就不用装目标 CLI

这也不对。

它管理的是 Claude CodeCodex 等工具的配置和请求链路,不会替这些工具完成本体安装。

3. 一上来就同时配置很多 App

第一次使用时,最稳妥的方式是:

  • 只选一个 App
  • 只配一个 Provider
  • 只验证一条链路

否则一旦失败,很难判断问题到底出在:

  • 目标 CLI 本身
  • Provider 配置
  • Local Routing
  • 故障转移规则
  • 多应用之间的配置混淆

4. 明明切换了 Provider,却感觉没有生效

这种问题通常来自三类原因:

  • 当前应用仍然走旧会话或旧终端环境
  • 配置写入成功了,但请求并未经过预期链路
  • 代理模式需要本地代理保持运行,而当前代理未接管成功

排查时不要同时改很多地方,优先确认:

  • 当前 App 是谁
  • 当前是否开启 Local Routing
  • 当前请求到底打向了哪里

5. 把直连和接管模式混在一起理解

这会导致很多判断错误。

如果当前是直连模式,那么:

  • 请求不会经过本地代理
  • 某些路由层统计和故障转移能力就不会出现

如果当前是 Local Routing 模式,那么:

  • 需要确保本地代理链路正常
  • 观察点应放到 CC Switch 的路由状态和请求记录上

6. 忽视官方渠道风险提示

这点不属于技术机制,但在实际使用里同样重要。

官方已经明确提醒过:

  • CC Switch 是免费开源软件
  • 凡是要求充值、收费、索取登录凭据的假站点都应避免

下载源一旦不对,后面的所有配置安全性都没有保障。


十、适合什么人,不适合什么人

CC Switch 非常适合下面几类使用者:

  • 同时使用多个 AI CLI 的开发者
  • 需要频繁切换 Provider 的重度用户
  • 希望统一管理 MCPSkillsPrompts 的工程使用者
  • 对稳定性、故障转移和统计面有要求的团队或个人

但它未必适合所有场景。

下面这些情况,收益通常没那么明显:

  • 只使用一个 CLI,且长期只用一个固定官方配置
  • 不关心用量、路由、故障转移
  • 不希望引入额外的本地桌面管理层

因此,是否上 CC Switch,本质上不是“功能越多越好”,而是“本地 AI CLI 工作流是否已经复杂到需要一个统一控制面”。


十一、总结

CC Switch 可以概括为一个 多 AI CLI 的本地配置管理与路由控制台

理解它时,最重要的不是记住菜单位置,而是记住下面这几条主线:

  • 它管理的是 AppProviderLocal Routing 和相关配置对象
  • 它的价值在统一控制面,而不是替代某个 CLI
  • 直连模式更简单,Local Routing 模式更强
  • 故障转移、统计、协议适配,本质上都依赖本地代理层
  • MCPSkillsPrompts 的集中管理,决定了它不只是一个“切换 API”工具

如果只是做最小上手,最推荐的路径是:

  1. 先装好一个目标 CLI,例如 Claude Code
  2. 只给这一个 App 配一个 Provider
  3. 先跑通一条最小请求链路
  4. 确认没有问题后,再逐步开启 Local Routing、主备切换和统一管理能力

这样理解和使用 CC Switch,通常会比一开始就把所有按钮全部打开更稳,也更容易真正把它放到日常工程工作流里。