simonmysun/ell

A command-line interface for LLMs written in Bash.

解決する課題

ellは、コマンドラインから直接大規模言語モデル(LLM)とやり取りするための、軽量で依存関係のない方法を提供します。ほぼ純粋なBashで書かれているため、複雑なインストールや重いランタイムを必要とせず、ターミナルベースのワークフローやシェルパイプラインにLLMを簡単に統合できます。

仕組み

このツールは、LLM API(OpenAIやGoogle Geminiなど)のラッパーとして機能します。curlを介してこれらのサービスにプロンプトを送信し、レスポンスを処理します。以下の複数のインタラクションモードをサポートしています:

  • Standard Query: コマンドライン経由で直接プロンプトを送信します。
  • Pipe-friendly: stdinを介して他のターミナルコマンドからの入力を受け付けます。
  • Interactive Mode: ターミナル内でのチャット形式のインターフェース。
  • Record Mode: ターミナルの入出力をキャプチャし、後続のLLMクエリのコンテキストとして使用します。

対象ユーザー

ターミナルでほとんどの時間を過ごし、シェル環境を離れることなくLLMに素早く最小限の方法でクエリを投げたい開発者、システム管理者、パワーユーザー。

ハイライト

  • Pure Bash: 極めて軽量で、Unix系システムへのインストールが容易です。
  • コンテキスト認識: ターミナルセッションを記録して、LLMにリアルタイムの技術的コンテキストを提供できます。
  • パイプ統合: パイプを使用して他のCLIツールとシームレスに連携するように設計されています。
  • 拡張性: テンプレートとプラグインをサポートし、関数呼び出しやカスタム動作を実装できます。
  • プライバシー: 機密情報の編集(redaction)機能を備えています。