ccs CLI:用命令行管理 CC Switch 配置
桌面环境用 CC Switch 图形界面最直观;服务器没有 GUI、要写脚本、要跨机器迁移配置时,可以用 ccs CLI 管理 Provider、切换当前后端、查看状态和做备份。
开始前先确认
ccs CLI 适合服务器和脚本场景,但它仍然会修改本机目标 CLI 的配置。第一次使用前,先确认命令、权限和令牌边界,避免脚本把错误 Provider 扩散到长期环境。
| 准备项 | 通过标准 | 没准备好先看 |
|---|---|---|
| 知道要管理哪个应用 | 明确本次是 Claude、Codex 还是 Gemini,不依赖默认上下文。 | 界面与应用概念 |
| 服务器或本机能访问 6星中转 | curl -I "https://www.6xin.cc" 能返回 HTTP 头。 |
网络检查 |
| 有专用测试令牌 | 不要在脚本首次验证时直接使用生产令牌。 | 创建令牌 |
| 目标 CLI 能重启验证 | 切换后可以关闭旧进程、打开新终端并发起短请求。 | 工具接入总览 |
日常命令流程:每次切换都留回证
ccs 最适合放在服务器、部署脚本和应急切换流程里。安全的用法不是只跑 ccs use,而是切换前后都确认应用范围、当前 Provider 和真实请求。
确认命令和版本
先跑 ccs --version 或 cc-switch --version,再用 which ccs 确认脚本会调用到正确的二进制文件。
锁定应用范围
多工具机器上优先带 --app claude、--app codex 或 --app gemini。不要依赖默认上下文。
查看可用 Provider
执行 ccs --app codex list 这类命令,确认目标 Provider 名称、Base URL 和模型备注都符合预期。
切换并记录状态
切换前后各跑一次 ccs --app codex status。脚本日志里要能看出“从谁切到谁”。
重启目标 CLI 后验收
关闭旧的 Claude Code、Codex CLI 或 Gemini CLI 进程,重新打开后发一次短请求,并到 6星中转 用量日志核对时间点。
谁适合用 ccs
服务器只有 SSH
没有桌面环境,无法点击 CC Switch 界面,但仍要切 Claude、Codex 或 Gemini 后端。
要写进脚本
部署、巡检、应急切换时,希望用一条命令切到指定 Provider 并记录状态。
多机器同步
换电脑、初始化新服务器、批量更新令牌时,需要导出和导入配置。
重度终端用户
不想打开 GUI,只想用 ccs list、ccs use、ccs status 完成切换。
一、安装
按 ccs CLI GitHub 仓库 或 Releases 选择对应系统版本。官方可执行文件通常叫 cc-switch;本文为了命令更短,统一用 ccs 表示你本机设置好的命令名。
| 系统 | 建议 | 安装后检查 |
|---|---|---|
| macOS | 优先用一键脚本或 Homebrew;也可以下载 darwin/universal 包手动放入 PATH。 | cc-switch --version 或 ccs --version 能输出版本。 |
| Linux x64 / ARM64 | 优先用一键脚本;服务器环境可手动下载对应架构包,赋予执行权限后放入 PATH。 | which cc-switch 或 which ccs 能找到命令。 |
| Windows | 下载 zip,解压可执行文件,放入 PATH 目录。 | 新开 PowerShell 后能执行 cc-switch.exe --version 或你的别名命令。 |
macOS / Linux 一键安装
curl -fsSL https://github.com/SaladDay/cc-switch-cli/releases/latest/download/install.sh | bash
一键脚本默认把命令安装到用户目录。安装完成后,新开一个终端,把用户 bin 目录加入 PATH,再检查版本:
export PATH="$HOME/.local/bin:$PATH"
cc-switch --version
如果你想使用 ccs 这个短命令
如果安装后只有 cc-switch 命令,可以任选一种方式设置短别名。团队文档、脚本和教程里建议统一一个命令名,避免复制命令时混乱。
# 临时别名:只对当前 shell 生效
alias ccs="cc-switch"
# 持久别名:追加到你的 shell 配置
echo 'alias ccs="cc-switch"' >> ~/.zshrc
# 或者创建软链接,路径按你的实际安装位置调整
ln -s "$HOME/.local/bin/cc-switch" "$HOME/.local/bin/ccs"
Homebrew 安装
brew install cc-switch-cli
cc-switch --version
手动下载安装
手动安装适合不能跑安装脚本、需要固定二进制路径或需要离线分发的服务器。下面是常见平台示例;如果 Releases 页面文件名有变化,以官方页面为准。
# macOS Universal
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
sudo mv cc-switch /usr/local/bin/ccs
# Linux x64
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
sudo mv cc-switch /usr/local/bin/ccs
# Linux ARM64
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/ccs
Windows 安装要点
- 从 Releases 下载 Windows x64 zip。
- 解压得到
cc-switch.exe。 - 可以保留原名,也可以重命名为
ccs.exe。 - 放入 PATH 目录,或把所在目录加入 PATH。
- 重新打开 PowerShell,执行
cc-switch.exe --version或ccs.exe --version。
ccs。如果你没有设置别名或重命名,就把命令里的 ccs 替换成 cc-switch 或 cc-switch.exe。
二、首次配置
第一次使用 ccs,先准备 6星中转 的 API URL 和令牌。地址规则和图形版一致:
| 应用 | API URL | 令牌 |
|---|---|---|
| Claude Code | https://www.6xin.cc |
Claude 分组可用令牌。 |
| Codex CLI | https://www.6xin.cc/v1 |
OpenAI 兼容或 Codex 可用令牌。 |
| Gemini CLI | https://www.6xin.cc/ |
Gemini 分组可用令牌。 |
进入交互式向导:
ccs
- 选择添加 Provider。
- 选择目标应用:Claude、Codex 或 Gemini。
- 填写 API URL、API Key 和可选模型。
- 保存并启用。
- 查看当前状态。
ccs status
三、最常用的 4 个命令
| 命令 | 用途 | 什么时候用 |
|---|---|---|
ccs list |
列出保存的 Provider。 | 想确认机器上有哪些配置。 |
ccs use <名称> |
切换到指定 Provider。 | 部署、排障、临时切环境。 |
ccs status |
查看当前启用项。 | 每次切换前后都建议跑。 |
ccs edit |
编辑 Provider。 | 替换 API Key、调整 Base URL 或模型。 |
ccs list
ccs use 6星中转-Codex-prod
ccs status
ccs edit
四、按应用单独操作
一台机器同时配置 Claude、Codex、Gemini 时,建议加应用参数锁定操作范围,避免“以为在切 Codex,实际切了 Claude”。
ccs --app claude list
ccs --app codex list
ccs --app gemini list
ccs --app codex use 6星中转-Codex-prod
ccs --app codex status
脚本里尤其建议显式写应用名,不要依赖默认上下文。
五、备份、迁移和回滚
换机器、重装系统、大改配置之前,先导出或备份。导出的文件通常包含明文令牌,必须像密码一样保管。
# 老机器导出
ccs config export ./ccs-backup.json
# 新机器导入
ccs config import ./ccs-backup.json
ccs status
# 大改前先备份
ccs config backup
# 如果改坏了,恢复到备份
ccs config restore
六、其他能力先知道边界
ccs 除了切 Provider,还可能提供配置、MCP、Prompt 模板等管理命令。新手先把 Provider、备份和状态检查用稳;其他能力只在明确需要时使用,不要把无关模块一起写进切换脚本。
| 模块 | 典型命令 | 什么时候用 | 注意事项 |
|---|---|---|---|
| Provider | ccs provider list、ccs use、ccs status |
管理 Claude、Codex、Gemini 的 API 后端配置。 | 脚本里优先带 --app,避免切错应用。 |
| Config | ccs config backup、ccs config export、ccs config restore |
大改前留回退点、换机器、迁移配置。 | 备份文件可能包含明文令牌,必须按密钥保管。 |
| MCP | ccs mcp list、ccs mcp sync |
团队需要同步 MCP 工具配置时再用。 | 不要为了切 API 后端顺手改 MCP;先确认影响范围。 |
| Prompts | ccs prompts list、ccs prompts activate |
团队需要切换提示词模板时再用。 | Provider 切换和提示词切换要分开验收,方便定位问题。 |
切错或改坏时怎么回滚
如果切换后目标 CLI 报错、模型不可用或用量日志没有记录,先回到最近可用配置,再慢慢排查。不要一边改多处配置一边重试。
停止继续调用目标 CLI
先停下正在失败重试的脚本或终端,避免短时间内打出大量错误请求。
恢复最近可用 Provider
如果只是切错,用 ccs --app codex use 旧Provider名称 切回;如果配置被改坏,用 ccs config restore 恢复备份。
检查状态是否回到旧值
执行 ccs --app codex status,确认当前启用项、Base URL 和模型备注都回到预期。
重启目标进程
已打开的 CLI 可能还拿着旧配置。关闭所有相关终端或后台任务,重新启动后再测试。
用短请求确认恢复
只发一个低成本短请求,确认工具返回成功,并到 6星中转 用量日志核对时间点;恢复后再继续排查新配置。
密钥和备份安全
ccs 省去了手写配置文件的麻烦,但 Provider 和备份里可能保存完整 API Key。服务器场景尤其要把文件权限、日志和 Git 边界说清楚。
| 对象 | 风险 | 建议 |
|---|---|---|
| Provider 配置 | 可能包含完整令牌。 | 配置目录只允许当前系统用户读取;多人机器上不要共用同一个系统账号。 |
| 导出的备份文件 | 复制、上传或提交后会泄露令牌。 | 备份后立即 chmod 600 ./ccs-backup.json,迁移完成后放到受控密钥库或删除临时文件。 |
| Shell 历史 | 如果把 Key 直接写进命令,历史记录会留下明文。 | 优先用交互式编辑或环境变量,不在命令行参数里粘贴完整令牌。 |
| Git 仓库 | 误提交备份文件后,删除 commit 也不等于密钥安全。 | 把 ccs-backup*.json、*.key、.env 加入项目忽略规则,并立即轮换泄露令牌。 |
| 工单和截图 | 状态输出、Provider 名称或路径可能带出环境信息。 | 分享前保留应用名、脱敏域名、状态码和时间点,隐藏完整令牌和本机路径。 |
七、典型运维场景
部署后切回生产 Provider
ccs --app codex use 6星中转-Codex-prod
ccs --app codex status
预期状态里当前启用项就是 6星中转-Codex-prod。之后重开目标 CLI 或重启依赖该配置的进程,再跑健康检查。
新服务器初始化
# 老机器
ccs config export ./ccs-backup.json
# 新机器
ccs config import ./ccs-backup.json
ccs status
令牌轮换
ccs --app claude list
ccs --app claude edit
ccs --app claude status
替换 Key 后,用目标 CLI 做一次短请求,并到 6星中转 用量日志核对时间点。
八、脚本模板
把 ccs 写进脚本时,重点不是“切换命令能跑”,而是切换前后都有状态记录,失败时能立刻停住。
#!/usr/bin/env bash
set -euo pipefail
APP="codex"
PROVIDER="6星中转-Codex-prod"
echo "[before]"
ccs --app "$APP" status
echo "[switch]"
ccs --app "$APP" use "$PROVIDER"
echo "[after]"
ccs --app "$APP" status
echo "请重启目标 CLI 或相关进程后,再发起一次短请求验证。"
九、完成标准
| 检查项 | 应该看到什么 | 不满足时回到哪里 |
|---|---|---|
| 命令可用 | ccs --version 能输出版本。 |
安装 |
| 应用范围明确 | 脚本和手动命令都带 --app。 |
按应用单独操作 |
| 切换可回证 | 切换前后都有 ccs status 输出。 |
常用命令 |
| 真实链路可用 | 重启目标 CLI 后,短请求成功,6星中转 用量日志能对上。 | 运维场景 |
十、常见误区
| 现象 | 原因 | 处理 |
|---|---|---|
command not found: ccs |
可执行文件不在 PATH,或新终端没刷新。 | 检查安装路径和执行权限,重新打开终端。 |
ccs status 正确,但 CLI 仍走旧后端 |
旧进程没有重启。 | 关闭所有目标 CLI 终端,重新打开。 |
| 401 / 403 | 令牌错误或分组不匹配。 | 重建对应模型分组可用令牌,再用 ccs edit 替换。 |
| 导入备份失败 | ccs 大版本或备份格式差异。 | 升级到最新版本后重试,或手工逐条迁移。 |
| 多应用切错 | 没有加 --app,默认上下文不是你以为的应用。 |
脚本里固定写 --app claude、--app codex 或 --app gemini。 |
十一、写进脚本时的建议
- 切换前后各跑一次
ccs status,日志里留下证据。 - 大改前先
ccs config backup。 - 切换完成后,用目标 CLI 跑一个最小请求,不要只看状态。
- 多应用机器一律带
--app。 - 生产机器及时清理不用的旧 Provider,避免误切。
脚本或服务器切换失败时,提交这些定位信息
ccs 常用于服务器、脚本和多应用机器。排障时要证明命令执行过、切换的是哪个应用、备份在哪里,以及目标 CLI 是否真的走到 6星中转。
| 信息 | 建议内容 | 不要提供什么 |
|---|---|---|
| 命令和应用范围 | 执行的 ccs 命令、是否带 --app、目标应用是 Claude、Codex 还是 Gemini。 |
不要只说“脚本跑了”。 |
| 切换前后状态 | ccs status 的脱敏摘要、Provider 名称、切换时间。 |
不要提交完整令牌或完整配置文件。 |
| 备份和回滚 | 是否执行过 ccs config backup,最近可用 Provider 是哪一个。 |
不要删除备份后再排查。 |
| 真实验证 | 目标 CLI 短问答是否成功,6星中转 用量日志是否出现对应记录。 | 不要只看脚本退出码。 |