Skip to main content

llmfit

llmfit icon

English · 中文 · 日本語

CI Crates.io License Signed with SignPath

AlexsJones%2Fllmfit | Trendshift

Find out which open-source Large Language Models (LLMs) your hardware can comfortably run. llmfit inspects your CPU, system RAM, GPU(s), VRAM, and accelerator configuration to recommend models across popular quantizations.

📊 New: benchmark & share — real numbers from your machine, better estimates for everyone. Download a model, serve it, and measure real tok/s on your hardware — then contribute the results back to the project as a PR, straight from the TUI. No gh CLI, no third-party account. Every run is saved locally first, your own measurements replace estimates in the fit table, and each merged submission ships in the next release: anyone on identical hardware gets measured ✓ numbers before they ever run a benchmark. Follow the step-by-step benchmarking guide →

llmfit demo: searching for a model, simulating different hardware, and planning a deployment

Features

  • Hardware Auto-Detection: Detects CPU cores, system RAM, available discrete/integrated GPUs, VRAM, and unified memory architecture (NVIDIA CUDA, Apple Silicon, AMD ROCm, Intel OneAPI).
  • Model Compatibility Engine: Analyzes model parameter counts, context lengths, and quantization formats (GGUF, AWQ, GPTQ, EXL2) to project memory footprints and tokens-per-second performance.
  • Interactive TUI & Web Dashboard: Choose between a lightweight, zero-dependency terminal interface or a feature-rich web dashboard.
  • REST API Endpoint: Exposes standard HTTP JSON endpoints (/api/v1/system, /api/v1/models) for integration into orchestrators, dashboards, and automated deployment pipelines.
  • Multi-Platform Support: macOS (Apple Silicon & Intel), Linux (x86_64 & ARM64), and Windows (x86_64).
  • Hundreds of models & providers. One command to find what runs on your hardware.

A terminal tool that right-sizes LLM models to your system's RAM, CPU, and GPU. Detects your hardware, scores each model across quality, speed, fit, and context dimensions, and tells you which ones will actually run well on your machine.

Ships with an interactive TUI (default) and a classic CLI mode. Supports multi-GPU setups, MoE architectures, dynamic quantization selection, speed estimation, and local runtime providers (Ollama, llama.cpp, MLX, Docker Model Runner, LM Studio).


Sister projects

  • sympozium — managing agents in Kubernetes.
  • llmserve — a simple TUI for serving local LLM models. Pick a model, pick a backend, serve it.
  • llama-panel — a native macOS app for managing local llama-server instances.
  • llmfit-gui — a Windows desktop GUI (PowerShell + WinForms) for llmfit: browse recommendations, download into LM Studio/Ollama, and benchmark, all point-and-click.

Documentation

Get started Install · Usage · How it works
Guides TUI guide · Benchmarking step-by-step · CLI & automation · Runtime providers · OpenClaw integration
Reference How it works (full) · Platform & GPU support · Custom models · Development
Project Contributing · Alternatives · Code signing · License

Install

Windows

scoop install llmfit

If Scoop is not installed, follow the Scoop installation guide.

macOS / Linux

Homebrew

Prebuilt binary (recommended, works on all macOS/Linux versions):

brew install AlexsJones/llmfit/llmfit

Or from the homebrew-core formula, which builds from source on macOS versions without a bottle:

brew install llmfit

MacPorts

port install llmfit

Quick install

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

Downloads the latest release binary from GitHub and installs it to /usr/local/bin (or ~/.local/bin if no sudo).

Install to ~/.local/bin without sudo:

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

uv / pip

To install or update llmfit:

uv tool install -U llmfit

To run without installing:

uvx llmfit

You can also install llmfit as a Python package in the normal way with tools such as pip or uv.

Pre-built Binaries

Download release binaries for Linux, macOS, and Windows directly from the GitHub Releases page. Windows binaries are signed only when that release's complete sign-windows job succeeds, including signing, repackaging, artifact replacement, and checksum upload; a release may still publish an unsigned Windows artifact if signing is skipped or fails. Verify the executable signature if you require a signed binary.


Container Deployment

llmfit provides a multi-architecture Docker image (ghcr.io/alexsjones/llmfit) supporting both interactive CLI/TUI and headless Web UI / API server modes.

Interactive TUI

To launch the interactive TUI instead, pass the global --tui flag:

docker run -it --rm ghcr.io/alexsjones/llmfit --tui

Non-Interactive

This prints JSON from llmfit recommend command.

docker run ghcr.io/alexsjones/llmfit

This prints JSON from llmfit recommend command. The JSON could be further queried with jq.

podman run ghcr.io/alexsjones/llmfit recommend --use-case coding | jq '.models[].name'

To launch the interactive TUI instead, pass the global --tui flag:

docker run --rm -it ghcr.io/alexsjones/llmfit --tui

From source

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

Usage

Terminal Interface (TUI)

Launch llmfit in your terminal without flags to start the interactive browser:

llmfit          # interactive TUI: your hardware, every model, ranked

The TUI shows your detected specs at the top and every model scored for fit, speed, quality, and context. See the TUI guide for navigation, planning, simulation, downloads, the community leaderboard, and benchmarking.

Keybindings inside the TUI:

  • b: Open community benchmarks; I: Open live inference benchmarks
  • h: Show help and keybindings
  • ↑ / ↓ or k / j: Navigate list items
  • /: Filter models by name, family, or quantization
  • Esc: Clear search / Back

Command Line Options

# Print hardware telemetry and recommended models to standard output
llmfit recommend

# Output system profile and recommendations in raw JSON format
llmfit recommend --json

# Estimate SSD capacity for keeping three runnable models
llmfit storage --keep 3 --selection largest --json

# Start the native HTTP API server
llmfit serve --host 0.0.0.0 --port 8787

See model library storage for selection, OS reserve, download scratch, free-space headroom, and hardware simulation.

Web UI & API Server

docker run -d -p 8787:8787 ghcr.io/alexsjones/llmfit serve

Docker Compose

---
services:
  llmfit:
    image: ghcr.io/alexsjones/llmfit:latest
    container_name: llmfit
    restart: unless-stopped
    command: ["serve", "--host", "0.0.0.0", "--port", "8787"]
    ports:
      - "8787:8787"
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:8787/health"]
      interval: 15s
      timeout: 5s
      retries: 3
      start_period: 10s

For scripts, agents, and classic terminal output:

llmfit fit                    # table of all models ranked by fit
llmfit recommend --json       # top picks as JSON (agent/script consumption)
llmfit info "<model>"         # one model: fit analysis, estimate basis, verify commands
llmfit bench                  # measure real tok/s/TTFT against your running provider
llmfit doctor                 # hardware detection report for bug reports
llmfit serve                  # start the api and web user interface

Full reference: CLI & automation.


Community & Benchmarks

llmfit includes hardware detection and performance benchmarks contributed by the community. You can share your hardware benchmark results using:

llmfit bench --share

How it works

llmfit detects your hardware (RAM, CPU, GPU/VRAM, backend), then scores every model in its catalog across four dimensions: memory fit, estimated speed, quality, and context. Speed estimates come from a memory-bandwidth model grounded in runtime sampling and real community measurements — and every estimate ships its inputs, so llmfit info shows exactly what a number assumes and how to verify it on your machine.

Full detail, including the estimation formulas and the model database: How llmfit works.


Contributing

Contributions are welcome, especially new models.

Before submitting a PR

Please run cargo fmt before pushing your changes. Most CI check failures are caused by unformatted code:

cargo fmt

Guides for adding models — locally (no rebuild) or to the built-in catalog: Custom models.


Alternatives

If you're looking for a different approach, check out llm-checker -- a Node.js CLI tool with Ollama integration that can pull and benchmark models directly. It takes a more hands-on approach by actually running models on your hardware via Ollama, rather than estimating from specs. Good if you already have Ollama installed and want to test real-world performance. Note that it doesn't support MoE (Mixture-of-Experts) architectures -- all models are treated as dense, so memory estimates for models like Mixtral or DeepSeek-V3 will reflect total parameter count rather than the smaller active subset.


Code signing

llmfit's Windows release binaries are intended to be digitally signed (Authenticode) via SignPath.io, with a free code signing certificate provided by the SignPath Foundation. A given release is signed only when its complete sign-windows job succeeds, including signing, repackaging, artifact replacement, and checksum upload; signing can be skipped or fail while the release still publishes an unsigned artifact. Verify the executable signature before relying on it.

Signing happens automatically in the release pipeline: only artifacts built by GitHub Actions from this repository are submitted for signing, and signing requests are approved by the project maintainer (@AlexsJones).

Code signing policy: see the SignPath Foundation code signing policy and terms.

Privacy: this program will not transfer any information to other networked systems unless specifically requested by the user or the person installing or operating it. llmfit only contacts external services when you explicitly use the corresponding feature (e.g. model downloads, runtime provider queries, or the community leaderboard).


License

MIT

Metadata

Release files for llmfit 1.1.17

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distributions (wheels)

Table of built distributions (wheels) for llmfit 1.1.17
File
llmfit-1.1.17-py3-none-win_arm64.whl Python 3 none Windows ARM64 Details
llmfit-1.1.17-py3-none-win_amd64.whl Python 3 none Windows x86-64 Details
llmfit-1.1.17-py3-none-musllinux_1_2_x86_64.whl Python 3 none Linux musl 1.2+ x86-64 Details
llmfit-1.1.17-py3-none-musllinux_1_2_aarch64.whl Python 3 none Linux musl 1.2+ ARM64 Details
llmfit-1.1.17-py3-none-manylinux_2_39_riscv64.whl Python 3 none Linux glibc 2.39+ RISC-V 64 Details
llmfit-1.1.17-py3-none-manylinux_2_17_x86_64.whl Python 3 none Linux glibc 2.17+ x86-64 Details
llmfit-1.1.17-py3-none-manylinux_2_17_aarch64.whl Python 3 none Linux glibc 2.17+ ARM64 Details
llmfit-1.1.17-py3-none-macosx_11_0_arm64.whl Python 3 none macOS 11.0+ ARM64 Details
llmfit-1.1.17-py3-none-macosx_10_12_x86_64.whl Python 3 none macOS 10.12+ x86-64 Details

Total release size: 61.3 MB

Release files / llmfit-1.1.17-py3-none-win_arm64.whl

Download URL llmfit-1.1.17-py3-none-win_arm64.whl
Size 5.9 MB
Tags Python 3 Windows ARM64
SHA-256 checksum
How to use checksums
5db99120bdd34400c5697c4605b1c3a90ca1639f91f02afc121eafe60fd933de
BLAKE2b-256 checksum
How to use checksums
d9d73e702262baecb5a683aae20f752aa15653dfded5d7aca3827be1275b69a5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 8, 2026.

Transparency log

Release files / llmfit-1.1.17-py3-none-win_amd64.whl

Download URL llmfit-1.1.17-py3-none-win_amd64.whl
Size 6.2 MB
Tags Python 3 Windows x86-64
SHA-256 checksum
How to use checksums
29c8b4ca51664615d7b77362f55cbdf519c821b1550eb5493da33da367618942
BLAKE2b-256 checksum
How to use checksums
a74c35a7b51bef6158733d61550699a3467bcb224a94eaca0d6269022bbc7533
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 8, 2026.

Transparency log

Release files / llmfit-1.1.17-py3-none-musllinux_1_2_x86_64.whl

Download URL llmfit-1.1.17-py3-none-musllinux_1_2_x86_64.whl
Size 7.4 MB
Tags Linux musl 1.2+ x86-64 Python 3
SHA-256 checksum
How to use checksums
b00835e946d989ced887ab57715e567024203c35c66dde6ebfad728222f7c6cc
BLAKE2b-256 checksum
How to use checksums
1f5dc9e2828cdf948f0084d06b9ff841fe13f29f762ba6844b19abcc22f2d717
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 8, 2026.

Transparency log

Release files / llmfit-1.1.17-py3-none-musllinux_1_2_aarch64.whl

Download URL llmfit-1.1.17-py3-none-musllinux_1_2_aarch64.whl
Size 7.2 MB
Tags Linux musl 1.2+ ARM64 Python 3
SHA-256 checksum
How to use checksums
cf08645c699f5fdeeb2f35b38e1b0fc14b770601165764b2cf5dfb5da40c0c8f
BLAKE2b-256 checksum
How to use checksums
6ebaf0af1c3bb69b34d16204f8b823cfa38c91dfbe54b2d89bf3f116974abd7d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 8, 2026.

Transparency log

Release files / llmfit-1.1.17-py3-none-manylinux_2_39_riscv64.whl

Download URL llmfit-1.1.17-py3-none-manylinux_2_39_riscv64.whl
Size 7.1 MB
Tags Linux glibc 2.39+ RISC-V 64 Python 3
SHA-256 checksum
How to use checksums
0a0c73df5c23f9721748510baedd40ad240769b2a9c61a7a0754d53b3cb0e527
BLAKE2b-256 checksum
How to use checksums
913ad4b679b635fb33a833b72e0fc3ee42e7ccac759229c544f25fa8b02d50d6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 8, 2026.

Transparency log

Release files / llmfit-1.1.17-py3-none-manylinux_2_17_x86_64.whl

Download URL llmfit-1.1.17-py3-none-manylinux_2_17_x86_64.whl
Size 7.2 MB
Tags Linux glibc 2.17+ x86-64 Python 3
SHA-256 checksum
How to use checksums
2c6762f9b7d4f42adbf74667e331521ee1909ba8dfe8b4b4cf3f4bd1dee4df27
BLAKE2b-256 checksum
How to use checksums
b2d49b604c696ca3c7e19943f8fb19a767d6f5be00451fab69c0720eeed34678
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 8, 2026.

Transparency log

Release files / llmfit-1.1.17-py3-none-manylinux_2_17_aarch64.whl

Download URL llmfit-1.1.17-py3-none-manylinux_2_17_aarch64.whl
Size 7.1 MB
Tags Linux glibc 2.17+ ARM64 Python 3
SHA-256 checksum
How to use checksums
418c43c7382c9860539aad9f5c56f82b4992c681f4cc674f3302360d131abcaf
BLAKE2b-256 checksum
How to use checksums
824f1e967a1398bd294b9462548249eec66b555ae8f01b90db5de8bfab4c4b3e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 8, 2026.

Transparency log

Release files / llmfit-1.1.17-py3-none-macosx_11_0_arm64.whl

Download URL llmfit-1.1.17-py3-none-macosx_11_0_arm64.whl
Size 6.6 MB
Tags Python 3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
47f80f68b0fe58b793e6251b7dba420955eaaf6a656ce36e3d0f8e6253b3037d
BLAKE2b-256 checksum
How to use checksums
6b51739f23ebf38332eae7a2fd9a43884b45d5fba8bb91725539def3b54ec88c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 8, 2026.

Transparency log

Release files / llmfit-1.1.17-py3-none-macosx_10_12_x86_64.whl

Download URL llmfit-1.1.17-py3-none-macosx_10_12_x86_64.whl
Size 6.7 MB
Tags Python 3 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
5d881741737793e2e279bf66296ef1da4c1695f0b405f6b204699fd3ea902b5b
BLAKE2b-256 checksum
How to use checksums
0ccb88cd97eed6accf186d145c959c4a8037d143c4aa70f6e0b498ba75fdff01
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 8, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

1.1.17 This release

9 release files

1.1.16

9 release files

1.1.15

9 release files

1.1.12

9 release files

1.1.11

9 release files

1.1.10

9 release files

1.1.9

9 release files

1.1.8

9 release files

1.1.7

9 release files

1.1.6

9 release files

1.1.5

9 release files

1.1.4

9 release files

1.1.3

9 release files

1.1.2

9 release files

1.1.1

9 release files

1.1.0

9 release files

1.0.1

9 release files

1.0.0

9 release files

0.9.34

9 release files

0.9.33

9 release files

0.9.32

9 release files

0.9.29

8 release files

0.9.28

8 release files

0.9.23

8 release files

0.9.18

8 release files

0.9.17

8 release files

0.9.16

8 release files

0.9.15

8 release files

0.9.14

8 release files

0.9.13

8 release files

0.9.12

8 release files

0.9.11

8 release files

0.9.10

8 release files

0.9.9

8 release files

0.9.8

8 release files

0.9.7

8 release files

0.9.6

8 release files

0.9.5

8 release files

0.9.4

8 release files

0.9.3

8 release files

0.9.2

8 release files

0.9.1

8 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page