# 5.4 环境变量冲突 ## 功能说明 CC Switch 会自动检测系统环境变量与应用配置的冲突,避免配置被意外覆盖。 **检测的环境变量**: - `ANTHROPIC_API_KEY` - Claude API 密钥 - `ANTHROPIC_BASE_URL` - Claude API 端点 - `OPENAI_API_KEY` - OpenAI API 密钥 - `GEMINI_API_KEY` - Gemini API 密钥 - 其他相关环境变量 ## 冲突警告 当检测到冲突时,界面顶部会显示黄色警告横幅: ``` ⚠️ 检测到环境变量冲突 发现 X 个环境变量可能与 CC Switch 配置冲突 [展开] [关闭] ``` ## 查看冲突详情 点击「展开」按钮查看详细信息: | 字段 | 说明 | |------|------| | 变量名 | 环境变量名称 | | 变量值 | 当前设置的值 | | 来源 | 变量的来源位置 | ### 来源类型 | 来源 | 说明 | |------|------| | 用户注册表 | Windows 用户级环境变量 | | 系统注册表 | Windows 系统级环境变量 | | Shell 配置 | macOS/Linux 的 shell 配置文件 | | 系统环境 | 系统级环境变量 | ## 处理冲突 ### 选择要删除的变量 1. 勾选要删除的环境变量 2. 或点击「全选」选择所有冲突变量 ### 删除变量 1. 点击「删除选中」按钮 2. 确认删除操作 3. CC Switch 会自动备份并删除选中的变量 ### 自动备份 删除前会自动备份: - 备份位置:`~/.cc-switch/env-backups/` - 备份格式:JSON 文件 - 包含变量名、值、来源等信息 ## 忽略警告 如果确认冲突不影响使用,可以: 1. 点击警告横幅右侧的「关闭」按钮 2. 警告会暂时隐藏 3. 下次启动时会重新检测 ## 手动处理 如果不想通过 CC Switch 删除,可以手动处理: ### Windows 1. 打开「系统属性 → 高级 → 环境变量」 2. 在用户变量或系统变量中找到冲突变量 3. 删除或修改变量 ### macOS / Linux 1. 编辑 shell 配置文件(如 `~/.zshrc`、`~/.bashrc`) 2. 删除或注释掉相关的 `export` 语句 3. 重新加载配置:`source ~/.zshrc` ## 为什么会冲突 环境变量的优先级通常高于配置文件,可能导致: - CC Switch 设置的供应商配置被覆盖 - API 请求发送到错误的端点 - 使用错误的 API 密钥 ## 最佳实践 1. **使用 CC Switch 管理配置**:避免在系统环境变量中设置 API 密钥 2. **定期检查**:关注冲突警告,及时处理 3. **备份重要变量**:删除前确认已备份 ## 恢复已删除的变量 如果误删了环境变量: 1. 找到备份文件:`~/.cc-switch/env-backups/` 2. 打开对应的 JSON 文件 3. 手动恢复变量到系统环境