ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

cc-switch

cc-switch 文章目录设置-通用显示项目切换Skills 存储位置codex 应用增强非接管切换时保留官方登录统一 Codex 会话历史设置-路由全局出站代理codex 桌面端和cli添加新的供应商统一供应商claude 供应商请求地址上游格式认证字段模型映射默认兜底模型自定义user-agent本地代理请求覆盖编辑通用配置通常你只填 Base URL具体 endpoint 由 Agent/SDK 自动拼设置-通用显示项目切换把当前的 供应商、MCP、Skills、记忆文件 保存成一个命名项目然后在主页顶部或者托盘里一键切换Project 一整套供应商 MCP Skills Memory 配置快照。Skills 存储位置Skill 可以来自多种来源例如你在 CC Switch 里从公共 Registry 搜索安装、从 Skill 仓库获取或者把已有 Skill 纳入 CC Switch 管理并不是说 Skill 文件“只能从 CC Switch 官方服务器下载”然后 CC Switch 再把这些 Skill 分发给不同工具codex 应用增强不只是 Codex 桌面端Codex CLI 也可以用非接管切换时保留官方登录我从 OpenAI 官方切换到第三方供应商后还想让 Codex 保留原来的 ChatGPT 官方登录状态想用第三方 API 跑 Codex但又不想丢掉 Codex 官方账号的登录状态统一 Codex 会话历史我切换供应商以后还想看到以前的聊天记录。设置-路由在你的电脑上启动一个“小型 AI API 中转站”让 Claude Code、Codex、Gemini CLI 等程序先把请求发给 CCSwitch再由 CC Switch 转发给你选择的供应商。CC Switch 官方文档明确说明本地路由默认运行在 127.0.0.1:15721并可以分别接管 Claude、Codex、Gemini 等应用最重要的是解决一个问题不同供应商的 API 协议不一样。本地路由开关 ≈“我要不要让 CC Switch 在我电脑上运行这个中转服务器”Agent 本身固定使用自己的 API 协议而你想接入的模型/供应商可能使用另一种协议所以 CC Switch 在中间做协议转换。CC Switch 本地路由非常简单地记成“AI Agent 和模型供应商之间的翻译官 中转站。如果 Agent 和供应商本来就使用同一种协议就不需要转换。**例如供应商原生支持 Codex 所需的 Responses API那么请求可以直接转发本地路由甚至可以不参与协议转换。全局出站代理CC Switch 自己访问互联网时应该通过什么网络通道出去本地路由负责接收本机 AI 工具请求而全局出站代理负责 CC Switch 向外发送请求时使用的网络通道功能它解决什么问题本地路由请求进来以后怎么处理、转给谁、要不要转换协议全局出站代理处理完以后CC Switch 怎么访问外面的服务器codex 桌面端和cli添加新的供应商称作“供应商”主要有以下几个原因1.它们是提供 AI 算力/服务的“供应方”在软件架构中模型本身如 Claude 3.5 Sonnet、GPT-4o只是算法要运行它们需要极大的 GPU 算力。统一供应商一次配置同步应用到多个 AI 工具Claude Code、Codex、Gemini、OpenCode 等。如果你使用的是 同一个 API 中转服务商/聚合平台很多第三方平台的一个 API Key 可以同时调用 Claude、GPT-4/Codex、Gemini 等所有模型用这个选项最方便。在这里填入 API 地址和 Key并勾选你想绑定的工具cc-switch 就会自动把这个配置写入各个 AI 工具各自的配置文件中。以后在托盘一键切换时多个 AI 工具的节点会同步切换。目前市场上绝大多数 API 中转商/第三方代充平台后台都是基于开源的 NewAPI或 OneAPI系统搭建的。如果你是在第三方中转网站买的额度/Key直接选默认的 NewAPI 填入网站地址和 Key 即可如果连接报错或使用的是自定义转发脚本再切换为 自定义网关claude 供应商请求地址关闭“完整 URL” 你填写的是 Base URL基础域名/根路径cc-switch 会根据当前 AI 工具如 ClaudeCode 或 Codex所需的标准 API 协议自动在末尾拼接 对应的 Endpoint如 /v1/messages。“完整 URL”必须同时开启 cc-switch 的“路由”功能否则这个配置是无法生效或无法使用的。上游格式上游”Upstream指的是你配置的远端 API 服务提供商在绝大多数软件架构和 API 调用场景中上游Upstream 服务器 / 数据与算力的生产者如 OpenAI、Anthropic、DeepSeek 或你的第三方 API中转站。下游Downstream 客户端 / 数据的消费者如 Claude Code、Cursor、VS Code 插件等终端工具。认证字段认证字段”说白了就是给服务器看钥匙的方式。 你手里的 API Key比如 sk-xxxxxx就是钥匙但去门卫那里报钥匙时对方要求的暗号格式可能不一样模型映射SubagentSubagent 对应 CLAUDE_CODE_SUBAGENT_MODEL专门指定 Claude Code 创建出来的子代理使用哪个模型。不是每次随随便便“现造一个没有定义的 Subagent”。Claude Code 的 Subagent 更准确地说是先有“Subagent 类型/定义”需要委派任务时主 Agent 选择合适的类型并启动一个实例。主 Claude 可以看到当前可用的 Subagent 定义(内置和新增)然后根据每个 Agent 的 description 等信息判断该不该委派、委派给谁。Claude 的新模型也支持主动判断任务是否值得交给专门的 Subagent。1M 只是给 Claude Code 的上下文能力声明。Claude Code 自己需要知道“当前模型的上下文上限是多少Claude Code 内部有一套 context window / auto-compaction 管理逻辑。它会根据当前模型判断“这个模型的上下文窗口是多少”然后决定什么时候自动压缩对话。Claude Code 实际需要这个值是为了类似下面这个过程当前会话 token 数↓Claude Code 知道模型窗口大小↓例如认为窗口 200K↓快到 200K↓触发 auto-compaction↓把较早的聊天总结/压缩例如原生 Claude 模型claude-sonnet-5Claude Code自己认识它就知道当前官方配置下它是 1M context官方文档明确说 Sonnet 5 在 Anthropic API 上原生就是 1M在 Claude Code体系里[1m] 是官方支持的模型能力标记例如官方允许/model opus[1m]/model sonnet[1m]并明确规定对于它无法识别的自定义模型 ID如果 ID 带 [1m]Claude Code会假定它有 1M context window。[1m] 是 Claude Code 专门认识的“这个模型是 1M”特殊标签CLAUDE_CODE_MAX_CONTEXT_TOKENS才是通用的精确窗口大小配置。[1m] 不是 [数字单位] 的通用语法因此不能自己造 [5b]默认兜底模型ANTHROPIC_MODEL 的官方作用可以直接理解成指定 Claude Code 当前默认使用哪个模型。Claude Code 官方环境变量文档对它的定义就是ANTHROPIC_MODEL “要使用的模型设置名称”例如你设置ANTHROPIC_MODELclaude-sonnet-4-6那 Claude Code 启动时默认主会话就会用这个模型“默认兜底模型”因为它底层对应的是 Claude Code 官方变量ANTHROPIC_MODELcc switch 不开启路由时C会把供应商配置直接写给 Claude Code这时 ANTHROPIC_MODEL 会被Claude Code 自己读取作用是指定当前/默认模型开启路由真实模型映射主要由 CC Switch保存和执行ANTHROPIC_MODEL 变成 CC Switch 的默认兜底值补缺失的 Sonnet/Opus/Haiku 映射自定义user-agent当 CC Switch 开启本地路由/代理接管后它替你把请求转发给供应商 API 时可以把 HTTP 请求里的 User-Agent请求头改成你指定的值。 User-Agent 本身是什么 它只是 HTTP 请求头中的一项用来告诉服务器“这个请求大概是什么客户端发出来的。”“预设”通常就是一些常见客户端 UA让你不用自己手写本地代理请求覆盖CC Switch 在把请求转发给供应商之前最后再帮你改一下“请求头”和“请求正文”。而且只在你开启 本地路由/代理接管 时生效因为只有这时请求真正经过 CC Switch。Header原则上任意合法 HTTP Header 都能写但有一批被 CC Switch 保护不能覆盖Body原则上任意 JSON 字段都能写目前明确禁止覆盖的是顶层 stream编辑通用配置编辑通用配置 定义“所有供应商都可以复用的一段公共配置”应用通用配置 当前这个供应商要不要把那段公共配置合并进来Claude Code└─ Claude自己的“通用配置”├─ Claude供应商A├─ Claude供应商B└─ Claude供应商CCodex└─ Codex自己的“通用配置”├─ Codex供应商A├─ Codex供应商B└─ Codex供应商CGemini└─ Gemini自己的“通用配置”├─ Gemini供应商A├─ Gemini供应商B└─ Gemini供应商C不是一份全局通用配置↓同时塞给 Claude / Codex / Gemini / OpenCode / …因为三者配置格式本来就不一样Claude → JSON / settings.json 风格Codex → TOML / config.toml 风格Gemini → 自己的 env / 配置结构通常你只填 Base URL具体 endpoint 由 Agent/SDK 自动拼一般是 Agent 根据自己的协议拼接端点不是你针对每个模型手工复制不同 URL /v1/messages 告诉 NewAPI这是Claude/Anthropic 协议 model claude-sonnet-4-5 告诉 NewAPI我要哪个模型不是模型名决定 我要使用 /v1/messages而是客户端所用协议/端点决定请求格式模型名决定具体路由到哪个模型。 URL 路径 → 你说的是什么“语言/协议”model → 你想找哪个“模型”你配置Base URL https://openrouter.ai/api/v1Agent自己决定我要用 /chat/completions还是 /responses还是 /messages最后自动拼Base URL endpointendpoint→ 客户端决定“用哪种 API 协议”model→ OpenRouter决定“调用哪个模型”
返回列表