Claude Code 私有模型组合方案:CC Switch + CCR
摘要 本文提出一个三组件解决方案,使Claude Code编程助手能够接入各类私有大模型。系统包含:1) Claude Code作为核心执行层;2) CC Switch提供可视化配置管理;3) Claude Code Router(CCR)实现协议转换和智能路由。CCR通过内置Transformer支持DeepSeek、Gemini等多种API格式转换,并可按任务类型(常规/后台/推理/长文本)自
前言
Claude Code 是 Anthropic 官方推出的 AI 编程助手,作为 coding agent 它能够理解代码库、执行任务、编写代码。默认情况下,它需要使用 Anthropic 的官方 API,这不仅成本较高,而且在国内网络环境下访问受限。
更关键的是:Claude Code 原生只支持 Anthropic 的 API 协议,这意味着市面上大部分优秀的私有大模型(如 DeepSeek、OpenAI、Gemini、本地 Ollama 等)无法直接使用。
本文介绍一种由三个工具组合而成的完整解决方案,让你能够:
- 接入私有模型:让 Claude Code 能使用市面上几乎所有大模型
- 智能路由:根据任务类型自动分发到最合适的模型
- 便捷管理:可视化切换不同供应商配置
架构概览
┌─────────────────────────────────────────────────────────────────┐
│ 用户工作流 │
│ 终端执行: `claude` 或 `ccr code` │
└─────────────────────────────┬───────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────┐
│ CC Switch (配置管理层) │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ • 供应商管理:一键切换不同 API 提供商 │ │
│ │ • 配置同步:自动写入 ~/.claude/settings.json │ │
│ │ • MCP 管理:统一管理 MCP 服务器 │ │
│ └─────────────────────────────────────────────────────────┘ │
└─────────────────────────────┬───────────────────────────────────┘
│ 设置 ANTHROPIC_BASE_URL
│ 指向 CCR 地址
▼
┌─────────────────────────────────────────────────────────────────┐
│ Claude Code Router (协议转换 + 路由层) │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ 核心作用1:协议转换 │ │
│ │ • Claude Code → CCR:Anthropic API 格式 │ │
│ │ • CCR → 各厂商:各自原生 API 格式 │ │
│ │ • 各厂商 → CCR:各自响应格式 │ │
│ │ • CCR → Claude Code:Anthropic 响应格式 │ │
│ │ │ │
│ │ 核心作用2:智能路由 │ │
│ │ • default: 常规任务 │ │
│ │ • background: 后台任务(低成本) │ │
│ │ • think: 推理密集型任务 │ │
│ │ • longContext: 长上下文任务 │ │
│ └─────────────────────────────────────────────────────────┘ │
└─────────────────────────────┬───────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────────┐
│ 私有模型提供商层 │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ DeepSeek │ │ Qwen │ │ OpenAI │ │ 本地Ollama│ ... │
│ │ (非CC协议)│ │ (非CC协议)│ │ (非CC协议)│ │ (非CC协议)│ │
│ └──────────┘ └──────────┘ └──────────┘ └──────────┘ │
└─────────────────────────────────────────────────────────────────┘
三大组件详解
1. Claude Code — Coding Agent 核心
角色定位:执行层
Claude Code 是整个系统的使用者,它是一个功能强大的 AI 编程助手,能够:
- 理解整个代码库的结构和上下文
- 执行多步骤的编程任务
- 使用工具(文件操作、命令执行、Web 搜索等)
- 通过计划模式进行复杂任务分解
核心限制:Claude Code 原生只支持 Anthropic API 协议,无法直接调用其他厂商的模型。
为什么需要它:它是真正"干活"的 agent,所有协议转换和智能路由最终都是为了让它能使用各种模型来完成编程任务。
2. CC Switch — 配置管理中心
角色定位:管理层
CC Switch 是一个桌面应用程序(基于 Tauri 构建),专注于解决 Claude 生态工具的配置管理问题。它的核心价值在于:
多供应商管理
- 同时管理 Claude Code、Codex、Gemini 三个应用的 API 配置
- 预设了众多国内外模型提供商(智谱 GLM、PackyCode、AIGoCode 等)
- 一键切换供应商,自动写入配置文件
统一 MCP 管理
- 单一面板管理三个应用的 MCP 服务器
- 支持 stdio/http/sse 三种传输类型
- 智能双向同步
为什么需要它:
- 可视化操作:无需手动编辑 JSON 配置文件
- 快速切换:系统托盘一键切换不同供应商
- 简化 CCR 接入:只需在 CC Switch 中将
ANTHROPIC_BASE_URL设置为 CCR 地址
3. Claude Code Router (CCR) — 协议转换 + 智能路由层
角色定位:适配层 + 策略层
CCR 是一个中间代理服务,运行在本地(默认端口 3456)。它有两个核心作用,缺一不可:
核心作用一:协议转换(让 Claude Code 能用私有模型)
这是 CCR 存在的根本原因。
问题:Claude Code 只接受 Anthropic API 格式的请求,而市面上几乎所有私有大模型(DeepSeek、Qwen、OpenAI、Gemini、本地 Ollama 等)都使用各自的 API 协议。
CCR 的解决方案:
Claude Code 发送请求(Anthropic 格式)
↓
CCR 接收并解析
↓
根据配置的 Transformer 转换
↓
发送给目标模型(该模型的原生格式)
↓
接收模型响应(该模型的响应格式)
↓
转换回 Anthropic 格式
↓
返回给 Claude Code
支持的协议转换(通过内置 Transformer):
| Transformer | 转换目标 | 说明 |
|---|---|---|
deepseek |
DeepSeek API | 适配 DeepSeek 的请求/响应格式 |
gemini |
Gemini API | 适配 Google Gemini 格式 |
openrouter |
OpenRouter API | 适配 OpenRouter 并支持提供商路由 |
qwen-cli |
Qwen CLI | 实验性支持 Qwen CLI |
rovo-cli |
Rovo CLI | 实验性支持 GPT-5 |
Anthropic |
直接透传 | 用于其他兼容 Anthropic 端点的服务商 |
这意味着什么:
- 你可以用 DeepSeek 替代 Claude,成本降低 90%
- 你可以用 Qwen 等国内成熟大模型进行编程
- 你可以用本地 Ollama 跑完全离线的编码助手
- 你可以用 Gemini 的长上下文能力分析大型代码库
- 任何提供 OpenAI 兼容接口的模型都能接入
核心作用二:智能路由(让每个任务用最合适的模型)
协议转换让你能接入各种模型,而智能路由让这些模型各尽其职。
路由策略:
| 路由类型 | 使用场景 | 推荐模型 |
|---|---|---|
default |
常规编程任务 | 性价比模型(如 DeepSeek) |
background |
后台/辅助任务 | 本地模型(如 Ollama) |
think |
计划模式、推理任务 | 强推理模型(如 R1) |
longContext |
大型代码库分析 | 长上下文模型(如 Gemini) |
webSearch |
网络搜索任务 | 支持联网的模型 |
动态模型切换:
在 Claude Code 对话中,通过 /model 命令即时切换:
/model deepseek,deepseek-chat
/model openrouter,anthropic/claude-3.5-sonnet
为什么需要 CCR:
- 打破协议壁垒:让 Claude Code 能用几乎所有大模型
- 成本优化:简单任务用便宜模型,复杂任务用强力模型
- 性能优化:根据任务特点选择最合适的模型
- 灵活性:无需修改 Claude Code,运行时动态调整
为什么使用这种组合
单一工具的局限性
| 工具 | 能做的事 | 做不到的事 |
|---|---|---|
| 仅 Claude Code | 执行编程任务 | 接入私有模型(协议不兼容) |
| 仅 CC Switch | 管理配置 | 解决协议转换问题 |
| 仅 CCR | 协议转换 + 路由 | 可视化配置管理 |
CCR 的核心价值
没有 CCR 会怎样:
Claude Code → 只能用 Anthropic API → 高成本 + 网络问题
有了 CCR:
Claude Code → CCR (协议转换) → 任意私有模型
↓
(智能路由)
↓
不同任务 → 不同模型 → 最优性价比
何时需要 CCR
CCR 的价值取决于你使用的目标模型:
情况 1:目标模型不提供 Anthropic API 兼容
- 例如:DeepSeek、Qwen、OpenAI、本地 Ollama 等
- 必须使用 CCR:进行协议转换,否则 Claude Code 无法直接调用
情况 2:目标模型提供 Anthropic API 兼容
- 例如:智谱 GLM、千问魔塔社区在线版本等直接提供兼容 Anthropic 的端点
- 以及部分 API 中转商(PackyCode、AIGoCode 等)也提供兼容端点
- 可选方案:
- 直接使用 CC Switch:配置提供商的 Anthropic 兼容端点,无需 CCR
- 使用 CCR:如果你需要智能路由功能(不同任务用不同模型),则仍然有价值
总结:CCR 的协议转换功能是基础刚需(对于不兼容 CC 的模型),而智能路由是增值功能。
组合使用的协同效应
Claude Code + CC Switch + CCR = 完整的私有模型解决方案
Claude Code 负责:执行编程任务
└── 它"以为"自己在用 Anthropic API,实际在用 CCR 中转
CC Switch 负责:配置管理
├── 将 ANTHROPIC_BASE_URL 指向 CCR (http://127.0.0.1:3456)
├── 管理 CCR 的配置文件
└── 一键切换不同的 CCR 配置预设
CCR 负责:协议转换 + 智能路由
├── 协议转换:让 Claude Code 能用各种私有模型
│ ├── DeepSeek → 便宜好用
│ ├── Ollama → 本地离线
│ ├── Gemini → 长上下文
│ └── 任何 OpenAI 兼容模型
└── 智能路由:
├── 简单任务 → DeepSeek (省成本)
├── 推理任务 → R1 (强推理)
├── 大代码库 → Gemini (长上下文)
└── 用户指定 → /model 命令覆盖
实际使用场景
场景 1:日常开发(成本优先)
用户日常编程 → CCR 协议转换到 DeepSeek → 成本降低 90%
场景 2:离线工作(隐私优先)
用户断网环境 → CCR 协议转换到本地 Ollama → 完全离线
场景 3:复杂重构(能力优先)
用户进入计划模式 → CCR 自动路由到 R1 → 深度推理生成方案
场景 4:大型代码库分析(上下文优先)
用户分析大型项目 → CCR 检测上下文超阈值 → 路由到 Gemini (1M+ tokens)
场景 5:供应商故障切换
DeepSeek 访问异常 → 用户在 CC Switch 切换配置 → CCR 路由到备用模型 → 无感切换
总结
这个三层架构方案解决了 Claude Code 使用私有模型的核心难题:
- Claude Code:专注于执行——它不需要知道背后用的是哪个模型
- CC Switch:专注于配置——让管理多个供应商变得简单
- CCR:专注于适配——解决协议转换,让私有模型可用
CCR 的关键价值:
- 协议转换是基础功能,没有它,Claude Code 根本无法调用私有模型
- 智能路由是增值功能,让不同的模型各尽其职
这种设计既保持了 Claude Code 原生的使用体验,又获得了私有模型带来的成本和性能优势,是当前最完善的 Claude Code 私有模型解决方案。
相关链接
(END)
更多推荐



所有评论(0)