Skip to content
/ cctx Public

cctx是一个命令行工具,用于管理多个Claude中转站配置,让你能够轻松地在不同的API端点之间切换。

Notifications You must be signed in to change notification settings

mfzzf/cctx

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CCTX - Claude中转站配置管理工具

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

go install github.com/mfzzf/cctx@latest

使用方法

列出所有配置

cctx

输出示例:

配置列表:
─────────
● 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 myconfig

强制删除(不需要确认)

cctx config delete myconfig -f

配置文件位置

  • cctx配置文件: ~/.cctx/configs.json - 存储所有的中转站配置
  • Claude设置文件: ~/.claude/settings.json - Claude的实际配置文件
  • 备份文件: ~/.claude/settings.json.backup - 每次切换配置时自动创建

配置文件结构

~/.cctx/configs.json

{
  "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"
}

~/.claude/settings.json

切换配置后,相关字段会被更新:

{
  "env": {
    "ANTHROPIC_AUTH_TOKEN": "sk-xxx",
    "ANTHROPIC_BASE_URL": "https://api.example.com",
    "CLAUDE_CODE_MAX_OUTPUT_TOKENS": "32000"
  },
  "model": "claude-3-opus"
}

安全说明

  1. API Token安全

    • 配置文件权限设置为600(仅用户可读写)
    • 列表显示时自动脱敏,只显示前后4个字符
    • 支持交互式输入,避免在命令历史中暴露Token
  2. 备份机制

    • 每次切换配置前自动备份原始settings.json
    • 备份文件名为settings.json.backup
  3. 权限保护

    • ~/.cctx/configs.json 权限为600
    • 建议不要在公共环境中使用

常见问题

Q: 如何查看当前使用的是哪个配置?

A: 运行 cctx 命令,当前使用的配置前会有 标记。

Q: 如何恢复原始配置?

A: Claude会自动创建备份文件 ~/.claude/settings.json.backup,你可以手动恢复:

cp ~/.claude/settings.json.backup ~/.claude/settings.json

Q: 可以同时修改其他Claude设置吗?

A: cctx只会修改API相关的配置字段,其他设置(如permissions、statusLine等)会被保留。

Q: 支持哪些Model?

A: cctx不限制model的值,你可以使用任何Claude支持的模型名称,如:

  • claude-4-opus
  • claude-4-sonnet
  • 等等

贡献

欢迎提交Issue和Pull Request!

许可证

MIT License

作者

@mfzzf

About

cctx是一个命令行工具,用于管理多个Claude中转站配置,让你能够轻松地在不同的API端点之间切换。

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages