Initial commit
This commit is contained in:
@@ -0,0 +1,152 @@
|
||||
# Configuration
|
||||
|
||||
Edison provides several ways to configure its behavior to suit your needs. This guide explains the available configuration options and how to set them.
|
||||
|
||||
## Configuration File
|
||||
|
||||
The primary way to configure Edison is through the `edison.yaml` file. This file is located in the Edison installation directory.
|
||||
|
||||
```mermaid
|
||||
flowchart LR
|
||||
A[edison.yaml] --> B[OpenAI Settings]
|
||||
A --> C[Safety Settings]
|
||||
A --> D[Shell Settings]
|
||||
|
||||
B --> B1[Model]
|
||||
B --> B2[Temperature]
|
||||
B --> B3[Max Tokens]
|
||||
B --> B4[API Key]
|
||||
|
||||
C --> C1[Safety Mode]
|
||||
|
||||
D --> D1[Shell Type]
|
||||
|
||||
style A fill:#f9d5e5,stroke:#333,stroke-width:2px
|
||||
style B fill:#eeeeee,stroke:#333,stroke-width:2px
|
||||
style C fill:#d3f6db,stroke:#333,stroke-width:2px
|
||||
style D fill:#d3f6f5,stroke:#333,stroke-width:2px
|
||||
```
|
||||
|
||||
### Sample Configuration File
|
||||
|
||||
Here's an example `edison.yaml` file with all available options:
|
||||
|
||||
```yaml
|
||||
# OpenAI API settings
|
||||
model: gpt-4o-mini
|
||||
temperature: 0
|
||||
max_tokens: 500
|
||||
openai_api_key: your_api_key_here # Optional, can be set via environment variable
|
||||
streaming: true # Enable streaming command generation
|
||||
|
||||
# Safety settings
|
||||
safety: true
|
||||
|
||||
# UI settings
|
||||
show_generating_prefix: true # Show "Generating command:" prefix during generation
|
||||
|
||||
# Shell settings
|
||||
shell: bash # Options: bash, zsh, powershell.exe, cmd.exe, etc.
|
||||
```
|
||||
|
||||
## Configuration Options
|
||||
|
||||
### OpenAI API Settings
|
||||
|
||||
| Option | Description | Default | Possible Values |
|
||||
|--------|-------------|---------|----------------|
|
||||
| model | OpenAI model to use | gpt-4o-mini | gpt-4o-mini, gpt-3.5-turbo, gpt-4, etc. |
|
||||
| temperature | Randomness of completions | 0 | 0.0 - 1.0 |
|
||||
| max_tokens | Maximum tokens in response | 500 | 1 - 4096 |
|
||||
| openai_api_key | Your OpenAI API key | - | Valid API key |
|
||||
| streaming | Enable streaming command generation | true | true, false |
|
||||
|
||||
### Safety Settings
|
||||
|
||||
| Option | Description | Default | Possible Values |
|
||||
|--------|-------------|---------|----------------|
|
||||
| safety | Require confirmation before execution | true | true, false |
|
||||
|
||||
### UI Settings
|
||||
|
||||
| Option | Description | Default | Possible Values |
|
||||
|--------|-------------|---------|----------------|
|
||||
| show_generating_prefix | Show "Generating command:" prefix during generation | true | true, false |
|
||||
|
||||
### Shell Settings
|
||||
|
||||
| Option | Description | Default | Possible Values |
|
||||
|--------|-------------|---------|----------------|
|
||||
| shell | Shell to use for command execution | (system default) | bash, zsh, powershell.exe, cmd.exe, etc. |
|
||||
|
||||
## Setting Your OpenAI API Key
|
||||
|
||||
There are several ways to set your OpenAI API key, listed in order of precedence:
|
||||
|
||||
1. **Environment variable**:
|
||||
- Linux/macOS: `export OPENAI_API_KEY=<yourkey>`
|
||||
- Windows: `$env:OPENAI_API_KEY="<yourkey>"`
|
||||
|
||||
2. **API key file**:
|
||||
Create a file at `~/.openai.apikey` containing only your API key.
|
||||
|
||||
3. **Configuration file**:
|
||||
Add your key to the `edison.yaml` file:
|
||||
```yaml
|
||||
openai_api_key: your_api_key_here
|
||||
```
|
||||
|
||||
## Viewing Current Configuration
|
||||
|
||||
To view your current configuration:
|
||||
|
||||
```bash
|
||||
edison -c
|
||||
```
|
||||
|
||||
This will display all current settings, including where your OpenAI API key is being loaded from (but will not display the key itself for security reasons).
|
||||
|
||||
## Configuration Load Order
|
||||
|
||||
Edison loads configuration in this order:
|
||||
|
||||
1. Default values
|
||||
2. Values from `edison.yaml`
|
||||
3. Environment variables (for API key)
|
||||
4. Command-line arguments
|
||||
|
||||
Later sources override earlier ones.
|
||||
|
||||
## Recommended Configurations
|
||||
|
||||
### For Beginners
|
||||
|
||||
```yaml
|
||||
model: gpt-4o-mini
|
||||
temperature: 0
|
||||
max_tokens: 500
|
||||
safety: true
|
||||
```
|
||||
|
||||
### For Advanced Users
|
||||
|
||||
```yaml
|
||||
model: gpt-4 # If you have access
|
||||
temperature: 0.2 # Slightly more creative
|
||||
max_tokens: 1000 # For more detailed responses
|
||||
safety: true # Keep safety on unless you really know what you're doing
|
||||
```
|
||||
|
||||
### For Performance
|
||||
|
||||
```yaml
|
||||
model: gpt-3.5-turbo # Fastest option if you need maximum speed
|
||||
temperature: 0
|
||||
max_tokens: 300 # Lower limits can be faster
|
||||
```
|
||||
|
||||
## Troubleshooting Configuration Issues
|
||||
|
||||
- **Configuration not applying**: Ensure your `edison.yaml` file is in the correct location
|
||||
- **API key not recognized**: Check for extra whitespace or quotes in your key
|
||||
- **Model not available**: Verify you have access to the specified model in your OpenAI account
|
||||
Reference in New Issue
Block a user