samuelfaj/distill

Get FAR MORE done with FAR FEWER tokens 🔥

Distill – ターミナルベースのコーディングアシスタント

何であるか – Distill は、コードベースを読み取り、ファイルを編集し、シェルコマンドを実行しながら、大規模言語モデル(LLM)と会話できるコマンドラインツールです。ターミナル内でのやり取りをすべて維持します。OpenAI互換モデル(ローカルまたはホスト)の軽量ラッパーとして機能し、Grok、ChatGPT、OpenRouterとも統合可能です。

主な機能

  • マルチモデル層 – 3つの役割を設定できます:
    • 推論モデル – 主要な重いモデルで、重い推論やコード変更を担当します。
    • ワーカーモデル(オプション) – 同じ会話内で安価な呼び出しを処理できる軽量モデルです。
    • ユーティリティモデル – 値の抽出、ログの要約、テキストの圧縮など、制限されたタスクに特化したモデルです。
  • 自動ルーティング(Jev) – 各リクエストごとに、どの層が呼び出しを処理すべきか、どの程度の「努力」(モデルサイズ/温度)を使用すべきか、そしてユーティリティモデルにフォールバックするかを内部の意思決定層が決定します。ルーティングロジックは透明で、GROK_LOG_JEV=1 で確認できます。
  • プロバイダーアーグノスティック – Grok、ChatGPT、OpenRouter、または任意の自己ホスト型OpenAI互換サーバーと動作します。必須のサインインは不要。到達可能なエンドポイントと適切なAPIキーがあれば十分です。
  • ゼロインストールランタイム – macOS Apple Silicon、Intel、Linux x86_64/ARM64用の事前ビルド済みバイナリを、単一の curl … | sh コマンドでインストールできます。エンドユーザーにはRustツールチェーンは必要ありません。
  • プロファイルベースの設定 – 設定は ~/.distill(またはカスタム DISTILL_HOME)に保存されます。各プロバイダー用に別々の資格情報を保持でき、簡単なスラッシュコマンド(/model/worker-model/utility-model)でモデルを切り替えられます。
  • ライブアップデートdistill update コマンドでインストール済みバイナリをアップグレードしつつ、設定、資格情報、セッション状態を保持します。

導入方法

# インストール(macOS/Linux)
curl -fsSL https://raw.githubusercontent.com/samuelfaj/distill/main/install.sh -o /tmp/distill-install.sh
sh /tmp/distill-install.sh
export PATH="$HOME/.local/share/distill/bin:$PATH"

distill            # インタラクティブUIを起動

UI内では Model tiers スクリーンからモデルを変更するか、以下のコマンドを入力できます:

/model gpt-6-astra auto
/worker-model gpt-5.6-luna auto
/utility-model openrouter-qwen37 auto

ツールは、選択されたワーカーモデルが推論モデルのコンテキストウィンドウ内に収まるかを自動で検証します。

ローカルモデルで実行する場合 – 任意のOpenAI互換サーバー(例:Ollama、vLLM)を起動し、~/.distill/config.toml にエントリを追加します:

[models]
default = "local"

[model.local]
name = "Local model"
model = "my-local-model"
base_url = "http://127.0.0.1:8000/v1"
api_backend = "chat_completions"

Distillはその後、すべての層をそのサーバーにルーティングします(またはローカルのユーティリティモデルとリモートの推論モデルを併用することも可能です)。

ソースからのビルド – カスタムバイナリが必要な場合、リポジトリをクローンしてCargoでコンパイルします:

git clone https://github.com/samuelfaj/distill.git
cd distill
cargo build --locked --release -p distill-pager-bin --bin distill
./target/release/distill

リポジトリには必要なRustバージョンをピンする rust-toolchain.toml ファイルが含まれています。

ライセンス – Apache 2.0(LICENSE を参照)。CONTRIBUTING.md に記載のポリシーに基づき、貢献を歓迎します。


Distill は、開発者がシェル内に留まりながら、モデルがコードを読み取り、編集し、実行するのを支援する、ターミナル最優先のLLM駆動型ペアプログラマーです。プロバイダーの詳細を抽象化し、自動モデル層ルーティングを提供し、クラウドAPIと自己ホストモデルの両方で動作します。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト