Files
command-assistant/edison/README.md
T
schihei e31e58c9c4 Move API credentials to .env and set gpt-5.6-luna model
- Load OPENAI_API_KEY and OPENAI_BASE_URL from gitignored .env (repo-root, CWD-independent)
- Fix command explanation to use the configured model instead of hardcoded gpt-4o-mini
- Update default model and fallbacks to gpt-5.6-luna
- Document .env-based configuration in READMEs
2026-09-09 23:07:05 +02:00

110 lines
2.6 KiB
Markdown

# Edison
Edison is an AI-powered command-line tool that translates natural language queries into shell commands. It leverages OpenAI's GPT models to generate accurate and useful commands based on your descriptions.
## Features
- Translate natural language to shell commands
- Support for multiple shells (bash, zsh, powershell)
- Safety checks for potentially dangerous commands
- Command modification and clipboard support
- Configurable via YAML file
- Rich terminal UI with syntax highlighting
- Interactive shell mode with command history
- Command explanations
- Progress indicators and spinners
## Installation
```bash
# Clone the repository
git clone https://github.com/yourusername/edison.git
cd edison
# Install the package
pip install -e .
```
## Usage
```bash
# Basic usage
edison how to list all files in the current directory
# Enable safety mode (confirmation before execution)
edison -s how to find all python files recursively
# Print current configuration
edison -c
# Enable verbose logging
edison -v how to check disk space
# Use rich terminal UI
edison -r how to find large files
# Get command explanations
edison -e how to compress a directory
# Start interactive shell mode
edison -i
```
## Interactive Shell
Edison includes an interactive shell mode that provides a more user-friendly experience:
```bash
# Start interactive shell
edison -i
```
In interactive mode, you can:
- Type natural language queries
- Navigate command history with up/down arrows
- Get auto-suggestions based on previous commands
- Execute, modify, copy, or get explanations for commands
- Use special commands like `!help` and `!exit`
## Rich Terminal UI
The rich terminal UI provides:
- Syntax highlighting for commands
- Colorful output
- Progress indicators during API calls
- Command explanations with detailed breakdowns
- Success/error messages with appropriate styling
## Configuration
Edison can be configured via the `edison.yaml` file. Here's an example configuration:
```yaml
model: gpt-5.6-luna
temperature: 0
max_tokens: 500
safety: true
```
## API Key
Edison requires an API key to function. The recommended way is a `.env` file in the repository root (gitignored, so not checked in):
```
OPENAI_API_KEY="your-api-key"
OPENAI_BASE_URL="https://api.openai.com/v1"
```
You can also provide it in one of the following ways:
1. Environment variable: `OPENAI_API_KEY="your-api-key"`
2. `.env` file in the repository root
3. `.openai.apikey` file in your home directory
4. In the `edison.yaml` configuration file: `openai_api_key: "your-api-key"`
When using a custom backend or proxy, set `OPENAI_BASE_URL` (or `base_url` in `edison.yaml`) to its endpoint.
## License
MIT