跳转到内容

CC Switch 项目介绍

CC Switch

一句话定义:CC Switch 是一个基于 Tauri 2 的跨平台桌面应用,统一管理 Claude Code、Codex、Gemini CLI、OpenCode、OpenClaw 和 Hermes Agent 六大 AI 编程工具的供应商配置、MCP 服务器、Skills 和会话记录。

解决什么问题:这些 CLI 工具各自使用不同的配置文件格式(JSON、TOML、.env),切换 API 供应商需要手动编辑多个文件。CC Switch 提供可视化界面,一键导入/切换供应商,内置本地代理实现热切换与故障转移,并在一个面板中统一管理所有工具的 MCP 和 Skills。

核心能力

  • 50+ 供应商预设,一键切换:覆盖 AWS Bedrock、NVIDIA NIM、各大社区中转平台,支持自定义供应商
  • 本地代理 + 热切换:启动本地 HTTP 代理接管 CLI 工具的 API 请求,切换供应商无需重启 Claude Code
  • 熔断器 + 故障转移队列:自动检测供应商健康度,失败请求自动切换到备用供应商
  • SSOT 双写架构:SQLite 作为唯一真实数据源,Live 配置文件在代理接管时自动同步,崩溃后可恢复
  • 统一 MCP 面板:跨 5 个应用管理 MCP 服务器,支持双向同步与 Deep Link 导入
  • Skills 统一管理:从 GitHub 仓库一键安装 Skills,支持软链接与文件复制两种模式
  • 云端同步:通过 Dropbox、OneDrive、iCloud 或自定义 WebDAV 服务器同步配置
  • 用量统计:追踪支出、请求数和 Token 消耗,支持趋势图和自定义定价

技术栈

技术
前端React 18 + TypeScript + Vite + TailwindCSS 3.4 + TanStack Query v5
UI 组件shadcn/ui + Radix UI + Framer Motion + CodeMirror + @dnd-kit
后端Tauri 2.8 + Rust 1.85 + tokio 异步运行时
代理层axum 0.7 + hyper 1.0 + hyper-rustls
数据库SQLite (rusqlite 0.31) 10 版 Schema,支持增量迁移
测试vitest + MSW + @testing-library/react

架构概览

数据流关键模式

  1. SSOT (Single Source of Truth):所有数据存储在 ~/.cc-switch/cc-switch.db (SQLite)
  2. 双层存储:SQLite 存储可同步数据,JSON 存储设备级设置
  3. 双向同步:切换时写入 Live 文件,编辑活跃供应商时从 Live 回填
  4. 原子写入:临时文件 + rename 模式,防止配置损坏
  5. 并发安全:Mutex 保护的数据库连接,避免竞态条件
  6. 崩溃恢复:Live 配置备份 + 占位符检测,异常退出后自动恢复

快速体验

Terminal window
# macOS (Homebrew)
brew install --cask cc-switch
# 或下载各平台安装包
# Windows: .msi 安装包或便携版 .zip
# Linux: .deb / .rpm / .AppImage

安装后打开应用,首次启动会自动导入现有 CLI 工具的配置作为默认供应商,从预设列表中选择并点击「启用」即可切换。

教程导读

本教程分为两条路径:

AI 应用知识路径ai/ 目录)——从 CC Switch 出发学习通用知识:

  • 本地代理模式与 API 网关路由
  • 熔断器模式与故障转移策略
  • 请求整流与多协议格式转换
  • SSOT 双写架构与崩溃恢复

编程核心路径dev/ 目录)——学习 CC Switch 的工程实践:

  • Tauri 2 分层架构
  • SQLite Schema 迁移与数据持久化
  • Deep Link 协议与跨平台注册
  • 前端测试策略(vitest + MSW)
  • 跨平台桌面适配