llmfit
AlexsJones / llmfit — マシンの RAM・CPU・GPU に合うローカル LLM を推奨するツール
ハードウェアを検出し、モデルごとに品質・速度・適合度・コンテキストの合成スコアを付与。最適な量子化・推定 tok/s・実行モード(GPU / CPU+GPU / CPU)を返す。デフォルトは対話式 TUI。コミュニティベンチマーク(b)やダウンロードマネージャ(D)、ハードウェアシミュレーション(S)など、README に定義されたショートカットで周辺機能にアクセスする。
ルートの Cargo.toml は llmfit-core・llmfit-tui・llmfit-desktop をメンバーとするワークスペース。default-members は core と tui。デスクトップは Tauri。Python バインディングは llmfit-python/、ブラウザ UI は llmfit-web/(Vite)。モデルメタやスクリプトは data/ と scripts/ に分かれる。
| パス | 役割 |
|---|---|
llmfit-core/ | 適合計算・モデルカタログ・共有ロジック |
llmfit-tui/ | 既定エントリ。Ratatui ベースの対話 UI |
llmfit-desktop/ | Tauri + 埋め込み UI のネイティブアプリ |
llmfit-web/ | llmfit serve 向けフロント資産 |
llmfit-python/ | PyPI 向けパッケージ(uv / pip で配布) |
skills/llmfit-advisor/ | エージェント向け SKILL(OpenClaw メタ付き) |
| 入口 | 用途 |
|---|---|
llmfit(引数なし) | ローカルで一覧・絞り込み・比較 |
| サブコマンド / フラグ | recommend、--json、用途・最小適合度などのフィルタ |
llmfit serve | HTTP API と同一オリジンの Web ダッシュボード(既定ポート例: 8787) |
| Docker イメージ | recommend 等の JSON をパイプ処理向けに取得 |
| Python / エージェント | llmfit バイナリを呼び出し、JSON を解釈してプロバイダ設定へ写す |
Vim 風のモード(Normal / Visual / Select)で操作が分岐。README のキーバインド表を要約すると、検索は /、適合フィルタは f、ソート列は s、コミュニティベンチマークは b、詳細は Enter、終了は q。Plan モード(p)では「このモデルに必要なVRAMや文脈長は?」を逆算する。
d で取得、m / c でマルチ比較。Visual モードで範囲選択し、属性横並びの表で読む。llmfit recommend --json 等で同じコア結果を機械可読に渡す。llmfit serve
クラスタの各ノードで推奨モデルを HTTP で問い合わせ、外部のスケジューラや UI で集約する想定。GET /health、GET /api/v1/system、推奨系エンドポイントでノードのハードウェアとランキングを取得する。ダッシュボード用アセットは llmfit-web でビルドしてからバイナリに埋め込む手順が API ドキュメントに記載されている。
llmfit serve --port 8787
# 例: メモリ上書きで応答を検証
llmfit --memory 24G --ram 64G --cpu-cores 16 --max-context 8192 serve --port 8787
リポジトリ同梱の skills/llmfit-advisor/SKILL.md は、ローカルモデル選定をエージェントに委ねる手順を定義する。トリガー例: 「この GPU で動くモデルは?」「コーディング向けにローカルで何を選ぶ?」。推奨フローは (1) llmfit --json system で環境確認、(2) llmfit recommend --json --limit N で上位候補、(3) Ollama タグや vLLM / LM Studio の識別子へマッピング、(4) 設定ファイル(例: OpenClaw の openclaw.json)へ反映、の四段。
| コマンド例 | 返却の用途 |
|---|---|
llmfit --json system | CPU 名、コア数、RAM、GPU 名、VRAM、unified memory フラグ |
llmfit recommend --json --limit 5 | 上位5件のスコア・fit_level・best_quant・estimated_tps |
llmfit recommend --json --use-case coding --limit 3 | 用途別に絞った推奨 |
llmfit recommend --json --min-fit good | marginal 以下を除外して安定運用向けに絞る |
perfect / good / marginal / TooTight。スキルでは TooTight をユーザーに勧めない、と明記されている。
パッケージマネージャ(Scoop / Homebrew / MacPorts)、install.sh、uv tool install、コンテナ、ソースからの cargo build --release。エージェントスキル側では Homebrew と cargo の両方をインストール候補として列挙している。
brew install llmfit
# または
uv tool install -U llmfit
uvx llmfit
- GitHub: AlexsJones/llmfit — ソース・Issue・リリース
- crates.io: llmfit — Rust クレート
- install.sh(README 記載のホスト)— クイックインストール
- localmaxxing.com — コミュニティベンチマークのデータソース(README 記載)