Favicon of llmfit

llmfit

CLI/TUI that detects your RAM, CPU, and GPU, then ranks hundreds of LLM models by fit, speed, quality, and context.

llmfit website screenshot
llmfit GitHub repository preview

llmfit is a Rust-based terminal tool for developers who run local LLMs and want to know which models their hardware can actually handle before downloading gigabytes of weights. It detects your RAM, CPU, and GPU/VRAM, then scores a catalog of hundreds of models across memory fit, estimated speed, quality, and context length. It's aimed at anyone using Ollama, llama.cpp, MLX, LM Studio, or Docker Model Runner who is tired of guessing whether a model will fit or crawl on their machine.

The tool ships as an interactive TUI by default, plus a classic CLI mode for scripts and agents. It works across Windows, macOS, and Linux, and supports multi-GPU setups and Mixture-of-Experts (MoE) architectures, where memory usage depends on active parameters rather than total parameter count.

Key features

  • Hardware detection: automatically reads RAM, CPU, GPU, and VRAM to build an accurate picture of what your system can run.
  • Model scoring: ranks every catalog model on four dimensions, fit, speed, quality, and context, so you can compare tradeoffs at a glance.
  • Interactive TUI: shows detected specs alongside a ranked model list, with navigation for planning, simulation, downloads, and a community leaderboard.
  • Classic CLI mode: commands like fit, recommend --json, info, bench, and doctor for scripting, agents, and bug reports.
  • MoE-aware estimates: correctly accounts for active-parameter memory usage in architectures like Mixtral or DeepSeek-V3, unlike tools that treat all models as dense.
  • Real benchmark contribution: lets you measure actual tok/s on your hardware and submit results back to the project as a PR directly from the TUI, no gh CLI or third-party account required.
  • Multi-provider support: works with Ollama, llama.cpp, MLX, Docker Model Runner, and LM Studio as runtime providers.
  • Transparent estimates: llmfit info shows the inputs behind each speed estimate and how to verify them on your own machine.

Ideal use cases

llmfit fits well if you're setting up a new machine for local LLM work and want a quick answer to "what can I actually run here" before downloading multi-gigabyte model files. It's also useful for scripting model selection into an agent pipeline, since llmfit recommend --json produces machine-readable output for automated decisions. Teams comparing quantization options or checking whether a model will fit alongside other workloads on shared hardware benefit from the fit/speed/quality/context scoring.

It's a good match for anyone already using local runtimes like Ollama or llama.cpp who wants estimates before committing to a download, and for contributors who want to benchmark their own hardware and feed real numbers back into the project's model database.

It's not the right tool if you want to run and benchmark models directly through Ollama with a more hands-on, execution-first workflow (llm-checker fills that niche, though it lacks MoE support). It also isn't useful if you don't run models locally at all, since llmfit is built around estimating fit for on-device hardware rather than managing cloud-hosted or API-based LLM providers.

Installation

llmfit offers several install paths depending on platform.

Windows (Scoop):

scoop install llmfit

macOS/Linux (Homebrew):

brew install AlexsJones/llmfit/llmfit

MacPorts:

port install llmfit

Quick install script:

curl -fsSL https://llmfit.axjns.dev/install.sh | sh

Use --local to install to ~/.local/bin without sudo.

Python (uv/pip):

uv tool install -U llmfit
# or run without installing:
uvx llmfit

Docker/Podman:

docker run ghcr.io/alexsjones/llmfit

Add --tui to launch the interactive interface, or pipe JSON output to jq for scripting.

From source:

git clone https://github.com/AlexsJones/llmfit.git
cd llmfit
cargo build --release
# binary is at target/release/llmfit

Once installed, running llmfit alone opens the TUI. For scripting, use subcommands like llmfit fit, llmfit recommend --json, llmfit info "<model>", llmfit bench, or llmfit doctor.

Frequently asked questions

Share:

Stars
30.8K
Forks
1.9K
Last commit
2 days ago
Repository age
5 months
License
MIT
Self-hosted
No
Activity score
83/100
View Repository
Ad
Favicon

 

  
 

Similar to llmfit

Favicon

 

  
 
Favicon

 

  
 
Favicon