Initial commit

This commit is contained in:
2025-04-09 09:34:15 +02:00
commit c19fb93ec5
47 changed files with 5174 additions and 0 deletions
+152
View File
@@ -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