CC Switch v3.16.1 多 CLI 切换器:Claude Code / Codex / Gemini CLI / OpenCode / OpenClaw / Hermes 一个面板管完(2026)
(updated )

CC Switch v3.16.1 多 CLI 切换器:Claude Code / Codex / Gemini CLI / OpenCode / OpenClaw / Hermes 一个面板管完(2026)

安装完能干嘛,30 秒看完

问题答案
装完得到什么一个桌面 app,在 Claude Code、Claude Desktop、Codex、Gemini CLI、OpenCode、OpenClaw、Hermes Agent 之间切换 API provider——不用再手动改 config 文件
要多久10 分钟(装好 + 加首个 provider + 托盘切换验过)
要准备什么macOS 12+ / Windows 10+ / Linux(Ubuntu 22.04+、Debian 11+、Fedora 34+、Arch),CLI 本身要 Node.js 20 LTS(Gemini CLI 和 Hermes Agent 的 floor),装 OpenClaw 要 Node 22.19+,加至少一把 provider API key
最新版本(已核实)CC Switch v3.16.1,2026-06-01 发

如果你已经在用 CC Switch、只想查特定问题——config 文件没生效、OAuth 反复登录、Codex wire_api 不对——直接跳到下面 常见报错与修法。否则下面四节按「装好 → 加 provider → 验证 → 多 CLI」顺序走完。

ZH 那边几篇 cc-switch 文章只专攻 Claude Code 单 CLI,这篇专走 7 个目标 CLI 的横切。Claude Code 深度向下挖,看 cc-switch 配置 Claude Code 完全指南CC Switch 中转配置避坑指南

系统要求

CC Switch 是 Tauri 2 桌面 app——本体小(~10 MB 安装包),但需要图形会话 + 对应 CLI 运行时。开始前对照下表,多数「CC Switch 不工作」的报告其实是底下 CLI 没装。

组件最低推荐核实版本
CC Switchv3.13.0(Codex OAuth 代理起步)v3.16.1v3.16.1(2026-06-01)
Node.js(npm 装的 CLI 用)20 LTS(装 OpenClaw 需要 22.19+)22 LTS22.x
Claude Code(@anthropic-ai/claude-codeNode 18+latest2.1.163
Codex(@openai/codexNode 16+;0.137.0(wire_api 只接 responses)latest0.137.0
Gemini CLI(@google/gemini-cliNode 20+latest0.45.1
OpenCode(opencode-ai无 engine floor 声明latest1.16.0
OpenClaw(openclawNode 22.19+latest2026.6.1
Hermes Agent(hermes-agentNode 20+latest0.15.2
操作系统(桌面)macOS 12 / Windows 10 / Ubuntu 22.04 / Debian 11 / Fedora 34 / Arch最新稳定版

不需要每个 CLI 都装——CC Switch 只管理硬盘上实际存在的面板。先从你最常用的一两个开始。

第 1 步 —— 装 CC Switch

按平台选原生路径。macOS 不要 Homebrew 和手动下载混用,auto-update 只跟一条通道。

macOS(Homebrew)

brew install --cask cc-switch
# 后续升级:
brew upgrade --cask cc-switch

cask 已经过 Apple 签名 + 公证——首次打开不会弹 Gatekeeper 警告。

macOS(手动 .dmg)

# 从 Releases 页下最新 DMG,然后:
open CC-Switch-v3.16.1-macOS.dmg
# 把 CC Switch.app 拖到 /Applications

Windows

github.com/farion1231/cc-switch/releasesCC-Switch-v3.16.1-Windows.msi 双击装。机器禁止跑 MSI 就下 CC-Switch-v3.16.1-Windows-Portable.zip 免安装版。

Linux(Debian / Ubuntu)

# x86_64 示例
sudo dpkg -i CC-Switch-v3.16.1-Linux-x86_64.deb
# apt 抱怨依赖时:
sudo apt-get install -f

Linux(Arch)

paru -S cc-switch-bin   # 或:yay -S cc-switch-bin

Linux(通用 AppImage)

chmod +x CC-Switch-v3.16.1-Linux-x86_64.AppImage
./CC-Switch-v3.16.1-Linux-x86_64.AppImage

无头服务器 / CI

Tauri 2 桌面版必须有 Wayland 或 X11。无头机器——构建 runner、远程沙箱——用 Rust CLI fork SaladDay/cc-switch-cli 替代。它读跟桌面 app 同款 WebDAV 同步的 config bundle,所以可以笔记本上写 provider、agent 上拉下来。

装完验一下

首次启动后:

  1. CC Switch 窗口默认打开到 Claude Code 面板。
  2. CC Switch 图标出现在系统托盘里(macOS 菜单栏 / Windows 任务栏 / Linux 系统托盘)。
  3. 左上角 app 切换器列出 7 个被管的目标——Claude Code、Claude Desktop、Codex、Gemini CLI、OpenCode、OpenClaw、Hermes Agent。灰掉的条目是硬盘上没检测到的 CLI,正常——还没装的话就是这样。

Linux 上托盘图标不见,多半是 DE 不支持 StatusNotifierItem;GNOME 装 gnome-shell-extension-appindicator(或 KDE 同类扩展),重启会话。

第 2 步 —— 把要管的 CLI 装上

CC Switch 不替你装 CLI——它管的是 config 文件。需要哪个就装哪个:

# 7 个都列上做参考。按需挑。
npm install -g @anthropic-ai/claude-code   # Claude Code(Node 18+)
npm install -g @openai/codex               # Codex(Node 16+)
npm install -g @google/gemini-cli          # Gemini CLI(Node 20+)
npm install -g opencode-ai                 # OpenCode(无 engine floor)
npm install -g openclaw                    # OpenClaw(Node 22.19+)
npm install -g hermes-agent                # Hermes Agent(Node 20+)

Claude Desktop 是 Anthropic 独立桌面 app,去 claude.ai/download 下,不走 npm。

npm install -gEACCES 或者新 shim 不在 PATH 上时,看 Codex CLI 装完报 command not found 的 7 个修法——同一批修法适用于所有 CLI。

第 3 步 —— 加你的第一个 provider

打开 CC Switch,点右上角 +。Add Provider 面板有两个 tab:

  • App-specific Provider —— 只给当前面板用
  • Universal Provider —— Claude Code、Codex、Gemini CLI 共用

首次跑用 App-specific:

  1. Preset 下拉选发 key 给你的 provider。CC Switch 跨所有面板内置 ~50 个第三方 preset:DeepSeek、智谱 GLM、MiniMax、Kimi、百炼(阿里 Qwen)、AWS Bedrock、NVIDIA NIM、OpenRouter,加上一长串中转服务。多数只要填 API Key,endpoint URL 和协议字段会自动填好。
  2. API Key
  3. (只针对 Codex)选的 preset 如果标了「Needs Local Routing」——所有 chat-completions 后端比如 DeepSeek、智谱 GLM 都是——CC Switch 自动开 Local Routing 开关,把 Codex 的 Responses API 协议代理转到 provider 的 /v1/chat/completions。别关——Codex 0.137.0 已经在 config 加载时砍掉了 wire_api = "chat",只接 responses
  4. Add

每个 preset 实际写了什么

preset 是便利层。底下 CC Switch 写的是 CLI 原生 config 文件:

CLIConfig 文件CC Switch 写什么
Claude Code~/.claude/settings.jsonenv.ANTHROPIC_API_KEY + env.ANTHROPIC_BASE_URL
Codex~/.codex/auth.json + ~/.codex/config.tomlOPENAI_API_KEYauth.jsonmodel_providermodelbase_urlwire_apiconfig.toml
Gemini CLI~/.gemini/.env + ~/.gemini/settings.jsonGEMINI_API_KEY + GOOGLE_GEMINI_BASE_URL.env
OpenCode~/.config/opencode/opencode.jsonprovider 块在 provider
OpenClaw~/.openclaw/openclaw.json(JSON5)provider 块在 models.providers
Hermes Agent~/.hermes/config.yaml + ~/.hermes/.envcustom_providers 条目 + .env secrets;切换时改 model.provider / model.default

原则是「最小侵入」——明天卸掉 CC Switch,每个 CLI 照样工作,因为它们的原生 config 文件还在。CC Switch 自己在 ~/.cc-switch/cc-switch.db 里的状态是纯加法。

第 4 步 —— 切换 + 验证

每个 CLI 至少加完一个 provider 之后:

  • app 里:点 provider 卡片 → Enable
  • 托盘里(更好用的部分):右键 CC Switch 图标 → 选 CLI 面板 → 点 provider 名。菜单关掉之前新 config 已经写完。

然后在 CLI 那边激活:

CLI激活方式
Claude Code热加载——下一条 prompt 就用新 key,不用重启
Codex退掉终端重开
Gemini CLI热加载——每次请求重读 ~/.gemini/.env
OpenCode退掉终端重开
OpenClaw退掉终端重开
Hermes Agent退掉终端重开

进各自 CLI 会话里随手测一下:

> 你好——告诉我现在在跟哪个模型说话?

模型给出合理的自我介绍,就证明 key 有效 + routing 路径对。

常见报错与修法

症状根因修法
Linux 托盘图标不见DE 不支持 StatusNotifierItemgnome-shell-extension-appindicator(或 KDE 同类),重启会话
切换成功但 Codex 还在用老 keyCodex 启动时缓存 config.toml把 Codex 进程完整退掉(不只退 prompt),重启
Codex preset 接上了,每次请求返回 CHAT_WIRE_API_REMOVED_ERROR加完 provider 之后又关了「Needs Local Routing」provider 卡片上重新打开 Local Routing;Codex 0.137.0 在 config 加载时就拒 wire_api = "chat"
每次切换都跳出来 Claude Code「first-run wizard」默认的 onboarding 流程在 ~/.claude/settings.json 改动时重新触发Settings → General → 打开 Skip Claude Code first-run confirmation(写 skipIntroduction~/.claude/settings.json
所有 preset 都 Authentication failed (401/403)API key 串错了,或这把 key 没授权选的模型先去 provider 自己的 dashboard 验 key;Auto-Fetch Models 按钮(model 输入框旁边的下载图标)会调 /v1/models,认证错会立即抛出来
删不掉当前激活的 provider最后一个 config 不许删的兜底先切到别的 provider 再删;如果就是想清空面板,Settings 里把这个 CLI 隐藏掉
Gemini CLI 不认 provider检测到 Node 18,但 @google/[email protected] 要 Node 20nvm install 20 && nvm alias default 20,重装 CLI
OpenClaw 装不上或起不来Node < 22.19(engines floor >=22.19.0nvm install 22 && nvm alias default 22,重装
Hermes Agent 装不上Node < 20(engines floor >=20.0.0nvm install 20 && nvm alias default 20,重装
WebDAV 同步写成功但别的设备看不到新 provider两端要用同一个 WebDAV 根 + Settings → Storage 里同一个自定义 config 目录每台设备都把 claudeConfigDir / codexConfigDir 等设成一致
~/.cc-switch/cc-switch.db 被锁同时开了两个 CC Switch 实例(macOS 配 iCloud 同步常见)关掉一个;CC Switch 对这个文件持独占 SQLite mutex

如果是 CLI 自己的运行时错——model_not_foundEACCES429503——属于 CLI 的问题不是 CC Switch 的。Codex 那一类的认证 / 限流 / 沙箱报错看 Codex CLI 常见错误排查手册;装机时的 command not found 单独看 Codex 装完 command not found 7 个修法

团队 / 多人配置

CC Switch 真正解决的痛是团队跨多个 agent 共用第三方 key——不是单人单 CLI。三种姿势能扩。

姿势 1 —— Universal Provider 共享中转 key

团队跨 Claude Code、Codex、Gemini CLI 用同一个 OpenAI 兼容中转(一个 base URL、一把共享 key),Universal Provider tab 就是干这个的。加一次填中转的 endpoint + key,勾选要同步到的三个 app,CC Switch 把同一把 key 写到每个 CLI 的原生 config 文件里。中转旋转 key 时改一行点 Save and Sync——每个 CLI 在每台笔记本上下一次切换都拿到新值。

姿势 2 —— WebDAV 同步 config bundle 给笔记本 + CI

搭一个 WebDAV server(Nextcloud、自托管、或者团队已经有的),Settings → Storage → 自定义 config 目录指过去。作者们在笔记本上加 provider;CI runner 跑 SaladDay/cc-switch-cli 拉同一份 SQLite 快照。不要用普通 Dropbox / iCloud 文件夹同步 ~/.cc-switch/cc-switch.db——两台设备同时 push 会高高兴兴互相覆盖。带正经 locking 的 WebDAV 才是这个数据库文件的安全传输方式。

姿势 3 —— 给值班工程师做单机覆盖

某个工程师要测不影响其他人的 provider 时,设备级 ~/.cc-switch/settings.json 里的 claudeConfigDircodexConfigDir 等覆盖把那台机器的 CC Switch 指到一个非共享 config 目录。团队的 WebDAV bundle 不受影响;改回设置覆盖就消失。

三种姿势都一样,把 ~/.cc-switch/cc-switch.db~/.ssh/ 看——它没加密,文件保护靠文件系统权限加你选的传输通道。

进阶 —— MCP、Skills、Prompts 和 OAuth 复用

切换 provider 这件事解决之后,统一面板才是 CC Switch 真正出力的地方。

5 个 CLI 的统一 MCP

任何面板上点 MCP 按钮。CC Switch 从每个 CLI 的原生位置读 MCP server 列表——Claude Code 的 ~/.claude.json、Codex 的 ~/.codex/config.toml[mcp_servers.*] 块、Gemini CLI 的 ~/.gemini/settings.jsonmcpServers,OpenCode 和 Hermes 同款逻辑——然后让你按 CLI 切每个 server 的开关。mcp-fetch 加一次,同步到 Claude Code + Codex + Gemini,每个 agent 拿到同一份工具集。

Prompts(CLAUDE.md / AGENTS.md / GEMINI.md)

Prompts 面板是带跨 app 同步的 Markdown 编辑器。CC Switch 里改一份 prompt,一键同步到 ~/.claude/CLAUDE.md~/.codex/AGENTS.md~/.gemini/GEMINI.md。backfill 保护意思是:在 live 文件里直接改的内容,下次同步覆盖前会被拉回 CC Switch——比如同事直接改了 CLAUDE.md

Skills

Skills 面板从 GitHub 仓库或 ZIP 装 skill 到每个 CLI 的 skills 目录(~/.claude/skills/~/.config/opencode/skills/ 等)。symlink 模式是默认——canonical 一份在 ~/.cc-switch/skills/,CLI 通过 symlink 看;CLI 是沙箱不跟 symlink 的话切到文件拷贝模式。

Codex OAuth 反向代理(v3.13 起)

CC Switch 加了一条路径,把已登录 ChatGPT 账号的 Codex 额度复用到 Claude Code 里。它出现在 Claude provider 列表里作为一种新卡片类型——不是 Codex 那边的 preset——通过本地代理把 Claude Code 请求转到 chatgpt.comauth.openai.com。适合你已经付 ChatGPT Plus 或 Pro 的场景。生产用之前先看 app 里的风险提示;这是非官方复用路径,OpenAI 一收紧鉴权就可能断。

替代方案 —— 不想要桌面 app 的时候

桌面 Tauri app 不适合的场景,下面两条路覆盖。

  • 单一 OpenAI 兼容网关 —— 如果只想要一个 base URL,让 Claude Code、Codex、Cursor、Cline、OpenClaw 都指过去,OfoxAI 暴露 https://api.ofox.ai/v1 作为统一 OpenAI 兼容端点。多数团队完全不想改每个 CLI 的 config 时就选这个;看 Claude Code 集成指南 的一行设置。可以保留 CC Switch 做托盘级切换、底下用 ofox 做 provider;也可以一个端点够用就完全跳过 CC Switch。
  • 无头 / 脚本化场景 —— SaladDay/cc-switch-cli 是 Rust CLI fork,在终端里做 provider 切换、MCP 管理、skills 安装、本地代理。跟桌面 app 同款 WebDAV 兼容存储格式。最适合构建 agent、远程 dev 容器、纯 tmux 的服务器。
  • 浏览器 UI —— Laliet/cc-switch-web 是社区基于 web 的替代品,覆盖 Claude Code、Codex、Gemini CLI。今天功能没桌面 app 全,但适合团队共用一个 URL 打开看的场景。

怎么持续跟上版本

  • Auto-updater —— Settings → About → Check for updates。桌面 app 启动时也会自动查。
  • Release feed —— 订阅 github.com/farion1231/cc-switch/releases。近期值得跟的:Claude Desktop 升一等公民、Codex OAuth 反向代理(v3.13)、统一 Skills 从 GitHub 装(v3.16 前加的)、按 app 的用量 dashboard。
  • 备份卫生 —— ~/.cc-switch/backups/ 自动留最近 10 个 SQLite 快照。大版本升级前手动 cp ~/.cc-switch/cc-switch.db ~/.cc-switch/cc-switch.db.bak.$(date +%F)——手动快照能抗住滚动窗口。

FAQ

frontmatter 上面的 faq 块是规范答案;问题对齐了「cc switch 安装」「ccswitch claude code」相关 query 的 PAA。扫一眼即可——覆盖支持的 CLI 范围、终端重启行为、fork 选型、官方账号共存、Codex OAuth 反向代理、key 存储、无头支持、跟手动改对比这几个点。

本次刷新核对的来源