Claude Code、Codex、Gemini、OpenCode 与 OpenClaw 的命令行管理工具
统一管理 Claude Code、Codex、Gemini、OpenCode 与 OpenClaw 的供应商配置,并按应用提供 MCP 服务器、Skills 扩展、提示词、本地代理路由和环境检查等能力。
English | 中文
本项目是原版 CC-Switch 的 CLI 分支。🔄 WebDAV 同步功能与上游项目完全兼容。
致谢: 原始架构和核心功能来自 farion1231/cc-switch
更新日志: CHANGELOG.md
|
感谢 PackyCode 赞助本项目! 官网:https://www.packyapi.com CC-Switch CLI 专属优惠:通过 此链接 注册,并在充值时填写优惠码 cc-switch-cli,即可享受 9 折优惠。
|
|
感谢 AICodeMirror 赞助本项目!AICodeMirror 提供 Claude Code / Codex / Gemini CLI 官方高稳定中转服务,支持企业级并发、快速开票与 7x24 专属技术支持。Claude Code / Codex / Gemini 官方通道价格低至原价的 38% / 2% / 9%,充值另有折上折! AICodeMirror 为 cc-switch-cli 用户提供专属福利:通过此链接注册,首充可享 8 折,即 20% off,企业客户最高可享 75 折,即 25% off。 |
|
感谢 RightCode 赞助本项目! RightCode 为 Claude Code、Codex、Gemini 等模型提供稳定的路由服务,拥有高性价比的 Codex 月付方案,且支持额度滚存——当天未用完的额度可顺延至次日使用。 RightCode 为 CC-Switch CLI 用户提供了特别优惠:通过此链接注册,每次充值均可获得实付金额 5% 的按量额度! |
|
感谢 DDS 赞助本项目!呆呆兽是一家专注 Claude 的可靠高效 API 中转站,为个人和企业用户提供极具性价比的国内 Claude 直连加速服务。支持 Claude Haiku / Opus / Sonnet 等满血模型。充值满 1000 元即可开具发票,企业客户更可享受定制化分组和技术支持服务。 CC-Switch CLI 用户专属福利:通过此链接注册后,首单充值可额外赠送 10% 额度(充值后请联系群主领取)! |
| 切换 | 设置 |
|---|---|
![]() |
![]() |
交互模式(推荐)
cc-switch🤩 按照屏幕菜单探索功能。
命令行模式
cc-switch provider list # 列出供应商
cc-switch provider switch <id> # 切换供应商
cc-switch provider export <id> # 导出 Claude 供应商为独立 settings 文件
cc-switch provider stream-check <id> # 检查供应商流式健康
cc-switch config webdav show # 查看 WebDAV 同步设置
cc-switch env tools # 检查本地 CLI 工具
cc-switch mcp sync # 同步 MCP 服务器
cc-switch proxy show # 查看代理路由和状态
# 使用全局 `--app` 参数来指定目标应用:
cc-switch --app claude provider list # 管理 Claude 供应商
cc-switch --app codex mcp sync # 同步 Codex MCP 服务器
cc-switch --app gemini prompts list # 列出 Gemini 提示词
cc-switch --app openclaw provider list # 管理 OpenClaw 供应商
# 支持的应用:`claude`(默认)、`codex`、`gemini`、`opencode`、`openclaw`完整命令列表请参考「功能特性」章节。
Windows 用户请参考下方手动安装。
curl -fsSL https://github.com/SaladDay/cc-switch-cli/releases/latest/download/install.sh | bash默认安装到 ~/.local/bin。设置 CC_SWITCH_INSTALL_DIR 可自定义安装目录。
- 如果目标文件已存在,安装脚本会在 TTY 中提示确认;在非交互环境中,只有设置
CC_SWITCH_FORCE=1才会覆盖。 - Linux 如需 glibc 构建,可设置
CC_SWITCH_LINUX_LIBC=glibc。
手动安装
# 下载 Universal Binary(推荐,支持 Apple Silicon + Intel)
curl -LO https://github.com/saladday/cc-switch-cli/releases/latest/download/cc-switch-cli-darwin-universal.tar.gz
# 解压
tar -xzf cc-switch-cli-darwin-universal.tar.gz
# 添加执行权限
chmod +x cc-switch
# 移动到 PATH
sudo mv cc-switch /usr/local/bin/
# 如遇 "无法验证开发者" 提示
xattr -cr /usr/local/bin/cc-switch# 下载
curl -LO https://github.com/saladday/cc-switch-cli/releases/latest/download/cc-switch-cli-linux-x64-musl.tar.gz
# 解压
tar -xzf cc-switch-cli-linux-x64-musl.tar.gz
# 添加执行权限
chmod +x cc-switch
# 移动到 PATH
sudo mv cc-switch /usr/local/bin/# 适用于树莓派或 ARM 服务器
curl -LO https://github.com/saladday/cc-switch-cli/releases/latest/download/cc-switch-cli-linux-arm64-musl.tar.gz
tar -xzf cc-switch-cli-linux-arm64-musl.tar.gz
chmod +x cc-switch
sudo mv cc-switch /usr/local/bin/# 下载 zip 文件
# https://github.com/saladday/cc-switch-cli/releases/latest/download/cc-switch-cli-windows-x64.zip
# 解压后将 cc-switch.exe 移动到 PATH 目录,例如:
move cc-switch.exe C:\Windows\System32\
# 或者直接运行
.\cc-switch.exe前提条件:
- Rust 1.85+(通过 rustup 安装)
构建:
git clone https://github.com/saladday/cc-switch-cli.git
cd cc-switch-cli/src-tauri
cargo build --release
# 二进制位置:./target/release/cc-switch安装到系统:
# macOS/Linux
sudo cp target/release/cc-switch /usr/local/bin/
# Windows
copy target\release\cc-switch.exe C:\Windows\System32\管理 Claude Code、Codex、Gemini、OpenCode 与 OpenClaw 的 API 配置。
功能: 一键切换、Claude 独立 settings 导出、多端点支持、API 密钥管理、远端模型发现,以及按应用提供的速度测试、流式健康检查等诊断能力。
cc-switch provider list # 列出所有供应商
cc-switch provider current # 显示当前供应商
cc-switch provider switch <id> # 切换供应商
cc-switch provider add # 添加新供应商
cc-switch provider edit <id> # 编辑现有供应商
cc-switch provider duplicate <id> # 复制供应商
cc-switch provider delete <id> # 删除供应商
cc-switch provider export <id> # 导出到当前目录 ./.claude/settings.local.json 并供 Claude 自动加载
cc-switch provider speedtest <id> # 测试 API 延迟
cc-switch provider stream-check <id> # 执行流式健康检查
cc-switch provider fetch-models <id> # 拉取远端模型列表
cc-switch provider export <id> --output ~/.claude/settings-demo.json # 自定义 settings 文件路径跨 Claude、Codex、Gemini 与 OpenCode 管理模型上下文协议服务器。
功能: 统一管理、多应用支持、三种传输类型(stdio/http/sse)、自动同步,以及面向 TOML / JSON live 配置的格式适配。
cc-switch mcp list # 列出所有 MCP 服务器
cc-switch mcp add # 添加新 MCP 服务器(交互式)
cc-switch mcp edit <id> # 编辑 MCP 服务器
cc-switch mcp delete <id> # 删除 MCP 服务器
cc-switch mcp enable <id> --app claude # 为特定应用启用
cc-switch mcp disable <id> --app claude # 为特定应用禁用
cc-switch mcp validate <command> # 验证命令在 PATH 中
cc-switch mcp sync # 同步到实时文件
cc-switch mcp import --app claude # 从实时配置导入管理 AI 编码助手的系统提示词预设。
跨应用支持: Claude (CLAUDE.md)、Codex (AGENTS.md)、Gemini (GEMINI.md)、OpenCode (AGENTS.md)、OpenClaw (AGENTS.md)。
cc-switch prompts list # 列出提示词预设
cc-switch prompts current # 显示当前活动提示词
cc-switch prompts activate <id> # 激活提示词
cc-switch prompts deactivate # 停用当前激活的提示词
cc-switch prompts create [name] # 创建新提示词预设,可直接指定名称
cc-switch prompts rename <id> [name] # 重命名提示词预设,不传名称时进入交互
cc-switch prompts edit <id> # 编辑提示词预设
cc-switch prompts show <id> # 显示完整内容
cc-switch prompts delete <id> # 删除提示词通过社区技能扩展 Claude Code/Codex/Gemini/OpenCode 的能力。
功能: SSOT 技能仓库、多应用启用/禁用、同步到应用目录、扫描/导入未管理技能、仓库发现。
cc-switch skills list # 列出已安装技能
cc-switch skills discover <query> # 发现可用技能(别名:search)
cc-switch skills install <name> # 安装技能
cc-switch skills uninstall <name> # 卸载技能
cc-switch skills enable <name> # 为当前应用启用(配合 --app)
cc-switch skills disable <name> # 为当前应用禁用(配合 --app)
cc-switch skills info <name> # 显示技能信息
cc-switch skills sync # 同步已启用技能到应用目录
cc-switch skills sync-method [m] # 查看/设置同步方式(auto|symlink|copy)
cc-switch skills scan-unmanaged # 扫描未管理技能
cc-switch skills import-from-apps # 导入未管理技能到 SSOT
cc-switch skills repos list # 查看仓库列表
cc-switch skills repos add <repo> # 添加仓库(owner/name[@branch] 或 GitHub URL)
cc-switch skills repos remove <repo> # 移除仓库(owner/name 或 GitHub URL)
cc-switch skills repos enable <repo> # 启用仓库但保留当前分支
cc-switch skills repos disable <repo> # 禁用仓库但保留当前分支管理配置文件的备份、导入和导出。
功能: 自定义备份命名、交互式备份选择、自动轮换(保留 10 个)、导入/导出、通用配置片段、WebDAV 同步。
cc-switch config show # 显示配置
cc-switch config path # 显示配置文件路径
cc-switch config validate # 验证配置文件
# 通用配置片段(跨所有供应商共享设置)
# 会在适用时尝试刷新 live config(`--apply` 仅保留为兼容参数)
cc-switch --app claude config common show
cc-switch --app claude config common set --snippet '{"env":{"CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC":1},"includeCoAuthoredBy":false}'
cc-switch --app claude config common clear
# 备份
cc-switch config backup # 创建备份(自动命名)
cc-switch config backup --name my-backup # 创建备份(自定义名称)
# 恢复
cc-switch config restore # 交互式:从备份列表选择
cc-switch config restore --backup <id> # 通过 ID 恢复特定备份
cc-switch config restore --file <path> # 从外部文件恢复
# 导入/导出
cc-switch config export <path> # 导出到外部文件
cc-switch config import <path> # 从外部文件导入
# WebDAV 同步
cc-switch config webdav show
cc-switch config webdav set --base-url <url> --username <user> --password <password> --enable
cc-switch config webdav jianguoyun --username <user> --password <password>
cc-switch config webdav check-connection
cc-switch config webdav upload
cc-switch config webdav download
cc-switch config webdav migrate-v1-to-v2
cc-switch config reset # 重置为默认配置查看并控制服务于各应用的本地多应用代理。
功能: 持久化开关、当前路由检查、首页遥测,以及用于调试的前台运行模式。
cc-switch proxy show # 显示代理配置和路由
cc-switch proxy enable # 启用持久化代理开关
cc-switch proxy disable # 禁用持久化代理开关
cc-switch proxy serve # 以前台模式运行代理检查环境变量冲突,以及 Claude/Codex/Gemini/OpenCode CLI 是否已经装好。
cc-switch env check # 检查环境变量冲突
cc-switch env list # 列出相关环境变量
cc-switch env tools # 检查 Claude/Codex/Gemini/OpenCode CLI交互模式支持中英文切换,语言设置会自动保存。
- 默认语言:English
- 进入
⚙️ 设置菜单切换语言
Shell 补全、环境管理等实用功能。
# Shell 补全
cc-switch completions install --activate # 推荐:为 bash/zsh 安装并激活
cc-switch completions install # 保守模式:只安装,不改 rc
cc-switch completions status # 查看受管补全状态
cc-switch completions uninstall # 移除受管补全文件和激活块
cc-switch completions bash # 兼容保留的 raw generator 路径
cc-switch completions fish # 其他 shell 继续走 raw generate
# 环境管理
cc-switch env check # 检查环境冲突
cc-switch env list # 列出环境变量
# 自更新
cc-switch update # 更新到最新版本
cc-switch update --version vX.Y.Z # 更新到指定版本自动安装 / 激活当前只支持 bash 和 zsh。其他 shell 仍然可以通过 raw generator 路径使用,例如 cc-switch completions fish。
- SQLite 持久化:核心数据默认存放在
~/.cc-switch/cc-switch.db(若设置CC_SWITCH_CONFIG_DIR则改为该目录下);旧版config.json仅保留给兼容与迁移路径使用 - Skills SSOT:技能源文件默认保存在
~/.cc-switch/skills/(若设置CC_SWITCH_CONFIG_DIR则改为$CC_SWITCH_CONFIG_DIR/skills/),安装状态和启用状态由数据库统一记录 - 安全 Live 同步(默认):若目标应用尚未初始化,将跳过写入 live 文件(避免意外创建
~/.claude、~/.codex、~/.gemini、~/.config/opencode或~/.openclaw) - 原子写入:临时文件 + 重命名模式防止损坏
- 服务层复用:100% 复用原 GUI 版本
- 并发安全:RwLock 配合作用域守卫
CC-Switch 存储(默认:~/.cc-switch,可用 CC_SWITCH_CONFIG_DIR 覆盖):
~/.cc-switch/cc-switch.db- 供应商、MCP、提示词和应用状态的主数据库~/.cc-switch/settings.json- 设置~/.cc-switch/skills/- 已安装技能源码(SSOT)~/.cc-switch/backups/- 自动轮换(保留 10 个)~/.cc-switch/config.json- 为兼容与导入流程保留的旧版 JSON
设置 CC_SWITCH_CONFIG_DIR 后,CC-Switch 会改用该目录作为配置根目录;这不会自动迁移 ~/.cc-switch 中的现有数据。
实时配置:
- Claude:
~/.claude/settings.json(供应商 / 通用配置),~/.claude.json(MCP),~/.claude/CLAUDE.md(提示词) - Codex:
~/.codex/auth.json(认证状态),~/.codex/config.toml(供应商 / 通用配置 + MCP),~/.codex/AGENTS.md(提示词)- Codex 配置目录优先使用 CC-Switch 的手动覆盖设置;未配置覆盖时,如果
$CODEX_HOME指向已存在的目录则跟随 Codex 使用它,否则使用$HOME/.codex。
- Codex 配置目录优先使用 CC-Switch 的手动覆盖设置;未配置覆盖时,如果
- Gemini:
~/.gemini/.env(供应商环境变量),~/.gemini/settings.json(设置 + MCP),~/.gemini/GEMINI.md(提示词) - OpenCode:
~/.config/opencode/opencode.json(供应商 + MCP + 运行时配置),~/.config/opencode/AGENTS.md(提示词) - OpenClaw:
~/.openclaw/openclaw.json(供应商 + Env/Tools/Agents Defaults),~/.openclaw/AGENTS.md(提示词)
为什么切换供应商后配置没有生效?
首先确认目标 CLI 已经至少运行过一次(即对应配置目录已存在)。如果应用未初始化,CC-Switch 会出于安全原因跳过写入 live 文件,并提示一条 warning。请先运行一次目标 CLI(例如 claude --help / codex --help / gemini --help / opencode --help / openclaw --help),然后再切换一次供应商。
这通常是由环境变量冲突引起的。如果你在系统环境变量中设置了 API 密钥(如 ANTHROPIC_API_KEY、OPENAI_API_KEY),它们会覆盖 CC-Switch 的配置。
解决方案:
-
检查冲突:
cc-switch env check --app claude
-
列出所有相关环境变量:
cc-switch env list --app claude
-
如果发现冲突,手动删除它们:
- macOS/Linux:编辑 shell 配置文件(
~/.bashrc、~/.zshrc等)# 找到环境变量所在行并删除 nano ~/.zshrc # 或使用你喜欢的编辑器:vim、code 等
- Windows:打开系统属性 → 环境变量,删除冲突的变量
- macOS/Linux:编辑 shell 配置文件(
-
重启终端使更改生效。
支持哪些应用?
CC-Switch 目前支持五个 AI 编程助手:
- Claude Code (
--app claude,默认) - Codex (
--app codex) - Gemini (
--app gemini) - OpenCode (
--app opencode) - OpenClaw (
--app openclaw)
使用全局 --app 参数指定要管理的应用:
cc-switch --app codex provider list如何报告 bug 或请求新功能?
请在我们的 GitHub Issues 页面提交问题,并包含:
- 问题或功能请求的详细描述
- 复现步骤(针对 bug)
- 你的系统信息(操作系统、版本)
- 相关日志或错误信息
- Rust:1.85+(rustup)
- Cargo:与 Rust 捆绑
cd src-tauri
cargo run # 开发模式
cargo run -- provider list # 运行特定命令
cargo build --release # 构建 release
cargo fmt # 代码格式化
cargo clippy # 代码检查
cargo test # 运行测试src-tauri/src/
├── cli/
│ ├── commands/ # CLI 子命令(provider, mcp, prompts, skills, proxy, env, ...)
│ ├── tui/ # 交互式 TUI 模式(ratatui)
│ ├── interactive/ # 交互入口 / TTY 检查
│ └── ui/ # UI 实用工具(表格、颜色)
├── services/ # 业务逻辑(provider, mcp, prompt, webdav, ...)
├── database/ # SQLite 存储、迁移、备份
├── main.rs # CLI 入口点
└── ... # 各应用配置、代理、错误处理
欢迎贡献!本分支专注于 CLI 功能。
提交 PR 前:
- ✅ 通过格式检查:
cargo fmt --check - ✅ 通过代码检查:
cargo clippy - ✅ 通过测试:
cargo test - 💡 先开 issue 讨论
- MIT © 原作者:Jason Young
- CLI 分支维护者:saladday


