Claude Code API 配置切换工具

1,572 阅读9分钟

Claude Code API 配置切换工具 (CCS)

一个用于在不同的Claude API配置之间进行切换的命令行工具。 基于Node实现,代码仓库地址

ClaudeCode API 站点推荐

截屏2025-07-28 10.06.06.png

截屏2025-07-28 10.06.26.png

Claude配置切换工具 (CCS)

一个用于在不同的Claude API配置之间进行切换的命令行工具。

ClaudeCode API 站点推荐

duckcoding.com/register?af…稳定,有纯血max账号和特价2api

free.duckcoding.com/register?af…公益的2api

runanytime.hxi.me/register?af…

anyrouter.top/register?af…

安装

npm包安装

已发布到www.npmjs.com/package/cla…

npm i claude-config-switch

本地安装

# 克隆仓库
git clone <仓库地址>
cd claude-code-switch

# 安装依赖
npm install

# 全局安装
npm install -g .

依赖项

  • Node.js (>= 12.0.0)
  • npm (>= 6.0.0)
  • 依赖库:
    • commander: 命令行界面解析
    • chalk: 终端彩色输出
    • inquirer: 交互式命令行用户界面

使用方法

配置文件

工具需要三个配置文件,都位于 ~/.claude/ 目录下:

1. apiConfigs.json - API配置列表

存储所有可用的Claude API配置,格式如下:

[
  {
    "name": "wenwen-ai",
    "config": {
      "env": {
        "ANTHROPIC_AUTH_TOKEN": "sk-XXXXXXX",
        "ANTHROPIC_BASE_URL": "https://code.wenwen-ai.com",
        "CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": "1"
      },
      "permissions": {
        "allow": [],
        "deny": []
      },
      "model": "claude-sonnet-4-20250514"
    }
  },
  {
    "name": "zone",
    "config": {
      "env": {
        "ANTHROPIC_AUTH_TOKEN": "sk-XXXXXXX",
        "ANTHROPIC_BASE_URL": "https://zone.veloera.org/pg",
        "CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": "1"
      },
      "permissions": {
        "allow": [],
        "deny": []
      },
      "model": "claude-sonnet-4-20250514"
    }
  }
]
2. settings.json - 当前激活配置

存储当前使用的配置,格式如下:

{
  "env": {
    "ANTHROPIC_BASE_URL": "https://zone.veloera.org/pg",
    "ANTHROPIC_AUTH_TOKEN": "sk-XXXXXXX",
    "CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": "1"
  },
  "permissions": {
    "allow": [],
    "deny": []
  },
  "model": "claude-sonnet-4-20250514"
}

注意:切换配置时,整个 settings.json 文件会被选中配置的 config 对象完全替换。

命令

列出所有可用的API配置并提示选择
ccs list
# 或使用简写
ccs ls

输出示例:

? 请选择要切换的配置: (Use arrow keys)
> 1. [wenwen-ai   ]  sk-XXXXXXX  https://code.wenwen-ai.com (当前)
  2. [zone        ]  sk-XXXXXXX  https://zone.veloera.org/pg
  3. [co.yes.vg   ]  sk-XXXXXXX  https://co.yes.vg/api
  4. [a-generic   ]  sk-XXXXXXX  https://a-generic.be-a.dev/api
  ──────────────
  输入序号...

? 请选择要切换的配置: 2. [zone        ]  sk-XXXXXXX  https://zone.veloera.org/pg

当前选择的配置:
{
  "name": "zone",
  "config": {
    "env": {
      "ANTHROPIC_AUTH_TOKEN": "sk-xxxx",
      "ANTHROPIC_BASE_URL": "https://zone.veloera.org/pg",
      "CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": "1"
    },
    "permissions": {
      "allow": [],
      "deny": []
    },
    "model": "claude-sonnet-4-20250514"
  }
}

? 确认切换到此配置? Yes

成功切换到配置: zone

交互方式:

  1. 光标选择: 使用键盘上下箭头选择配置,按Enter确认
  2. 手动输入: 选择"输入序号..."选项,然后输入配置的序号
直接设置当前使用的API配置(已移除)

注意:ccs use <序号> 命令已在 1.8.0 版本中移除,请使用 ccs ls 命令进行交互式选择。

打开配置文件
# 直接运行,显示交互式选择菜单
ccs o

# 打开API配置文件 (apiConfigs.json)
ccs o api

# 打开设置配置文件 (settings.json)
ccs o setting

运行 ccs o 会显示交互式选择菜单:

? 请选择要打开的配置文件:
❯ 1. settings.json    - 当前激活的配置 (~/.claude/settings.json)
  2. apiConfigs.json  - 所有API配置列表 (~/.claude/apiConfigs.json)

这些命令会在默认编辑器中打开相应的配置文件,方便直接编辑配置。如果文件不存在,会自动创建包含示例内容的配置文件。

自动创建的示例内容

  • API配置文件 (apiConfigs.json):包含一个示例配置,使用最新的Claude Sonnet 4模型
  • 设置配置文件 (settings.json):包含基本的环境变量和权限设置

只需将示例中的 sk-YOUR_API_KEY_HERE 替换为实际的API密钥即可使用。

健康检查功能

使用 health 命令可以检查所有配置的API端点的可用性和网络延迟:

ccs health

功能特性

  • 智能端点检测:自动尝试多种常见的API端点格式
  • 去重优化:相同的 ANTHROPIC_BASE_URL 只检测一次
  • 实时反馈:逐行显示检测进度和结果
  • 多端点支持:支持以下端点格式:
    • /v1/models - Claude Models API (默认)
    • /v1/chat/completions - OpenAI 兼容 API
    • /v1/models (无 anthropic-version 头)
    • / - 根路径
    • /health - 健康检查端点
    • /api/v1/models - 备用API路径

输出示例

开始健康检查 (/v1/models)...

| Name                 | Base URL                           | Token        | Status                   | Latency |
|----------------------|------------------------------------|--------------|--------------------------|---------|
| instcopilot-config   | https://sg.instcopilot-api.com    | sk-JCzb7**** | Healthy (status: 200)    | 414ms   |
| co.yes.vg-config     | https://co.yes.vg                  | cr_2dc6**** | Healthy (status: 200)    | 892ms   |Found working endpoint: /v1/chat/completions (OpenAI Compatible API)
| anthropic-official   | https://api.anthropic.com         | sk-ant-**** | Unhealthy (status: 401)  | 1205ms  |
  Error: Unauthorized

状态说明

  • 绿色 Healthy (2xx):端点正常工作
  • 红色 Unhealthy (4xx/5xx):端点有问题或鉴权失败
  • 黄色 Unhealthy:网络错误或超时

Token 显示格式:前7位 + **** (如:sk-JCzb7****)

当检测到非默认端点可用时,会显示实际工作的端点信息,帮助用户了解服务的实际API格式。

快速启动 Claude (opus 模型)
ccs opus

在当前目录启动 Claude Code,并自动使用 opus 模型:

正在启动 Claude (opus 模型)...

等同于执行 claude --model opus

企微通知配置

直接运行 ccs notifyccs ntf 会显示交互式选择菜单:

? 请选择操作: (Use arrow keys)
❯ 1. setup   - 设置企微通知
  2. status  - 查看通知状态
  3. test    - 测试通知功能
设置企微通知
ccs notify setup
# 或使用简写
ccs ntf setup

配置企微机器人通知功能:

  1. 在企微群聊中添加机器人
  2. 获取机器人的Webhook地址
  3. 输入Webhook地址完成配置
  4. 自动配置ClaudeCode Hooks

notify.json - 通知配置

存储企微机器人等通知渠道的配置,格式如下:

{
  "wechatWork": {
    "webhookUrl": "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=YOUR_KEY",
    "enabled": true
  },
  "telegram": {
    "enabled": false
  },
  "slack": {
    "enabled": false
  }
}

说明

  • wechatWork.webhookUrl: 企微群机器人的Webhook地址
  • wechatWork.enabled: 是否启用企微通知
  • 其他通知渠道为预留配置,暂未实现

输出示例:

设置企微机器人通知配置:
请在企微群聊中添加机器人,获取Webhook地址
格式: https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=YOUR_KEY
配置完成后,将自动通过ClaudeCode Hooks监听NotificationStop事件

请输入企微机器人Webhook地址: https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=xxx

通知配置已保存到: /Users/username/.claude/notify.jsonHook脚本已创建: /Users/username/.claude/scripts/wechat-notify.jsClaudeCode Hooks配置已更新

配置完成!现在ClaudeCode将在以下事件时发送企微通知:
  - Notification事件: 当Claude需要用户关注时
  - Stop事件: 当Claude任务完成时
查看通知状态
ccs notify status

显示当前通知配置状态,包括:

  • 企微机器人启用状态
  • Hook事件配置状态
  • ClaudeCode hooks配置状态

输出示例:

当前通知配置状态:
企微机器人: 已启用
Webhook地址: https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=***
Hook事件: 已启用
  Notification事件: 启用
  Stop事件: 启用
ClaudeCode hooks配置: 已配置
测试通知功能
ccs notify test

发送测试通知到配置的企微群:

输出示例:

正在发送测试通知...
✓ 企微通知发送成功
显示版本信息
ccs --version
# 或
ccs -v

输出示例:

ccs 版本: 1.8.0
显示帮助信息
ccs --help

输出示例:

Usage: ccs [options] [command]

Claude配置切换工具

Options:
  -v, --version      显示版本信息
  -h, --help         display help for command

Commands:
  list, ls           列出所有可用的API配置并提示选择
  o                  打开Claude配置文件
    api              打开API配置文件 (apiConfigs.json)
    setting          打开设置配置文件 (settings.json)
  notify, ntf        配置企微通知设置
    setup            设置企微机器人webhook地址
    status           查看当前通知配置状态
    test             测试企微通知功能
  health             检查各API端点的可用性与网络延迟
  opus               在当前目录启动 Claude (opus 模型)
  help [command]     display help for command
错误处理

当输入不存在的命令时,会显示错误信息和可用命令列表:

ccs unknown

输出示例:

错误: 未知命令 'unknown'

可用命令:
  list
  ls
  o
  notify
  ntf
  health
  opus

使用 --help 查看更多信息

注意事项

  • 确保 ~/.claude/apiConfigs.json~/.claude/settings.json 文件存在并包含有效的配置信息
  • 工具会自动创建 ~/.claude 目录(如果不存在)
  • 确认操作时默认为"是",直接按Enter键即可确认
  • 切换配置时会完全替换 settings.json 文件内容
  • 使用 ntf 命令需要先在企微群中添加机器人并获取Webhook地址
  • notify.json 文件首次使用时会自动创建

更新日志

1.8.0 功能优化

  • 新增 ccs opus 命令: 在当前目录快速启动 Claude (opus 模型)
  • 优化 ccs o 命令: 直接运行显示交互式选择菜单,可选择打开 settings.json 或 apiConfigs.json
  • 优化 ccs notify/ntf 命令: 直接运行显示交互式选择菜单,可选择 setup/status/test
  • 智能进程重启: ccs ls 切换配置后,自动检测运行中的 Claude 进程并询问是否重启
  • 自动使用 opus 模型: 切换配置后启动 Claude 时自动使用 --model opus 参数
  • 移除 ccs use 命令: 统一使用 ccs ls 进行交互式配置选择

1.7.0 健康检查

ccs health

1.6.0 通知功能

  • 新增企微通知功能: 支持通过企微机器人接收Claude Code通知
  • 智能Hook集成: 自动配置ClaudeCode Hooks,无需手动监听
  • 事件通知支持:
    • Notification事件: 当Claude需要用户关注时自动通知
    • Stop事件: 当Claude任务完成时自动通知
  • 完整通知管理:
    • ccs notify setup - 配置企微机器人
    • ccs notify status - 查看通知配置状态
    • ccs notify test - 测试通知功能
  • 自动化配置: 自动创建Hook脚本和更新Claude设置文件
  • 配置文件支持: 新增 notify.json配置文件管理通知设置

1.5.0

  • 新增配置切换成功后的详细信息显示(名称、API Key、Base URL、Model)
  • 新增自动询问是否启动 Claude CLI 功能:切换配置成功后会询问是否在当前目录运行 claude 命令
  • 改进用户体验:一站式完成配置切换和 Claude 启动流程

1.4.0

  • 优化配置文件打开功能:文件不存在时自动创建包含示例内容的配置文件
  • 更新默认模型为 claude-sonnet-4-20250514(Claude Sonnet 4)
  • 改进用户体验:新用户可以立即开始使用工具,无需手动创建配置文件

1.3.0

  • 新增 ccs ls 命令作为 ccs list 的简写
  • 新增 ccs o api 命令用于打开API配置文件 (apiConfigs.json)
  • 新增 ccs o setting 命令用于打开设置配置文件 (settings.json)
  • 改进配置文件编辑体验,可以直接在默认编辑器中修改配置

1.2.0

  • 支持完整的Claude配置对象格式
  • 新增配置深度比较功能,准确识别当前激活配置
  • 优化配置显示格式,对齐显示配置名称
  • 更新配置文件结构,支持env、permissions、model等完整配置项

1.1.0

  • 添加交互式菜单,支持光标上下移动选择
  • 保留原有的序号输入功能
  • 优化用户体验,确认操作时默认为"是"

1.0.0

  • 初始版本发布
  • 基本的API配置切换功能