mirror of
https://github.com/farion1231/cc-switch.git
synced 2026-04-25 19:32:39 +08:00
Reorganize docs/user-manual/ from flat structure to language subdirectories (zh/, en/, ja/) with shared assets/. Move existing Chinese docs into zh/, fix image paths, add multilingual navigation README, and translate all 23 markdown files (~4500 lines each) to English and Japanese.
109 lines
3.2 KiB
Markdown
109 lines
3.2 KiB
Markdown
# 5.4 Environment Variable Conflicts
|
|
|
|
## Overview
|
|
|
|
CC Switch automatically detects conflicts between system environment variables and app configurations, preventing configurations from being unexpectedly overridden.
|
|
|
|
**Detected environment variables**:
|
|
- `ANTHROPIC_API_KEY` - Claude API key
|
|
- `ANTHROPIC_BASE_URL` - Claude API endpoint
|
|
- `OPENAI_API_KEY` - OpenAI API key
|
|
- `GEMINI_API_KEY` - Gemini API key
|
|
- Other related environment variables
|
|
|
|
## Conflict Warning
|
|
|
|
When a conflict is detected, a yellow warning banner appears at the top of the interface:
|
|
|
|
```
|
|
Warning: Environment variable conflict detected
|
|
Found X environment variables that may conflict with CC Switch configuration
|
|
[Expand] [Dismiss]
|
|
```
|
|
|
|
## View Conflict Details
|
|
|
|
Click the "Expand" button to view detailed information:
|
|
|
|
| Field | Description |
|
|
|-------|-------------|
|
|
| Variable Name | Environment variable name |
|
|
| Variable Value | Currently set value |
|
|
| Source | Where the variable originates from |
|
|
|
|
### Source Types
|
|
|
|
| Source | Description |
|
|
|--------|-------------|
|
|
| User Registry | Windows user-level environment variable |
|
|
| System Registry | Windows system-level environment variable |
|
|
| Shell Configuration | macOS/Linux shell configuration file |
|
|
| System Environment | System-level environment variable |
|
|
|
|
## Resolve Conflicts
|
|
|
|
### Select Variables to Remove
|
|
|
|
1. Check the environment variables you want to remove
|
|
2. Or click "Select All" to select all conflicting variables
|
|
|
|
### Remove Variables
|
|
|
|
1. Click the "Remove Selected" button
|
|
2. Confirm the removal operation
|
|
3. CC Switch will automatically back up and remove the selected variables
|
|
|
|
### Automatic Backup
|
|
|
|
A backup is automatically created before removal:
|
|
|
|
- Backup location: `~/.cc-switch/env-backups/`
|
|
- Backup format: JSON file
|
|
- Includes variable name, value, source, and other information
|
|
|
|
## Dismiss Warning
|
|
|
|
If you confirm the conflict does not affect usage, you can:
|
|
|
|
1. Click the "Dismiss" button on the right side of the warning banner
|
|
2. The warning will be temporarily hidden
|
|
3. Detection will run again on next launch
|
|
|
|
## Manual Resolution
|
|
|
|
If you prefer not to use CC Switch to remove variables, you can handle them manually:
|
|
|
|
### Windows
|
|
|
|
1. Open "System Properties > Advanced > Environment Variables"
|
|
2. Find the conflicting variable in User or System variables
|
|
3. Delete or modify the variable
|
|
|
|
### macOS / Linux
|
|
|
|
1. Edit the shell configuration file (e.g., `~/.zshrc`, `~/.bashrc`)
|
|
2. Delete or comment out the relevant `export` statements
|
|
3. Reload the configuration: `source ~/.zshrc`
|
|
|
|
## Why Do Conflicts Occur
|
|
|
|
Environment variables typically take priority over configuration files, which may cause:
|
|
|
|
- CC Switch provider configurations being overridden
|
|
- API requests being sent to the wrong endpoint
|
|
- Using the wrong API key
|
|
|
|
## Best Practices
|
|
|
|
1. **Use CC Switch to manage configurations**: Avoid setting API keys in system environment variables
|
|
2. **Check regularly**: Pay attention to conflict warnings and address them promptly
|
|
3. **Back up important variables**: Confirm backups exist before removal
|
|
|
|
## Restore Deleted Variables
|
|
|
|
If you accidentally deleted environment variables:
|
|
|
|
1. Find the backup file: `~/.cc-switch/env-backups/`
|
|
2. Open the corresponding JSON file
|
|
3. Manually restore the variable to the system environment
|