Claude Code、Codex、Gemini 配置自定义 API
·
原文链接:https://izpc.org/2025/10/25/ai-tools-api-key-configuration/
最近在用几个 AI 命令行工具,想接自己的 API 代理,折腾了一番总算搞定了。记录一下配置过程,三个系统都能用。
Claude Code
安装
npm install -g @anthropic-ai/claude-code
配置文件路径
| 系统 | 路径 |
|---|---|
| Windows | %USERPROFILE%\.claude\settings.json |
| macOS/Linux | ~/.claude/settings.json |
编辑配置文件
- Windows:
notepad $env:USERPROFILE\.claude\settings.json - macOS/Linux:
vim ~/.claude/settings.json
配置内容
{
"env": {
"ANTHROPIC_BASE_URL": "https://api.foobar.example/claude",
"ANTHROPIC_AUTH_TOKEN": "sk-xxxx"
}
}
验证使用
claude
Codex
安装
npm install -g @openai/codex
配置文件路径
| 系统 | 路径 |
|---|---|
| Windows | %USERPROFILE%\.codex\config.toml |
| macOS/Linux | ~/.codex/config.toml |
编辑配置文件
- Windows:
notepad $env:USERPROFILE\.codex\config.toml - macOS/Linux:
vim ~/.codex/config.toml
配置内容
model = "gpt-5"
model_provider = "openai-chat-completions"
[model_providers.openai-chat-completions]
name = "PROXY"
base_url = "https://api.foobar.example/v1"
env_key = "PROXY_OPENAI_API_KEY"
wire_api = "chat"
配置环境变量
Windows(临时生效 + 持久化)
# 临时生效(当前终端)
$env:PROXY_OPENAI_API_KEY = "sk-xxxx"
# 持久化(用户级)
[System.Environment]::SetEnvironmentVariable('PROXY_OPENAI_API_KEY', 'sk-xxxx', 'User')
macOS/Linux(临时生效 + 持久化)
# 临时生效(当前终端)
export PROXY_OPENAI_API_KEY="sk-xxxx"
# 持久化(bash 用户)
echo 'export PROXY_OPENAI_API_KEY="sk-xxxx"' >> ~/.bashrc
source ~/.bashrc
# 若使用 zsh,替换为:
# echo 'export PROXY_OPENAI_API_KEY="sk-xxxx"' >> ~/.zshrc
# source ~/.zshrc
Gemini CLI
安装
npm install -g @google/gemini-cli
配置方式(二选一)
Gemini 没有专门的配置文件,支持 .env 文件或直接设置环境变量。
方法一:.env 文件配置
-
创建/编辑 .env 文件:
- Windows:
notepad $env:USERPROFILE\.env - macOS/Linux:
vim ~/.env
- Windows:
-
配置内容:
GOOGLE_GEMINI_BASE_URL=https://api.foobar.example/gemini GEMINI_API_KEY=sk-xxxx GEMINI_MODEL=gemini-2.5-pro
方法二:直接设置环境变量
Windows(持久化)
[System.Environment]::SetEnvironmentVariable('GOOGLE_GEMINI_BASE_URL', 'https://api.foobar.example/gemini', 'User')
[System.Environment]::SetEnvironmentVariable('GEMINI_API_KEY', 'sk-xxxx', 'User')
[System.Environment]::SetEnvironmentVariable('GEMINI_MODEL', 'gemini-2.5-pro', 'User')
macOS/Linux(持久化)
# bash 用户
cat >> ~/.bashrc << 'EOF'
export GOOGLE_GEMINI_BASE_URL=https://api.foobar.example/gemini
export GEMINI_API_KEY=sk-xxxx
export GEMINI_MODEL=gemini-2.5-pro
EOF
source ~/.bashrc
# zsh 用户
cat >> ~/.zshrc << 'EOF'
export GOOGLE_GEMINI_BASE_URL=https://api.foobar.example/gemini
export GEMINI_API_KEY=sk-xxxx
export GEMINI_MODEL=gemini-2.5-pro
EOF
source ~/.zshrc
工具对比
| 工具 | 配置方式 | 环境变量 | 难度 |
|---|---|---|---|
| Claude Code | JSON 配置文件 | 不需要 | 简单 |
| Codex | TOML 配置 + 环境变量 | 需要 | 有点麻烦 |
| Gemini CLI | 环境变量或 .env 文件 | 需要 | 还行 |
注意事项(避坑指南)
1. API KEY 安全防护
避免配置文件泄露,添加到 .gitignore:
.env
settings.json
config.toml
2. 环境变量持久化
- Windows:优先使用「用户级环境变量」或编辑 PowerShell 配置文件
$PROFILE - macOS:默认终端为 Zsh,需将环境变量添加到
~/.zshrc(而非~/.bashrc) - Linux:根据使用的 Shell(bash/zsh)选择对应的配置文件
3. 配置文件权限
确保配置文件仅当前用户可读写,避免权限泄露:
- Windows:
icacls "$env:USERPROFILE\.claude\settings.json" /inheritance:r /grant:r "$env:USERNAME:F" - macOS/Linux:
chmod 600 ~/.claude/settings.json chmod 600 ~/.codex/config.toml chmod 600 ~/.env
4. 常见问题排查
找不到配置目录?
手动创建配置目录:
# Windows
mkdir $env:USERPROFILE\.claude -Force
mkdir $env:USERPROFILE\.codex -Force
# macOS/Linux
mkdir -p ~/.claude ~/.codex
环境变量不生效?
- Windows:重启终端或注销重新登录
- macOS/Linux:执行
source ~/.bashrc或source ~/.zshrc(根据 Shell 类型)
切换不同 API 代理?
- Claude Code:直接修改
ANTHROPIC_BASE_URL - Codex:可配置多个
model_providers节点,切换model_provider字段值 - Gemini CLI:修改
GOOGLE_GEMINI_BASE_URL环境变量或 .env 文件
更多推荐


所有评论(0)