npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

claude-config-switch

v1.8.2

Published

Claude配置切换工具及其他工具

Readme

Claude配置切换工具 (CCS)

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

ClaudeCode API 站点推荐

https://duckcoding.com/register?aff=J2wX稳定,有纯血max账号和特价2api

https://free.duckcoding.com/register?aff=AIYJ公益的2api

https://anyrouter.top/register?aff=XkkW

安装

npm包安装

已发布到https://www.npmjs.com/package/claude-config-switch

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监听Notification和Stop事件

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

通知配置已保存到: /Users/username/.claude/notify.json
✓ Hook脚本已创建: /Users/username/.claude/scripts/wechat-notify.js
✓ ClaudeCode 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配置切换功能