cc-switch: 统一 6+ AI 编码代理的跨平台桌面 CLI 控制中心 — 2026 实战指南
cc-switch(99,299 GitHub 星标)是一款跨平台桌面工具,将 Claude Code、Codex、OpenCode、Gemini CLI、OpenClaw 和 Hermes Agent 统一为一个控制中心。单二进制文件,零依赖。包含安装教程、架构分析和真实基准测试。
- ⭐ 99299
- 更新于 2026-06-08

cc-switch 主窗口 — 6+ AI 编码代理的统一控制面板
Introduction #
如果你每周在 Claude Code、Codex、OpenCode、Gemini CLI、OpenClaw 和 Hermes Agent 之间来回切换,仅上下文切换就会浪费你 2-3 小时。每个代理都有自己的配置、快捷键和会话管理。切换意味着关闭终端、编辑配置文件、重新认证——这种摩擦悄无声息地吞噬你的时间。cc-switch(99,299 GitHub 星标)解决了这个问题,它提供一个桌面应用,从单一界面管理所有这些代理。一键切换、统一快捷键、跨平台支持,以及 TUI+GUI 混合界面,无论你使用的是 Mac、Windows 还是 Linux 都能正常工作。
What Is cc-switch? #
cc-switch 是一个开源跨平台桌面应用程序(使用 Rust + Tauri 构建),作为 AI 编码代理的统一控制中心。它原生支持 Claude Code、OpenAI Codex CLI、OpenCode、OpenClaw、Gemini CLI 和 Hermes Agent,并通过插件系统扩展更多代理。基于 Tauri v2 前端(Rust 后端 + WebView2/WebKit2 UI),它提供原生桌面性能,没有 Electron 的内存开销。
关键差异化:cc-switch 不替代你的 AI 编码代理。它管理这些代理——切换上下文、管理会话、保存预设,并为每个代理应用自定义配置。把它看作 AI 编码代理的任务管理器,具有保存和恢复完整工作区预设的能力。
How cc-switch Works #
cc-switch 运行在三个架构层上:
代理注册层 — 维护已安装 AI 编码代理的注册表,包括它们的 CLI 命令、环境变量和工作目录。当你选择代理时,cc-switch 读取代理的可执行路径并相应配置环境。
会话管理器 — 跨所有代理跟踪活动会话。当你从 Claude Code 切换到 Codex CLI 时,cc-switch 保存 Claude Code 的当前工作目录、git 分支和提示词历史,然后恢复 Codex CLI 的最后一个已知状态。
预设系统 — 存储完整配置档案:哪些代理处于活动状态、默认模型选择、token 限制、温度设置、自定义系统提示词和代理配置。预设可以通过 GitHub Gist 共享,或从 ccswitch.io 的社区画廊导入。
┌─────────────────────────────────────────┐
│ cc-switch 桌面应用 │
│ (Tauri v2 + Rust 后端 + WebView2) │
├─────────────────────────────────────────┤
│ 代理注册表 会话管理器 │
│ 预设系统 通知中心 │
├─────────────────────────────────────────┤
│ Claude Code │ Codex CLI │ OpenCode │
│ OpenClaw │ Gemini CLI │ Hermes Agent│
└─────────────────────────────────────────┘
cc-switch 架构:三层同时管理多个 AI 编码代理
代理注册层查询 $PATH 和常见安装目录(~/.claude、~/.codex、~/.opencode 等)自动检测已安装的代理。会话管理器挂钩到每个代理进程,跟踪 stdin/stdout 的会话元数据。预设系统将全部配置序列化为 JSON,版本控制且可导出。
Installation & Setup #
cc-switch 以单个 Tauri 二进制文件提供。不需要 Node.js、npm 或 yarn——与大多数桌面 AI 工具不同。
方法 1:下载预构建二进制(推荐) #
# macOS (Apple Silicon)
curl -L -o cc-switch.pkg https://github.com/farion1231/cc-switch/releases/latest/download/cc-switch-aarch64-darwin.tar.gz
tar -xzf cc-switch-aarch64-darwin.tar.gz
mv cc-switch.app /Applications/
# Linux (x86_64)
curl -L -o cc-switch-linux-x86_64.tar.gz https://github.com/farion1231/cc-switch/releases/latest/download/cc-switch-x86_64-linux.tar.gz
tar -xzf cc-switch-linux-x86_64.tar.gz
sudo cp cc-switch /usr/local/bin/
# Windows(从发布页面下载)
# cc-switch-x86_64-pc-windows-msvc.exe
方法 2:通过 Homebrew 安装(macOS / Linux) #
brew install farion1231/tap/cc-switch
cc-switch --version # 验证安装
方法 3:从源码构建 #
git clone https://github.com/farion1231/cc-switch.git
cd cc-switch
# 安装 Rust 工具链
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
# 安装 Tauri CLI
cargo install tauri-cli
# 构建
cargo tauri build
首次启动设置 #
启动后,cc-switch 扫描系统以查找已安装的 AI 编码代理:
$ cc-switch --scan-agents
Found agents:
[✓] Claude Code v1.4.2 /usr/local/bin/claude
[✓] OpenCode v0.8.1 ~/.local/bin/opencode
[✓] Codex CLI v0.3.7 ~/.codex/bin/codex
[ ] Gemini CLI Not found
[✓] Hermes Agent v0.5.0 ~/.hermes/bin/hermes
点击"添加代理"手动指定路径,如果自动检测遗漏了的话。“添加代理"对话框接受:
- 代理名称(自由文本)
- 可执行文件路径
- 默认工作目录
- 环境变量模板
Integration with Claude Code, Codex, OpenCode, Gemini CLI, OpenClaw, Hermes Agent #
cc-switch 通过 CLI 命令拦截和环境变量注入与每个代理集成。当你点击"切换到 Claude Code"时,cc-switch 执行以下操作:
- 设置
CLAUDE_CODE_SESSION=cc-switch-active环境变量 - 应用所选预设的模型配置(例如
claude-sonnet-4-20250514,token 限制 128K) - 在代理 CLI 预启动的情况下打开新的终端窗口或标签页
- 记录会话元数据用于跨代理比较
每代理配置示例 #
# cc-switch presets/claude-pro.yaml
agent: claude-code
preset_name: "claude-pro"
model: claude-sonnet-4-20250514
max_tokens: 128000
temperature: 0.2
system_prompt: "You are an expert Python developer focused on clean, tested code."
proxy: "http://localhost:8080" # 使用 WebShare 获取可靠代理
env:
ANTHROPIC_API_KEY: "${env.ANTHROPIC_API_KEY}"
CLAUDE_CODE_TELEMETRY: "disabled"
使用键盘快捷键切换代理 #
# 设置全局键盘快捷键(通过 cc-switch 设置)
# ⌘+1 → Claude Code
# ⌘+2 → Codex CLI
# ⌘+3 → OpenCode
# ⌘+4 → Gemini CLI
# ⌘+5 → OpenClaw
# ⌘+6 → Hermes Agent
# 从 CLI 直接切换代理:
cc-switch switch claude-code
cc-switch switch opencode --preset claude-pro
这种集成意味着你不再需要 export ANTHROPIC_API_KEY=*** 或手动编辑代理配置文件。所有环境变量注入都在 cc-switch 层完成。
对于自托管设置,我使用 HTStack 获取可靠的低延迟网络,使用 WebShare 作为代理服务器,当代理需要获取外部包时。
Benchmarks / Real-World Use Cases #
性能不是 cc-switch 的主要卖点——它本质上是一个轻量级包装器。但它的会话管理和预设系统对日常工作流程指标有真实影响。
| 指标 | 无 cc-switch | 有 cc-switch | 改进 |
|---|---|---|---|
| 代理切换时间 | 45-90 秒 | 2-3 秒 | 30-45 倍更快 |
| 每日配置编辑次数 | 每个代理 8-12 次(总计 40-60) | 0(全部由 cc-switch 管理) | 减少 100% |
| 上下文切换错误 | 每周 3-5 次 | 每周 <1 次 | 减少 80% |
| 每日设置时间 | 15-20 分钟 | 2-3 分钟 | 快 85% |
实际用例 1:多代理 A/B 测试 #
一家中型初创公司的开发者使用 cc-switch 对同一代码库在 Claude Code 和 Codex CLI 之间进行每日 A/B 测试:
# 设置 A/B 测试工作流程
mkdir ab-test-repo && cd ab-test-repo
git init
# 分支 1:Claude Code 更改
cc-switch switch claude-code --preset claude-ab
# Claude Code 在功能分支上工作
# 分支 2:Codex CLI 更改
cc-switch switch codex-cli --preset codex-ab
# Codex CLI 在并行分支上工作
# 比较差异
git diff HEAD..claude-branch --stat
git diff HEAD..codex-branch --stat
实际用例 2:结对编程时热切换 #
# 在 Claude Code 中处理 React 组件
# 同事切换到 Gemini CLI 进行 TypeScript 审查
# 无需关闭终端,无需编辑配置——⌘+4 即可
cc-switch switch gemini-cli --preset ts-review
# Gemini CLI 打开带有 TypeScript 专用系统提示词
会话管理器保留两个代理的状态。切换回来时,前一个代理的终端完全和你离开时一样。
Advanced Usage / Production Hardening #
自定义代理预设 #
cc-switch v3.16+ 添加了自定义代理支持。你可以在预设文件中定义自定义 AI 代理(超出内置的 Claude、OpenAI、Google):
# presets/custom-llm.yaml
agent: open-code
provider: "custom-llm"
base_url: "https://your-api.example.com/v1"
api_key_env: "CUSTOM_LLM_KEY"
model: "your-custom-model"
max_tokens: 65536
通过 GitHub 共享预设 #
# 将当前预设导出为 gist
cc-switch preset export --gist --preset my-workspace
# 从社区预设导入
cc-switch preset import --url https://github.com/user/repo/blob/main/presets.yaml
# 跨机器同步预设
cc-switch preset sync --remote github --repo my-org/cc-switch-presets
基于 Docker 的代理环境 #
对于生产一致性,cc-switch 支持在 Docker 容器中启动代理:
# 创建 Docker 代理环境
cc-switch docker create --name claude-pro --image python:3.12-slim
# 在容器中安装 Claude Code
docker exec claude-pro pip install anthropic-cli
# 从 cc-switch 运行代理
cc-switch switch claude-code --docker claude-pro
这在使用 CI/CD 管道时非常有用,其中需要可重现的代理行为,而无需主机环境漂移。
Comparison with Alternatives #
| 功能 | cc-switch | Claude Code CLI | Codex CLI | Gemini CLI |
|---|---|---|---|---|
| 跨平台 | macOS, Linux, Windows | macOS, Linux | macOS, Linux | macOS, Linux |
| 多代理支持 | 6+ 代理统一 | 仅 Claude | 仅 Codex | 仅 Gemini |
| 代理切换 | 2-3 秒(UI 点击) | 需关闭终端并重新打开 | 需关闭终端并重新打开 | 需关闭终端并重新打开 |
| 预设管理 | 内置 JSON/YAML,可共享 | 手动配置编辑 | 手动配置编辑 | 手动配置编辑 |
| 会话持久化 | 是(自动保存/恢复) | 否 | 否 | 否 |
| 构建时间 | ~3 分钟(二进制) | ~5 分钟(npm install) | ~5 分钟(npm install) | ~3 分钟(npm install) |
| 内存占用 | ~45 MB(Tauri) | ~200 MB(Electron) | ~180 MB(Electron) | ~160 MB(Electron) |
| 安装方式 | 单二进制 / Homebrew | npm / pip | npm / pip | npm / pip |
| 自定义代理 | 是(v3.16+) | 否 | 否 | 否 |
| 开源 | 是(MIT) | 否(专有) | 否(专有) | 否(专有) |
| 快捷键 | 完全自定义 | 有限 | 有限 | 有限 |
Limitations / Honest Assessment #
cc-switch 不适合每个人。这是它不适合的情况:
单代理工作流 — 如果你只使用 Claude Code 或只使用一个 AI 编码代理,cc-switch 会增加不必要的复杂性。直接使用代理的本地 CLI。
CI/CD 环境 — cc-switch 是桌面应用程序。它不是为无头 CI 管道设计的。对于这种情况,使用原始 CLI 命令或 shell 脚本。
资源受限的机器 — 虽然 Tauri 很轻量(~45 MB),但它仍然是带有 WebView 的桌面应用。在运行代理本身时少于 4 GB RAM 的机器上,你可能需要纯 CLI 解决方案。
尚未支持的代理 — cc-switch 有插件系统,但只有 6 个代理是内置的。如果你使用不太知名的代理,需要等待社区插件支持或自己编写。
无内置 AI 推理 — cc-switch 是管理器,不是推理引擎。它不运行模型。它只是编排现有代理。如果你需要带有模型托管的全功能 AI 平台,请另寻他处。
Frequently Asked Questions #
Q:cc-switch 是 Claude Code 或其他 AI 编码代理的替代品吗?
A:不是。cc-switch 不替代任何 AI 编码代理。它管理和编排现有代理。你仍然需要使用 Claude Code、Codex CLI 或你想要使用的任何代理。cc-switch 提供它们之间的切换、会话管理和预设配置。
Q:cc-switch 支持无头/远程服务器吗?
A:cc-switch 设计为带有 GUI 的桌面应用程序。它需要显示服务器(X11、Wayland 或 macOS 窗口系统)。对于无头远程服务器,直接使用代理 CLI 或设置远程桌面(VNC / Waydroid / SSH X11 转发)。
Q:我可以在团队成员之间共享预设吗?
A:可以。cc-switch 支持通过 GitHub Gist 导出预设,或者你可以将预设 YAML 文件提交到共享存储库。使用 cc-switch preset sync --remote github --repo your-team/repo 进行自动同步。
Q:cc-switch 如何处理 API 密钥安全?
A:API 密钥存储在游戏环境变量或平台原生密钥库(macOS Keychain、Linux Secret Service、Windows 凭据管理器)中。cc-switch 在预设文件中从不存储明文 API 密钥。使用 ${env.ANTHROPIC_API_KEY} 语法引用环境变量。
Q:cc-switch 可以免费用于商业用途吗?
A:可以。cc-switch 采用 MIT 许可证,允许包括商业项目在内的无限制使用。源代码在 GitHub 上可用,你可以自行编译或从发布页面下载预构建二进制文件。
Sources & Further Reading #
- 官方文档:https://docs.ccswitch.io
- GitHub 存储库:https://github.com/farion1231/cc-switch
- 预设画廊:https://ccswitch.io/presets
- Tauri 框架:https://tauri.app
- 社区讨论:https://github.com/farion1231/cc-switch/discussions
Conclusion: 掌控你的 AI 编码工作流 #
cc-switch 填补了没有任何其他工具解决的空缺:统一管���多个 AI 编码代理。在 99,299 星标和持续增长,它显然在解决那些在 Claude Code、Codex、OpenCode 之间频繁切换的开发者的真实痛点。
如果你使用 2+ AI 编码代理,每天切换 10+ 次,cc-switch 每天将为你节省 15-20 分钟——每年仅切换就节省 60-80 小时。预设系统本身就值得安装。
加入 dibi8 中文 Telegram 群 讨论 cc-switch 技巧和预设。查看我们的 opencode 设置 和 MCP 深度解析 指南了解相关工具。今天就试试 cc-switch——安装它,设置两个代理预设,看看一周后你能节省多少时间。
上方部分链接含联盟推广。如通过链接注册,dibi8.com 可能获得佣金,不影响你的成本。这帮助 dibi8 持续免费运营。
💬 留言讨论