ai-config-switcher
v2.0.2
Published
AI配置切换 V1.4 - 双重配置:同时设置环境变量 + VSCode settings.json,支持 Claude 和 GLM 双模型
Maintainers
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: 模型类型,可选值:Claude或GLMmodelConfig: 模型特定配置(可选)env: 环境变量映射,用于 GLM 模型指定模型名称
ANTHROPIC_BASE_URL: API 的基础 URLANTHROPIC_AUTH_TOKEN: API 的认证 TokenAPI_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. 切换配置
从已保存的配置中选择一组,系统会自动完成以下操作:
- 设置环境变量:设置
ANTHROPIC_BASE_URL和ANTHROPIC_AUTH_TOKEN到系统环境变量 - 删除旧的配置文件:清除
~/.claude/settings.json - 写入新配置:根据
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 基础 URLANTHROPIC_AUTH_TOKEN: API 认证 TokenAPI_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 重新加载后自动生效
安全建议
将
ai-configs.json添加到.gitignore:echo "ai-configs.json" >> .gitignoreLinux/MacOS 用户可以设置配置文件权限:
chmod 600 ai-configs.json chmod 600 ~/.claude/settings.json # VSCode 配置文件定期更换 Token
不要在公共场合分享包含真实 Token 的截图或日志
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!
