Skip to content

ccapi - A management tool for quickly switching Claude Code and Codex configurations | 一个Claude Code 和 Codex 配置管理工具,一键切换多个中转站API配置;一键切换系统环境变量;一键测试API延迟;一键测试API有效性;自动择优线路切换与国际化支持。

Notifications You must be signed in to change notification settings

4xian/claude-codex-api

Repository files navigation

@4xian/ccapi

English | 中文 | Codex文档

一个Claude 和 Codex 配置管理工具,一键切换多个中转站API配置; 一键切换系统环境变量,一键测试API延迟,一键测试API有效性,自动择优线路切换与国际化支持。 当前文档为Claude Code配置介绍,Codex文档请点击右上角↗️查看

功能特性

  • 🚀 一键切换 - 轻松在不同 Claude / Codex API 配置间切换
  • 🌐 环境变量管理 - 一键设置API配置到系统环境变量
  • 延迟测试 - 快速同时测试所有中转站延迟以及API配置的可用性
  • 🎯 自动优选 - 自动测试并切换到延迟最低的最优配置
  • 📄 多格式支持 - 支持 JSON、JSON5、YAML、TOML 配置文件
  • 🌍 国际化支持 - 支持中文和英文界面语言切换

安装

全局安装(推荐)

# 安装 npm install -g @4xian/ccapi # 卸载 npm uninstall -g @4xian/ccapi

使用方法

1. 查看版本

ccapi -v

2. 设置配置文件路径

初次使用需要设置Claude Code的settings.json 文件路径和自定义API配置文件路径:

# windows 默认settings.json路径在 C:\Users\Administrator\.claude\settings.json # mac 默认settings.json路径在 ~/.claude/settings.json # 若无settings.json文件可自己创建一个 # 三种方式设置路径(例如): 1. mac同时设置两个路径 ccapi set --settings ~/.claude/settings.json --api /Users/4xian/Desktop/api.json5 2.分别设置 ccapi set --settings ~/.claude/settings.json ccapi set --api /Users/4xian/Desktop/api.json5 3.直接在配置文件中修改路径 # (若无 .ccapi-config.json 文件可自己创建一个)~/.ccapi-config.json 文件中(与.claude同级),有存储路径的变量,直接修改即可 { "settingsPath": "~/.claude/settings.json", "apiConfigPath": "/Users/4xian/Desktop/api.json5", } # 查询当前设置的配置文件路径 ccapi set

3. 重要:自定义API配置文件格式(注意格式要配置正确)

支持多种配置文件格式:JSON、JSON5、YAML、TOML 创建一个配置文件(如 api.jsonapi.yamlapi.json5api.toml),格式如下:

JSON5 格式示例:

{ "openrouter": { "url": "https://api.openrouter.ai", "token": "your-auth-token", "model": "claude-sonnet-4-20250514", "fast": "claude-3-5-haiku-20241022", "timeout": 600000, "tokens": 65000 }, // 推荐使用数组形式,可进行多个配置 "multiconfig": { "url": [ "https://api.example1.com", "https://api.example2.com" ], "token": [ "token1-for-auth", "token2-for-auth" ], "model": [ "claude-sonnet-4-5-20250929", "claude-sonnet-4-20250514" ] } }

YAML 格式示例:

openrouter: url: "https://api.openrouter.ai" token: "your-auth-token" model: "claude-sonnet-4-20250514" fast: "claude-3-5-haiku-20241022" timeout: 600000 tokens: 65000 multiconfig: url: - "https://api.example1.com" - "https://api.example2.com" token: - "token1-for-auth" - "token2-for-auth" model: - "claude-sonnet-4-5-20250929" - "claude-sonnet-4-20250514"

字段说明: 【不同厂商提供的可能是key, 也可能是token, 若不能使用可将key和token互换一下】 【本工具只提供快速切换环境变量的功能,因此只支持Anthropic格式的配置, 只要Claude Code能用就都可以】

  • url: API厂商服务器地址(必需)
    • 字符串格式: 直接指定一个URL
    • 数组格式: 可指定多个URL,支持通过索引切换
  • key: API_KEY(key 和 token 同时只需要一个)
    • 字符串格式: 直接指定一个API Key
    • 数组格式: 可指定多个API Key,支持通过索引切换
  • token: AUTH_TOKEN(key 和 token 同时只需要一个)
    • 字符串格式: 直接指定一个Auth Token
    • 数组格式: 可指定多个Auth Token,支持通过索引切换
  • model: 模型名称(非必需,默认claude-sonnet-4-20250514)
    • 字符串格式: 直接指定一个模型
    • 数组格式: 可指定多个模型,支持通过索引切换
  • fast: 快速模型名称(非必需,默认claude-3-5-haiku-20241022)
    • 字符串格式: 直接指定一个快速模型
    • 数组格式: 可指定多个快速模型,支持通过索引切换
  • timeout: 请求超时时间(非必需,默认为官方600000ms)
  • tokens: 最大输出令牌数(非必需,默认以官方为准)
  • http: 为网络连接指定 HTTP 代理服务器
  • https: 为网络连接指定 HTTPS 代理服务器

4. 列举api配置文件中的可用配置

ccapi ls 或者 ccapi list

显示说明:

  • *号的配置表示当前正在使用
  • 对于数组格式的 url/key/token/model/fast,会显示索引编号

5. 自由切换配置 (切换后重启Claude Code终端才会生效!!!)

基本切换

# 切换到指定配置(使用默认模型,配置若为数组,则默认使用第一个) ccapi use openrouter # 对于字符串格式的 model/fast,直接切换 ccapi use anyrouter

高级切换(适用于数组格式)

# 切换到 multiconfig 配置,并使用第一个url,第一个token,第2个模型,第1个快速模型 ccapi use multiconfig -u 1 -t 1 -m 2 -f 1 # 只切换某些字段的索引 ccapi use multiconfig -k 1 # 只切换到某个Key ccapi use multiconfig -t 2 # 只切换到某个Token ccapi use multiconfig -u 1 # 只切换到某个URL ccapi use multiconfig -m 3 # 只切换到某个Model ccapi use multiconfig -f 2 # 只切换到某个Fast Model索引

完全清除配置

# 同时清除 settings.json 和系统环境变量中的所有当前配置 ccapi clear

参数说明:

  • -u <index>: 指定要使用的URL索引(从1开始计数)
  • -k <index>: 指定要使用的Key索引(从1开始计数)
  • -t <index>: 指定要使用的Token索引(从1开始计数)
  • -m <index>: 指定要使用的模型索引(从1开始计数)
  • -f <index>: 指定要使用的快速模型索引(从1开始计数)
  • 对于字符串格式的配置,会自动忽略索引参数
  • 不指定索引时默认使用数组的第一个元素
  • 可以任意组合使用这些参数
  • 该命令同时会修改系统环境变量,即settings.json和系统变量同时修改,若不想修改系统环境变量可在 ~/.ccapi-config.json 文件中(与.claude同级),增加字段 useNoEnv: false 即可
 { "settingsPath": "~/.claude/settings.json", "apiConfigPath": "/Users/4xian/Desktop/api.json5", "useNoEnv": false }

6. 系统环境变量管理

环境变量功能允许你将配置设置到系统环境变量中

查看当前环境变量状态

# 显示当前系统中已设置的 Claude Code 相关环境变量 ccapi env

显示示例:

当前系统环境变量: openrouter CCAPI_CURRENT_CONFIG: openrouter ANTHROPIC_BASE_URL: https://api.openrouter.ai ANTHROPIC_AUTH_TOKEN: your-auth-token... ANTHROPIC_MODEL: claude-sonnet-4-20250514 ANTHROPIC_SMALL_FAST_MODEL: claude-3-5-haiku-20241022 

设置配置到环境变量

# 基本设置 ccapi env openrouter # 指定数组索引(适用于数组配置) ccapi env multiconfig -u 1 -k 2 -t 1 -m 2 -f 1

参数说明:

  • -u <index>: 指定要使用的URL索引(从1开始计数)
  • -k <index>: 指定要使用的Key索引(从1开始计数)
  • -t <index>: 指定要使用的Token索引(从1开始计数)
  • -m <index>: 指定要使用的模型索引(从1开始计数)
  • -f <index>: 指定要使用的快速模型索引(从1开始计数)

清除环境变量

# 清除当前配置相关的所有系统环境变量 ccapi env clear

完全清理

# 同时清除 settings.json 和系统环境变量中的所有当前配置 ccapi clear

7. 网络延迟测试 (Ping)

快速测试配置中所有中转站 URL 的网络延迟(仅测试网络连通性,不验证 API 可用性)。

# 测试所有配置 ccapi ping # 测试指定配置 ccapi ping openrouter

8. 测试API可用性

测试中转站API配置在Claude Code中是否可用,可以真实的反映出配置是否有效

# 测试所有配置 ccapi test # 测试指定配置 ccapi test openrouter # 使用 Claude Code CLI 方式测试(更准确,但速度较慢) ccapi test -c ccapi test -c openrouter

测试方式说明:

  • 默认方式:使用接口模拟方式,直接模拟Claude CLI请求,速度快,准确性可达100%
  • CLI方式-c 选项):使用真实的Claude Code CLI环境,准确度最高,可能会出现调用各种mcp服务情况,速度较慢(1分钟左右)

配置说明:

  • ping测试超时时间:默认为5秒,可在 ~/.ccapi-config.json 文件中新增变量控制超时,如:pingTimeout: 5000

  • test测试超时时间:默认为30秒(接口模拟方式)或 100秒(CLI方式),可在 ~/.ccapi-config.json 文件中新增变量控制超时,如:testTimeout: 30000

  • 测试返回的结果:默认显示,由于厂商不同,返回结果仅供参考,可在 ~/.ccapi-config.json 文件中新增变量是否显示结果,如:testResponse: true

  • test cli模式测试并发:默认为3,cli模式测试由于消耗性能较高,采用分批测试,若测试结果全部都超时,建议数值小点,超时时间拉长

    { "settingsPath": "~/.claude/settings.json", "apiConfigPath": "/Users/4xian/Desktop/api.json5", "pingTimeout": 5000, "testTimeout": 30000, "testResponse": true, "testConcurrency": 3 }
  • 对于数组格式的URL,会测试所有URL地址,数组配置的URL内部不会按延迟排序,保持原有的URL顺序

  • 配置按最佳延迟排序,延迟最低的配置排在前面

  • 显示每个配置的最优路线(最快的URL地址)

测试结果示例:

测试结果(按延迟从低到高): 【xxx】(最优路线: xxx/claude) 1.[https://xxx/claude] ● 628ms 【multiconfig】(最优路线: api.example1.com) 1.[https://api.example1.com] ● 856ms 2.[https://api.example2.com] ● 892ms 

9. 自动选择最优配置

首先进行延迟测试,然后选择最优的进行切换配置,测试基准可按上诉两种方式选择其一为准

基本自动选择

# 会先进行所有配置测试,然后选择最优的配置进行自动切换,默认以test命令测试的结果为基准切换 ccapi auto # 以ping结果为准进行切换 ccapi auto -p # 以test结果为准进行切换(默认) ccapi auto -t # 只测试单个配置,从中选择最优切换(适用于单个配置中多URL的情况) ccapi auto multiconfig -t

多命令配合执行

# 常用于组合命令,这样每次启动claude前都会选择最优路线 ccapi auto && claude # 也可以自定义别名,每次使用别名启动 alias cc=ccapi auto && claude cc

功能说明:

  • 注意事项
    • 对于数组格式的配置,自动选择最优URL
    • test测试中,若KEY/TOKEN为数组,则会对齐最优URL索引进行搭配,比如:最优URL为索引1,KEY/TOKEN也会选择索引1,最优URL为2,KEY/TOKEN也会选择索引2,若不想自动切换KEY/TOKEN,将其始终配为一个即可
  • 趣味搭配
    • 由于自动配置的对齐规则,可以在一个配置中进行多厂商配置,比如:

       { "aaa": { "url": [ "https: 第一个厂商.com", "https: 第二个厂商.com", "https: 第三个厂商.com", ], "token": [ "第一个厂商的token", "第二个厂商的token", "第三个厂商的token", ], "model": ["xxx"] }, "bbb": { "url": [ "https: 第一个厂商.com", "https: 第二个厂商.com", "https: 第三个厂商.com", ], "key": [ "第一个厂商的key", "第二个厂商的key", "第三个厂商的key", ], "model": ["xxx"] }, }
      • 这样自动选择第一个厂商的同时会自动选择第一个厂商的token,选择第二个厂商的同时会自动选择第二个厂商的token...
      • 注意token类的厂商放一起,key类的厂商放一起

10. 更新检查

程序自带版本检查,若npm发布新版则在使用过程中会进行更新提示,若不想要提示可在 ~/.ccapi-config.json 文件中新增变量 update: false关闭

# 自动更新 ccapi 到最新版本 ccapi update

11. 语言设置 (国际化)

程序支持中英文双语界面,可以根据需要切换显示语言,默认中文:

# 查看当前语言设置 ccapi lang # 切换为中文 ccapi lang zh # 切换为英文 ccapi lang en # 也可直接在配置文件修改 ~/.ccapi-config.json { "language": "zh" }

12. 完整的ccapi-config.json配置

该文件是ccapi使用的配置文件,可在此进行选项配置,具体文件在 ~/.ccapi-config.json。

{ # settings.json文件路径 "settingsPath": "~/.claude/settings.json", # api配置文件路径 "apiConfigPath": "/Users/4xian/Desktop/api.json5", # codex配置文件路径(可选) "codexConfigPath": "~/.codex/config.toml", # ping命令超时时间 "pingTimeout": 30000, # test命令超时时间 "testTimeout": 100000, # ping、test命令返回结果显示 "testResponse": true, # 是否需要更新提示 "update": true, # 使用use命令时是否同步修改系统环境变量 "useNoEnv": true, # 界面语言设置 (zh: 中文, en: 英文) "language": "zh" }

其他

  • Node.js >= 18.0.0
  • 支持的操作系统: macOS, Linux, Windows

About

ccapi - A management tool for quickly switching Claude Code and Codex configurations | 一个Claude Code 和 Codex 配置管理工具,一键切换多个中转站API配置;一键切换系统环境变量;一键测试API延迟;一键测试API有效性;自动择优线路切换与国际化支持。

Topics

Resources

Stars

Watchers

Forks