CLI tool for interacting with LLMs, written in Bash
Top 69.5% on sourcepulse
This project provides a lightweight, pipe-friendly command-line interface (CLI) for interacting with various Large Language Models (LLMs) directly from the terminal. Written in Bash, it targets developers and power users who want to integrate LLM capabilities into their existing shell workflows, enabling context-aware querying and automation.
How It Works
ell
leverages standard Unix utilities like curl
and jq
to communicate with LLM APIs. Its core design emphasizes composability through shell piping, allowing users to seamlessly feed terminal output or file content as context to LLMs. It supports features like interactive chat, terminal recording for context, and template-based prompt engineering for specific LLM providers.
Quick Start & Requirements
git clone --depth 1 https://github.com/simonmysun/ell.git ~/.ellrc.d
followed by adding export PATH="${HOME}/.ellrc.d:${PATH}"
to ~/.bashrc
.ELL_API_STYLE
, ELL_LLM_MODEL
, ELL_TEMPLATE
, ELL_API_KEY
, and ELL_API_URL
in ~/.ellrc
.Highlighted Details
-r
) to capture context for LLM queries.-i
) with automatic context recording.Maintenance & Community
The project is actively maintained by simonmysun. Contributions are welcome via issues and pull requests.
Licensing & Compatibility
Limitations & Caveats
The project relies heavily on Bash scripting, which may have portability issues across different Unix-like shells or operating systems. Advanced features like record mode require specific utilities (perl, util-linux) that might not be universally installed.
5 months ago
1 day