开发一个简单 Claude Code 模型切换器
前言
- 在使用 Claude Code 模型时,需要根据不同的场景切换模型,也可以体验不同的模型,处理效果。
- 效果:


技术栈
NodeJS+TypeScipt
实现
- 目标:通过命令行切换 Claude Code 模型
ai init: 初始化 Claude Code 模型切换器配置,以便于管理各个模型的设置的参数ai use <模型>: 切换到指定的 Claude Code 模型ai ls: 列出所有可用的 Claude Code 模型
ai init
- 安装识别用户命令依赖
commander
ts
const aiModelPath = resolve(os.homedir(), '.ai-model.json') // 配置文件路径
const aiJsonc = loadJSONCFile(resolve(import.meta.dirname, 'ai.jsonc'), true) // 默认配置
const aiCommand = program.command('ai')
aiCommand
.command('init')
.description('初始化 AI 模型配置')
.action(() => {
info()
if (existsSync(aiModelPath)) {
info(`配置已存在,路径 ${chalk.green(aiModelPath)}`)
return
}
writeFileSync(aiModelPath, JSON.stringify(aiJsonc, null, 2))
console.log(`配置已初始化,路径 ${aiModelPath}`)
})ai use <模型>
ts
aiCommand
.command('use <模型>')
.description('切换 AI 模型')
.action(async (value: string) => {
const claudeConfig = loadClaudeConfig()
const [models, content] = loadAIModelConfig()
// 检查模型是否存在
if (!models.some(([name]) => name === value)) {
info(`模型 ${chalk.red(value)} 不存在`)
process.exit(1)
}
// 检查当前环境变量是否和目标模型一致
if (!keys.some(key => claudeConfig.env[key] !== content[value].env[key])) {
info(`当前正处于 ${chalk.green(value)} 模型,无需切换`)
} else {
claudeConfig.env = content[value].env
writeFileSync(claudeConfigPath, JSON.stringify(claudeConfig, null, 2))
success(`模型 ${chalk.green(value)} 已切换`)
}
})ai ls
ts
aiCommand
.command('ls')
.description('查看当前已配置的 AI 模型')
.action(() => {
const [models] = loadAIModelConfig()
let fieldMax = 0
let current = -1
const claudeConfig = loadClaudeConfig()
models.forEach(([name, value], i) => {
fieldMax = Math.max(fieldMax, name.length)
// 找到第一个和当前环境变量一致的模型
if (current < 0 && !keys.some(key => claudeConfig.env[key] !== value.env[key])) {
current = i
}
})
models.forEach(([name, value], i) => {
const { ANTHROPIC_BASE_URL } = value.env
const prefix = i === current ? chalk.green('*') : ' '
const separator = getSeparatorStr(name.length, fieldMax + 4, '-')
const str = `${prefix} ${name} ${separator} ${ANTHROPIC_BASE_URL}`
info(str)
})
})演示
node >= 24.x- windows 电脑全局安装
mine-auto-cli
sh
npm i -g mine-auto-cli- 查看是否安装成功
sh
auto -v- 使用上面三个命令初始化、切换模型、查看模型
sh
# 初始化
auto ai init
# 查看已配置的模型
auto ai ls
# 切换模型
auto ai use deepseek
# 查看命令更多帮助信息
auto ai -h
总结
- 以上就是一个简单的 Claude Code 模型切换器的实现,通过命令行可以方便地切换不同的模型,处理不同的场景。
- 项目源码
- 当前 ai 文件源码