用 Claude Code / Codex 的人大多知道 CC Switch ,它能管理 Skills 和 MCP 配置,但 Provider 切换这块有几个痛点:
最早的办法是在项目目录下放启动脚本,每个中转站一个:
unset ANTHROPIC_AUTH_TOKEN
unset ANTHROPIC_API_KEY
unset ANTHROPIC_BASE_URL
export ANTHROPIC_BASE_URL=https://relay.example.com
export ANTHROPIC_API_KEY=sk-xxx
export CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1
claude "$@"
十来个脚本散落各处。能用,但问题也很明显:
OPENAI_* 变量,模板不一样,更乱所以写了 cl 这个工具。核心思路很简单:
cl relay-a、cl relay-b 随手切,不打断心流cl # 用默认 profile 启动
cl relay-a # 指定 profile
cl relay-a -r # 透传参数给 claude
cl codex-relay # 启动 Codex
~/.cl/profiles.yaml,一个文件管所有:
default: relay-a
defaults:
env:
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC: "1"
profiles:
relay-a:
name: Relay A
base_url: https://relay-a.example.com
api_key: sk-xxx
model: claude-opus-4-6
env: {}
relay-b:
name: Relay B (Auth Token)
base_url: https://relay-b.example.com
auth_token: sk-xxx
env:
API_TIMEOUT_MS: "600000"
relay-c:
name: Relay C
base_url: https://relay-c.example.com
api_key: sk-xxx
model: custom-model-name
small_fast_model: custom-fast-model
env: {}
codex-relay:
name: Codex via Relay
cli: codex
base_url: https://codex-relay.example.com
api_key: sk-xxx
model: gpt-5.5
env:
CODEX_CONFIG_DIR: ~/.codex-envs/relay
中转站换 Key ?改这一个文件,所有项目立刻生效。换分组通道?改 base_url 一行,完事。
两者完全独立,各管各的:
| CC Switch | cl | |
|---|---|---|
| Skills 管理 | ✅ | ❌ |
| MCP 服务器配置 | ✅ | ❌ |
| Provider 认证 | ❌ | ✅ |
| 启动 CLI | ❌ | ✅ |
cl 只通过环境变量注入认证,不动 ~/.claude/settings.json。CC Switch 配置的 MCP 和 Skills 完全不受影响。
我自己的用法是:
Provider 的事全交给 cl 在命令行解决。每次需要管理 Skills 和 MCP 了,才打开 CC Switch 配一下,配完退出,不需要常驻占据系统托盘。
brew install unliu/tap/cl
或者用 Go:
go install github.com/unliu/cl-launcher@latest
Golang 编写,单二进制,零依赖。欢迎试用/反馈~
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.