多模型配置
学会配置多个 AI 服务,根据不同场景选择最适合的模型,既能保证效果又能控制成本。
概述
Claude Code 支持通过环境变量配置不同的 AI 服务。通过编写简单的脚本,可以实现在多个模型之间一键切换,让你在不同场景下使用最合适的模型。
前置要求
安装 Node.js
Claude Code 依赖 Node.js 环境:
# macOS (使用 Homebrew)
brew install node
# macOS (使用 pkg)
pkg install nodejs
# 验证安装
node --version
npm --version
安装 Claude Code CLI
# 全局安装 Claude Code
npm install -g @anthropic-ai/claude-code
# 验证安装
claude --version
推荐的 AI 服务
以下是一些常用的 AI 服务,可以根据需求选择:
1. GLM(智谱清言)
- 优点:稳定可靠,日常使用效果好
- 适用场景:日常开发、代码生成、调试
2. 豆包(字节跳动)
- 优点:新发布,针对编程优化
- 适用场景:专业编程、复杂逻辑实现
3. Kimi(月之暗面)
- 优点:长文本支持,性价比高
- 适用场景:大量代码处理、文档生成
4. DeepSeek
- 优点:开源模型,可自部署
- 适用场景:私有化部署、数据敏感场景
配置步骤
Shell 函数配置(推荐)
这是最优雅的切换方案,通过在 Shell 配置文件中定义函数,一个命令就能切换模型。
安装和配置 Zsh
检查当前 Shell:
echo $SHELL # 查看当前使用的 Shell
安装 Zsh:
# macOS (使用 Homebrew)
brew install zsh
# Ubuntu/Debian
sudo apt-get install zsh
# CentOS/RHEL
sudo yum install zsh
# 设置为默认 Shell
chsh -s $(which zsh)
了解 Shell 配置文件:
Zsh 配置文件说明:
~/.zshrc:交互式 Shell 的配置文件,每次打开终端都会加载- 适合定义:别名(alias)、函数、环境变量、提示符等
- 修改后需要使用
source ~/.zshrc重新加载
环境变量持久化:
- 使用
export命令定义的环境变量只在当前会话有效 - 要让环境变量永久生效,必须写入配置文件
- 子进程会继承父进程的环境变量
函数定义技巧:
- 函数名使用有意义的别名,如
cc-glm - 使用
"$@"传递所有参数给 claude 命令 - 在函数中可以使用条件判断,实现更复杂的逻辑
1. 编辑 Shell 配置文件
# 如果使用 zsh
vim ~/.zshrc
# 如果使用 bash
vim ~/.bashrc
2. 添加模型切换函数
在文件末尾添加以下内容:
# ==============================================
# Claude Code 多模型配置
# ==============================================
# GLM 模型配置
cc-glm() {
echo "🚀 启动 Claude Code 环境,使用 GLM 模型..."
export ANTHROPIC_BASE_URL="https://open.bigmodel.cn/api/anthropic"
export ANTHROPIC_AUTH_TOKEN="你的GLM_API_KEY"
export API_TIMEOUT_MS="3000000"
export CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC="1"
claude "$@"
}
# 豆包模型配置
cc-doubao() {
echo "🚀 启动 Claude Code 环境,使用豆包模型..."
export ANTHROPIC_BASE_URL="https://ark.cn-beijing.volces.com/api/v3"
export ANTHROPIC_AUTH_TOKEN="你的豆包_API_KEY"
export ANTHROPIC_MODEL="doubao-code-model"
claude "$@"
}
# Kimi 模型配置
cc-kimi() {
echo "🚀 启动 Claude Code 环境,使用 Kimi 模型..."
export ANTHROPIC_BASE_URL="https://api.kimi.com/coding/"
export ANTHROPIC_AUTH_TOKEN="你的Kimi_API_KEY"
export ANTHROPIC_MODEL="kimi-for-coding"
claude "$@"
}
# DeepSeek 模型配置
cc-deepseek() {
echo "🚀 启动 Claude Code 环境,使用 DeepSeek 模型..."
export ANTHROPIC_BASE_URL="https://api.deepseek.com/v1"
export ANTHROPIC_AUTH_TOKEN="你的DeepSeek_API_KEY"
export ANTHROPIC_MODEL="deepseek-coder"
claude "$@"
}
# 查看当前模型配置
cc-current() {
echo "当前 Claude Code 配置:"
echo "Base URL: ${ANTHROPIC_BASE_URL:-'未设置'}"
echo "Model: ${ANTHROPIC_MODEL:-'未设置'}"
echo "API Key: ${ANTHROPIC_AUTH_TOKEN:+已设置}"
}
# 切换回官方 Claude
cc-claude() {
echo "🚀 启动 Claude Code 环境,使用官方 Claude 模型..."
unset ANTHROPIC_BASE_URL
unset ANTHROPIC_MODEL
export ANTHROPIC_AUTH_TOKEN="你的官方Claude_API_KEY"
claude "$@"
}
3. 重新加载配置
# zsh
source ~/.zshrc
# bash
source ~/.bashrc
4. 使用方法
# 使用不同的模型
cc-glm # 切换到 GLM 模型
cc-doubao # 切换到豆包模型
cc-kimi # 切换到 Kimi 模型
cc-deepseek # 切换到 DeepSeek 模型
cc-claude # 切换回官方 Claude
# 查看当前配置
cc-current
4. 验证配置
重新打开终端或执行 source ~/.zshrc 后,可以验证配置是否生效:
# 查看函数是否定义成功
type cc-glm
# 测试环境变量是否设置
cc-glm --help
# 查看当前生效的配置
cc-current
5. Shell 函数进阶用法
条件判断示例:
# 智能选择模型
cc-auto() {
# 检测项目类型
if [[ -f "package.json" ]]; then
echo "检测到 Node.js 项目,使用豆包模型"
cc-doubao "$@"
elif [[ -f "requirements.txt" ]] || [[ -f "pyproject.toml" ]]; then
echo "检测到 Python 项目,使用 DeepSeek 模型"
cc-deepseek "$@"
else
echo "使用默认 GLM 模型"
cc-glm "$@"
fi
}
批量操作函数:
# 批量处理多个文件
cc-batch() {
model=$1
shift
for file in "$@"; do
echo "处理文件: $file"
cc-$model "$file"
done
}
带参数的快捷方式:
# 快速启动特定模式
cc-debug() {
cc-glm --debug "$@"
}
cc-quiet() {
cc-doubao --quiet "$@"
}
使用建议
场景选择
- 日常开发:使用 GLM 或 Kimi,性价比高
- 复杂项目:使用豆包,编程能力强
- 大量生成:使用 Kimi,成本低
- 关键任务:使用官方 Claude,效果最好
成本控制
- 设置每日使用限额
- 根据任务复杂度选择模型
- 利用免费的测试额度
- 关注各平台的优惠活动
最佳实践
- 保存对话记录:重要对话使用官方 Claude
- 批量处理:简单任务使用便宜模型
- 混合使用:创意用 Claude,实现用其他模型
- 监控使用量:定期检查 API 使用情况
常见问题
Q: 模型切换不生效?
确保:
- 重新加载了 Shell 配置:
source ~/.zshrc - API 密钥正确设置
- 网络连接正常
Q: 如何查看当前使用的模型?
使用我们创建的命令:
cc-current
Q: 可以同时使用多个模型吗?
可以在不同的终端窗口使用不同的模型,每个进程独立配置。
Q: 模型效果差异大吗?
- 官方 Claude:综合能力最强,但最贵
- 豆包:编程专项优化,代码生成效果好
- GLM:平衡型,日常使用足够
- Kimi:长文本处理优秀,适合大量代码
进阶技巧
1. 项目特定配置
为不同项目配置默认模型:
# 在项目根目录创建 .claude-config
echo "MODEL=glm" > .claude-config
# 在启动脚本中读取
if [ -f .claude-config ]; then
MODEL=$(cat .claude-config)
cc-$MODEL
fi
2. 智能切换
根据文件类型或任务自动选择模型:
cc-smart() {
# 检测文件类型
if [[ "$1" == *.py ]]; then
cc-deepseek "$@"
elif [[ "$1" == *.js ]]; then
cc-doubao "$@"
else
cc-glm "$@"
fi
}
3. 使用统计
记录各模型的使用情况:
# 在模型函数中添加日志
cc-glm() {
echo "$(date): GLM" >> ~/.claude-usage.log
# ... 其他配置
claude "$@"
}
总结
通过配置多个 AI 服务,你可以:
- 降低成本:根据任务选择合适的模型
- 提高效率:不同模型各有优势
- 灵活切换:一个命令即可切换
- 优化体验:获得最佳的性价比
开始配置你的多模型环境吧!