```markdown
# finish
AI-powered shell completion that runs 100% on your machine.
One command and your terminal learns what you type next.
## Install
```bash
# On Ubuntu/Debian, first ensure python3-venv is installed
sudo apt-get install python3-venv
# Then run the installer
curl -sSL https://git.appmodel.nl/tour/finish/raw/branch/main/docs/install.sh | bash
source ~/.bashrc # or ~/.zshrc
# for plato special, add plato.lan to /etc/hosts:
sudo nano /etc/hosts - 192.168.1.74 plato.lan
```
Press **Alt+\\** after typing any command to get intelligent completions—no cloud, no data leak, instant results.
## How it works
1. Captures your current directory, recent history, env vars, and available tools
2. Analyzes your intent and builds a context-aware prompt
3. Queries your local LLM (LM Studio, Ollama, or any OpenAI-compatible endpoint)
4. Returns 2-5 ranked completions with an interactive picker
5. Results are cached for instant replay
## Usage
Type a command, then press **Alt+\\**:
```bash
# Natural language commands
show gpu status # → nvidia-smi
resolve title of website google.com # → curl -s https://google.com | grep -oP '
\K[^<]+'
make file about dogs # → echo "About Dogs" > dogs.md
# Partial commands
git commit # → git commit -m "..."
docker run # → docker run -it --rm ubuntu bash
find large files # → find . -type f -size +100M
```
Navigate with ↑↓, press Enter to accept, Esc to cancel.
## Configure
View current configuration:
```bash
finish config
```
Edit configuration file:
```bash
nano ~/.finish/finish.json
```
## Configuration Examples
### Local Ollama
```json
{
"provider": "ollama",
"model": "llama3:latest",
"endpoint": "http://localhost:11434/api/chat",
"temperature": 0.0,
"api_prompt_cost": 0.0,
"api_completion_cost": 0.0,
"max_history_commands": 20,
"max_recent_files": 20,
"cache_size": 100
}
```
### LM Studio
```json
{
"provider": "lmstudio",
"model": "dolphin3.0-llama3.1-8b@q4_k_m",
"endpoint": "http://localhost:1234/v1/chat/completions",
"temperature": 0.0,
"api_prompt_cost": 0.0,
"api_completion_cost": 0.0,
"max_history_commands": 20,
"max_recent_files": 20,
"cache_size": 100
}
```
### OpenAI (or compatible API)
```json
{
"provider": "lmstudio",
"model": "gpt-4",
"endpoint": "https://api.openai.com/v1/chat/completions",
"api_key": "sk-...",
"temperature": 0.0,
"api_prompt_cost": 0.03,
"api_completion_cost": 0.06,
"max_history_commands": 20,
"max_recent_files": 20,
"cache_size": 100
}
```
## Requirements
- Python 3.7+
- Bash ≥4 or Zsh ≥5
- A local LLM running (Ollama, LM Studio, etc.) or API access
Python dependencies (installed automatically):
- httpx
- prompt_toolkit
- rich
## Commands
```bash
finish install # Set up Alt+\ keybinding
finish config # Show current configuration
finish command "text" # Test completions manually
```
## Advanced
### Debug mode
```bash
export FINISH_DEBUG=1
finish command "your command here"
cat ~/.finish/finish.log
```
### Clear cache
```bash
rm -rf ~/.finish/cache/*.json
```
## License
BSD 2-Clause.
```