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

ai-config-switcher

v2.0.2

Published

AI配置切换 V1.4 - 双重配置:同时设置环境变量 + VSCode settings.json,支持 Claude 和 GLM 双模型

Readme

AI Config Switcher V2.0.1

一个支持切换 ClaudeCode 等 AI 开发工具的跨平台配置管理脚本,可以轻松管理和切换多组 API 配置。

功能特性

  • 专注于 ClaudeCode AI 开发工具配置管理
  • 跨平台支持(Windows、Linux、MacOS)
  • 双重配置:同时设置环境变量 + VSCode settings.json
  • 支持 Claude 和 GLM 双模型配置
  • 支持模型特定配置(modelConfig)自动应用
  • 快速切换多个配置环境
  • 一键安装/更新 ClaudeCode
  • 配置导入/导出功能
  • 完整显示 Token(便于调试)
  • 简洁易用,配置管理直接编辑 JSON 文件

安装

# 全局安装(npm 公共仓库)
npm install -g ai-config-switcher

# 或者无需全局安装,直接运行
npx aics

# 本地开发调试(从源码)
npm install        # 安装依赖
npm run build      # 编译 TypeScript
npm link           # 创建全局链接

安装后可用命令:

aics             # 推荐入口
ai-config
ai-config-switcher

开发说明

本项目使用 TypeScript 开发,以下是开发相关的命令:

# 安装依赖
npm install

# 编译 TypeScript
npm run build

# 开发模式(使用 ts-node 直接运行)
npm run dev

# 启动程序(先编译再运行)
npm start

# 清理编译输出
npm run clean

项目结构

ai-config-switcher/
├── src/
│   └── ai-config-switcher.ts   # TypeScript 源代码
├── dist/                        # 编译输出目录
│   ├── ai-config-switcher.js   # 编译后的 JavaScript
│   └── ai-config-switcher.d.ts # TypeScript 类型声明
├── tsconfig.json               # TypeScript 配置
├── package.json                # 项目配置
└── ai-configs.json             # 配置文件

发布到 npm(维护者)

# 1) 确保代码已编译
npm run build

# 2) 登录 npm(或在 .npmrc 中写入 //registry.npmjs.org/:_authToken)
npm login

# 3) 更新版本号(避免重复发布)
npm version patch   # 或 minor/major

# 4) 打包自检
npm pack

# 5) 发布到 npm 公网
npm publish

# 6) 验证
npm view ai-config-switcher version

配置文件

配置文件 ai-configs.json 存储 ClaudeCode 的多组 API 配置。

重要: 配置管理采用直接编辑 JSON 文件的方式,简单高效。

{
  "ClaudeCode": [
    {
      "name": "88Code",
      "modelType": "Claude",
      "ANTHROPIC_BASE_URL": "https://www.88code.ai/api",
      "ANTHROPIC_AUTH_TOKEN": "sk-ant-xxxxx",
      "API_TIMEOUT_MS": "300000",
      "CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": "1"
    },
    {
      "name": "GLM",
      "modelType": "GLM",
      "modelConfig": {
        "env": {
          "ANTHROPIC_DEFAULT_HAIKU_MODEL": "glm-4.5-air",
          "ANTHROPIC_DEFAULT_SONNET_MODEL": "glm-4.7",
          "ANTHROPIC_DEFAULT_OPUS_MODEL": "glm-4.7"
        }
      },
      "ANTHROPIC_BASE_URL": "https://api.siliconflow.cn",
      "ANTHROPIC_AUTH_TOKEN": "sk-your-glm-token",
      "API_TIMEOUT_MS": "300000",
      "CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": "1"
    }
  ]
}

配置字段说明

  • name: 配置名称(用于识别)
  • modelType: 模型类型,可选值:ClaudeGLM
  • modelConfig: 模型特定配置(可选)
    • env: 环境变量映射,用于 GLM 模型指定模型名称
  • ANTHROPIC_BASE_URL: API 的基础 URL
  • ANTHROPIC_AUTH_TOKEN: API 的认证 Token
  • API_TIMEOUT_MS: API 请求超时时间(毫秒)
  • CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC: 禁用非必要网络流量(可选)

modelType 说明

  • Claude: 使用 Anthropic Claude 模型,VSCode settings.json 配置为基础环境变量
  • GLM: 使用智谱 AI GLM 模型,VSCode settings.json 配置包含模型映射和完整环境变量

settings.json 配置格式

Claude 模型

{
  "env": {
    "ANTHROPIC_AUTH_TOKEN": "从配置中读取",
    "ANTHROPIC_BASE_URL": "从配置中读取",
    "API_TIMEOUT_MS": "300000"
  }
}

GLM 模型

{
  "env": {
    "ANTHROPIC_DEFAULT_HAIKU_MODEL": "glm-4.5-air",
    "ANTHROPIC_DEFAULT_SONNET_MODEL": "glm-4.7",
    "ANTHROPIC_DEFAULT_OPUS_MODEL": "glm-4.7",
    "ANTHROPIC_AUTH_TOKEN": "从配置中读取",
    "ANTHROPIC_BASE_URL": "从配置中读取",
    "API_TIMEOUT_MS": "300000",
    "CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": "1"
  }
}

使用方法

启动程序

# 方式 1: 使用 npm 脚本(推荐)
npm start

# 方式 2: 开发模式(使用 ts-node)
npm run dev

# 方式 3: 直接运行编译后的文件
node dist/ai-config-switcher.js

# 方式 4: 全局安装或 npm link 后的 CLI
aics          # 推荐入口
# 其他兼容命令
ai-config
ai-config-switcher

菜单结构

主菜单(一级菜单)

╔════════════════════════════════════════╗
║   AI Config Switcher V2.0.1          ║
╚════════════════════════════════════════╝

=== 选择需要配置的工具 ===
[1] ClaudeCode
[2] CodeX

--- 其他 ---
[8] 关于
[9] 系统设置
[0] 退出

ClaudeCode 配置菜单(二级菜单)

=== ClaudeCode 配置菜单 ===

[1] 切换 ClaudeCode 配置
[2] 检查 ClaudeCode 环境变量
[3] 配置文件管理

--- 工具管理 ---
[4] 安装/更新 ClaudeCode
[5] 检查 ClaudeCode 版本

[9] 返回主菜单
[0] 退出

CodeX 配置菜单(二级菜单)

=== CodeX 配置菜单 ===

[1] 切换 CodeX 配置
[2] 检查 CodeX 环境变量
[3] 配置文件管理

[9] 返回主菜单
[0] 退出

系统设置菜单

╔════════════════════════════════════════╗
║   系统设置                             ║
╚════════════════════════════════════════╝

[1] 查看所有环境变量
[2] 配置文件管理
[3] 导出配置
[4] 导入配置
[5] 清除所有环境变量

[9] 返回上级菜单
[0] 退出

功能说明

主要功能

  • 切换配置: 同时设置环境变量和 VSCode settings.json
  • 检查环境变量: 查看当前系统环境变量状态
  • 配置文件管理: 查看配置文件路径和字段说明
  • 安装/更新 ClaudeCode: 自动安装或更新工具
  • 检查 ClaudeCode 版本: 查看已安装版本信息
  • 关于: 查看工具版本和作者信息
  • 系统设置: 全局配置管理(导入/导出配置)

配置管理

1. 切换配置

从已保存的配置中选择一组,系统会自动完成以下操作:

  1. 设置环境变量:设置 ANTHROPIC_BASE_URLANTHROPIC_AUTH_TOKEN 到系统环境变量
  2. 删除旧的配置文件:清除 ~/.claude/settings.json
  3. 写入新配置:根据 modelType 生成配置并写入 ~/.claude/settings.json
    • Claude 模型:写入基础环境变量(ANTHROPIC_AUTH_TOKEN、ANTHROPIC_BASE_URL、API_TIMEOUT_MS)
    • GLM 模型:写入完整配置(包含模型映射和所有环境变量)

环境变量

  • Windows: 使用 setx 命令设置,新打开的命令行窗口生效
  • Linux/MacOS: 写入 .bashrc.zshrc,需执行 source 或打开新终端

配置文件路径

  • Windows: C:\Users\你的用户名\.claude\settings.json
  • Linux/MacOS: ~/.claude/settings.json

生效方式

  • 环境变量: 用于 ClaudeCode CLI 工具,新终端窗口自动加载
  • settings.json: 用于 VSCode 插件,需重启 VSCode 或重新加载窗口(Ctrl+Shift+P → Reload Window)

2. 检查环境变量

查看当前系统中已设置的环境变量状态,显示完整的 Token 值便于调试。

3. 配置文件管理

显示配置文件路径和字段说明,提示用户直接编辑 JSON 文件来管理配置。

配置文件路径: ./ai-configs.json

配置字段说明

  • name: 配置名称
  • modelType: 模型类型 (Claude 或 GLM)
  • modelConfig: 模型特定配置 (可选)
    • env: GLM 模型的环境变量映射
  • ANTHROPIC_BASE_URL: API 基础 URL
  • ANTHROPIC_AUTH_TOKEN: API 认证 Token
  • API_TIMEOUT_MS: 请求超时时间(毫秒)

编辑示例

{
  "ClaudeCode": [
    {
      "name": "新配置名称",
      "modelType": "Claude",
      "ANTHROPIC_BASE_URL": "https://your-api-url.com",
      "ANTHROPIC_AUTH_TOKEN": "your-token",
      "API_TIMEOUT_MS": "300000"
    },
    {
      "name": "GLM配置",
      "modelType": "GLM",
      "modelConfig": {
        "env": {
          "ANTHROPIC_DEFAULT_HAIKU_MODEL": "glm-4.5-air",
          "ANTHROPIC_DEFAULT_SONNET_MODEL": "glm-4.7",
          "ANTHROPIC_DEFAULT_OPUS_MODEL": "glm-4.7"
        }
      },
      "ANTHROPIC_BASE_URL": "https://api.siliconflow.cn",
      "ANTHROPIC_AUTH_TOKEN": "your-glm-token",
      "API_TIMEOUT_MS": "300000"
    }
  ]
}

4. 安装/更新 ClaudeCode

自动安装或更新 ClaudeCode 工具。

支持三种安装方式:

  • 官方源(国外)
  • 淘宝镜像(国内推荐)
  • 自定义镜像源

5. 检查 ClaudeCode 版本

检查已安装 ClaudeCode 的版本信息。

系统设置功能

1. 查看所有环境变量

显示当前所有已设置的环境变量。

2. 配置文件管理

查看配置文件的存储位置。

3. 导出配置

将当前配置导出为 JSON 文件,方便备份或分享。

4. 导入配置

从 JSON 文件导入配置,支持合并到现有配置。

5. 清除所有环境变量

提供清除环境变量的指导说明(需要手动操作)。

配置文件说明

settings.json 配置文件

ClaudeCode 插件使用 ~/.claude/settings.json 文件来读取配置。

Claude 模型配置

{
  "env": {
    "ANTHROPIC_AUTH_TOKEN": "sk-ant-xxxxx",
    "ANTHROPIC_BASE_URL": "https://api.anthropic.com",
    "API_TIMEOUT_MS": "300000"
  }
}

GLM 模型配置

{
  "env": {
    "ANTHROPIC_DEFAULT_HAIKU_MODEL": "glm-4.5-air",
    "ANTHROPIC_DEFAULT_SONNET_MODEL": "glm-4.7",
    "ANTHROPIC_DEFAULT_OPUS_MODEL": "glm-4.7",
    "ANTHROPIC_AUTH_TOKEN": "sk-xxxxx",
    "ANTHROPIC_BASE_URL": "https://api.siliconflow.cn",
    "API_TIMEOUT_MS": "300000",
    "CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": "1"
  }
}

常见问题

Q: 切换配置后 VSCode 不生效?

A: 切换配置后,系统会自动写入 ~/.claude/settings.json,但 VSCode 需要重新加载:

方法 1:重启 VSCode

  • 完全关闭 VSCode
  • 重新打开项目

方法 2:重新加载窗口(推荐)

  • Ctrl+Shift+P(MacOS: Cmd+Shift+P
  • 输入 "Reload Window" 并执行
  • 窗口会立即重新加载配置

验证配置

  • 检查文件是否存在且格式正确
  • Windows: C:\Users\你的用户名\.claude\settings.json
  • Linux/MacOS: ~/.claude/settings.json
  • 查看文件内容确认配置正确

Q: Token 安全吗?

A:

  • Token 存储在本地 ai-configs.json 文件中,建议设置文件权限
  • 工具会完整显示 Token(便于调试和验证)
  • 建议不要将 ai-configs.json 提交到版本控制系统
  • VSCode 配置文件 ~/.claude/settings.json 同样包含敏感信息,需要妥善保管

Q: Claude 和 GLM 模型有什么区别?

A: 两者是不同的 AI 模型服务,切换配置时自动识别并生成对应的 settings.json:

Claude 模型

  • Anthropic 公司的 AI 模型
  • 配置字段:"modelType": "Claude"
  • settings.json 包含基础环境变量(ANTHROPIC_AUTH_TOKEN、ANTHROPIC_BASE_URL、API_TIMEOUT_MS)
  • API Key 格式:通常以 sk-ant- 开头

GLM 模型

  • 智谱 AI 的 GLM 系列模型
  • 配置字段:"modelType": "GLM"
  • settings.json 包含完整配置(模型映射 + 所有环境变量)
  • 需要单独申请智谱 AI 的 API Key
  • 支持通过 modelConfig 自定义模型版本

使用场景

  • 在配置文件中设置好不同的 API 配置
  • 切换配置时自动写入对应的 settings.json
  • VSCode 重新加载后自动生效

安全建议

  1. ai-configs.json 添加到 .gitignore

    echo "ai-configs.json" >> .gitignore
  2. Linux/MacOS 用户可以设置配置文件权限:

    chmod 600 ai-configs.json
    chmod 600 ~/.claude/settings.json  # VSCode 配置文件
  3. 定期更换 Token

  4. 不要在公共场合分享包含真实 Token 的截图或日志

  5. VSCode 配置文件包含敏感信息,确保不被上传到代码仓库

示例场景

场景 1: 国内外 API 切换

[
  {
    "name": "国外官方 API",
    "ANTHROPIC_BASE_URL": "https://api.anthropic.com",
    "ANTHROPIC_AUTH_TOKEN": "sk-ant-official-token",
    "API_TIMEOUT_MS": "300000"
  },
  {
    "name": "国内代理 API",
    "ANTHROPIC_BASE_URL": "https://api.claude-plus.top/v1",
    "ANTHROPIC_AUTH_TOKEN": "sk-ant-proxy-token",
    "API_TIMEOUT_MS": "600000"
  }
]

场景 2: 开发/生产环境切换

[
  {
    "name": "开发环境",
    "ANTHROPIC_BASE_URL": "https://dev-api.example.com",
    "ANTHROPIC_AUTH_TOKEN": "dev-token",
    "API_TIMEOUT_MS": "300000"
  },
  {
    "name": "生产环境",
    "ANTHROPIC_BASE_URL": "https://api.example.com",
    "ANTHROPIC_AUTH_TOKEN": "prod-token",
    "API_TIMEOUT_MS": "600000"
  }
]

许可证

MIT

贡献

欢迎提交 Issue 和 Pull Request!