Eva
Terminal Context over Browser Tabs
Developers spend hours context-switching out of their terminal into browser tabs just to look up shell syntax, parse long error tracebacks, or draft git commit messages.
Eva was created to bring intelligent assistance directly into the command line. Rather than sending every keystroke to expensive remote APIs, Eva operates on a strict principle: use deterministic local tools whenever possible, and invoke LLMs only for reasoning.
Local utilities like eva find, eva tree, and eva grep run completely offline with zero token cost. When natural-language understanding is required, Eva streams structured responses back into your shell.
$0 Cost by Design: Multi-Provider Fallback
Commercial LLM CLI tools lock you into monthly subscriptions or fragile single-provider key quotas. Eva solves this through a provider abstraction with automatic failover.
Eva ships configured for free-tier cloud endpoints across OpenRouter (default), Groq, Gemini, and OpenCode Zen, as well as local offline models via Ollama and llama.cpp. Disk-backed RPM (Requests Per Minute) and RPD (Requests Per Day) budget tracking automatically redirects traffic before provider rate limits hit.
1. No `shell=True` Execution
Commands generated via eva work use strictly parsed subprocess.run(argv) arrays to prevent shell injection vectors.
2. High-Risk Pattern Blocker
Dangerous patterns like sudo, rm -rf /, curl | bash, and destructive dd wipes are blocked automatically before prompt generation.
3. Dry-Run & SHA-256 Audit Chain
--dry-run previews commands safely. All actions write to a SHA-256 cryptographically hash-chained, tamper-verifiable audit log in ~/.eva/audit.log.
4. Local OS Keyring Storage
API credentials are encrypted using your system keyring (macOS Keychain, SecretService, or Windows Credential Manager).