cctx 是一个命令行工具,用于管理多个Claude中转站配置,让你能够轻松地在不同的API端点之间切换。
- 🔄 多配置管理 - 支持添加、删除和切换多个中转站配置
- 🔐 安全存储 - API Token等敏感信息安全存储,列表显示时自动脱敏
- 🎯 快速切换 - 一条命令即可切换到不同的中转站
- 💾 自动备份 - 切换配置时自动备份原始settings.json文件
- 🖥️ 交互式输入 - 支持交互式输入配置信息,API Token输入时隐藏显示
# 克隆仓库
git clone https://github.com/mfzzf/cctx.git
cd cctx
# 构建
go build -o cctx
# 安装到系统路径(可选)
sudo mv cctx /usr/local/bin/
# 或者添加到用户路径
mv cctx ~/bin/go install github.com/mfzzf/cctx@latestcctx输出示例:
配置列表:
─────────
● default Token: sk-X...YHuz URL: https://api.example.com Model: claude-3-opus
○ backup Token: sk-a...b123 URL: https://backup.api.com
cctx config add myconfig系统会提示你输入:
- API Token(输入时隐藏)
- Base URL
- Max Tokens(可选)
- Model(可选)
cctx config add myconfig --apikey "sk-xxx" --base-url "https://api.example.com" --max-tokens "32000" --model "claude-3-opus"cctx myconfig切换成功后会显示:
✓ 已切换到配置: myconfig
配置名称: myconfig
API Token: sk-X...YHuz
Base URL: https://api.example.com
Max Tokens: 32000
Model: claude-3-opus
创建时间: 2024-08-26 13:45:00
更新时间: 2024-08-26 13:45:00
✓ 当前使用中
cctx config delete myconfigcctx config delete myconfig -f- cctx配置文件:
~/.cctx/configs.json- 存储所有的中转站配置 - Claude设置文件:
~/.claude/settings.json- Claude的实际配置文件 - 备份文件:
~/.claude/settings.json.backup- 每次切换配置时自动创建
{
"configs": [
{
"name": "default",
"anthropic_auth_token": "sk-xxx",
"anthropic_base_url": "https://api.example.com",
"claude_code_max_output_tokens": "32000",
"model": "claude-3-opus",
"created_at": "2024-08-26T13:45:00Z",
"updated_at": "2024-08-26T13:45:00Z"
}
],
"current_config": "default",
"updated_at": "2024-08-26T13:45:00Z"
}切换配置后,相关字段会被更新:
{
"env": {
"ANTHROPIC_AUTH_TOKEN": "sk-xxx",
"ANTHROPIC_BASE_URL": "https://api.example.com",
"CLAUDE_CODE_MAX_OUTPUT_TOKENS": "32000"
},
"model": "claude-3-opus"
}-
API Token安全
- 配置文件权限设置为600(仅用户可读写)
- 列表显示时自动脱敏,只显示前后4个字符
- 支持交互式输入,避免在命令历史中暴露Token
-
备份机制
- 每次切换配置前自动备份原始settings.json
- 备份文件名为settings.json.backup
-
权限保护
- ~/.cctx/configs.json 权限为600
- 建议不要在公共环境中使用
A: 运行 cctx 命令,当前使用的配置前会有 ● 标记。
A: Claude会自动创建备份文件 ~/.claude/settings.json.backup,你可以手动恢复:
cp ~/.claude/settings.json.backup ~/.claude/settings.jsonA: cctx只会修改API相关的配置字段,其他设置(如permissions、statusLine等)会被保留。
A: cctx不限制model的值,你可以使用任何Claude支持的模型名称,如:
- claude-4-opus
- claude-4-sonnet
- 等等
欢迎提交Issue和Pull Request!
MIT License