elia  by darrenburns

CLI tool for interacting with LLMs in the terminal

created 2 years ago
2,239 stars

Top 20.7% on sourcepulse

GitHubView on GitHub
Project Summary

Elia is a terminal-based user interface for interacting with various large language models, designed for keyboard-centric efficiency. It supports proprietary models like ChatGPT and Claude, as well as local models via Ollama and LocalAI, making it suitable for developers and power users who prefer a command-line workflow.

How It Works

Elia leverages a terminal UI framework (likely Textual, given the theme options) to provide a snappy, keyboard-driven experience. It stores conversation history locally in an SQLite database. The application's flexibility comes from its TOML configuration file, which allows users to define and customize access to different LLM providers, including specifying API endpoints, model names, and provider-specific parameters like temperature and retries.

Quick Start & Requirements

  • Install with pipx install --python 3.11 elia-chat.
  • Requires Python 3.11.
  • Environment variables for API keys (e.g., OPENAI_API_KEY, ANTHROPIC_API_KEY) may be necessary for proprietary models.
  • Local models require Ollama or LocalAI setup.
  • Launch with elia.
  • Documentation: [Not explicitly linked, but configuration details are in README]

Highlighted Details

  • Supports a wide range of models including ChatGPT, Claude, Llama 3, Phi 3, Mistral, and Gemma.
  • Keyboard-centric design with customizable themes.
  • Local conversation storage via SQLite.
  • Configuration supports custom API bases, model aliases, and provider-specific settings.
  • Import functionality for ChatGPT conversations.

Maintenance & Community

  • Developed by darrenburns.
  • No explicit community links (Discord, Slack) or roadmap mentioned in the README.

Licensing & Compatibility

  • License not specified in the README.
  • Compatibility for commercial use or closed-source linking is undetermined without a license.

Limitations & Caveats

Keybindings are currently fixed and cannot be changed within the application, though terminal-level remapping is suggested as a workaround for complex shortcuts. The README does not specify the project's license.

Health Check
Last commit

9 months ago

Responsiveness

1 day

Pull Requests (30d)
0
Issues (30d)
0
Star History
118 stars in the last 90 days

Explore Similar Projects

Feedback? Help us improve.