llmfit

AlexsJonesMIT活跃维护

一条命令就能从数百个模型和供应商里筛出适合你硬件配置的本地大模型,省去逐个试跑和查显存的麻烦。

Hundreds of models & providers. One command to find what runs on your hardware.

v1.1.20发布于 2026-11-03 17:39 UTC38,894star +155 / 7 天2,514fork同步于 2026-11-10 23:22 UTC

怎么上手

由 README 提炼,执行前请确认
brew install AlexsJones/llmfit/llmfit
llmfit
硬件要求按 README 说明

README 未给出最低配置;检测覆盖 NVIDIA CUDA、Apple Silicon、AMD ROCm、Intel OneAPI 等加速后端,支持 macOS、Linux、Windows。

支持 Apple Silicon需要 CUDA支持 ROCm / AMD多卡 / 张量并行有 Docker 镜像
下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

由 README 自动翻译提炼

检测你的 CPU、内存和显卡,告诉你哪些开源大模型能在这台机器上跑得动

一条命令就能从数百个模型和供应商里筛出适合你硬件配置的本地大模型,省去逐个试跑和查显存的麻烦。

核心能力

  • 自动识别 CPU 核数、内存、GPU 显存与统一内存架构
  • 按显存占用、速度、质量和上下文四个维度给模型打分排序
  • 内置交互式 TUI,也提供 Web 面板和 REST API
  • 支持多 GPU、MoE 架构和动态量化选择
  • 可对本地运行的模型实测 tok/s 并回传社区基准

容易踩的坑

Homebrew 的 homebrew-core 版本在没有预编译包(bottle)的 macOS 上会从源码编译;Windows 预编译二进制仅在签名任务成功后发布,旧版本需自行校验签名;集群模式仍是预览功能,只针对 mock Ray Dashboard 测试过。

内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README

最近发版

5 个版本v1.1.20
  1. v1.1.20最新正式版2026-11-03 · 2026-11-03 17:39 UTC

    1.1.20 (2026-11-03)

    Bug Fixes

    • NVFP4 and MXFP4 safetensors repos are no longer offered as llama.cpp fits, so they don't top the list on ROCm and CPU machines (#1230)
    • 39 large models now have real attention-head counts from their config.json (including Llama-3.1-405B and MiniMax-M1), so --cluster can check their tensor-parallel splits (#1230)
    • diff and the TUI compare view no longer put a model that doesn't fit, or whose cluster split is refused, ahead of one that fits (#1230)
    • cluster: the banner shows the VRAM pool actually used when --memory is set (#1230)
    • cluster: Ray discovery sets backend from the GPU vendor where Ray reports it, and otherwise names the nodes that need backend set instead of assuming CUDA (#1230)
    • cluster: --json errors from cluster init, cluster status, cluster clear and --cluster; "1 node" instead of "1 nodes"; cpu_cores taken from the machine's core count, not Ray's CPU resource (#1230)

    What's Changed

    Full Changelog: https://github.com/AlexsJones/llmfit/compare/v1.1.19...v1.1.20

  2. v1.1.192026-11-03 · 2026-11-03 15:14 UTC
    查看更新说明

    1.1.19 (2026-11-03)

    Features

    Bug Fixes

    • exclude NVFP4 on ROCm GPUs (#1203) (e3d5fe5)
    • hardware: avoid collecting unrelated process information (#1200) (a560b35)
    • match benchmark calibration by PCIe link width (#1202) (ad2859b)
    • models: keep the most-downloaded repo as a deduped model's identity (#1205) (242407f)
    • models: supports_tp now allows GQA KV-head replication like vLLM (TP larger than the KV-head count), which changes the TUI tensor-parallel filter and API results for all users (f01092f)
    • models: stop flagging non-chat models as tool-capable (#1207) (012eba4)
    • providers: prevent false MLX installed matches (#1206) (6a4f070)
    • scraper: read the HF migration createdAt as no release date (#1194) (1b3c707), closes #176
    • scraper: use the GGUF header count when the config estimate is lower (#1166) (7c88807)
    • tui: align simulation popup cursor with the wider VRAM/GPU label (855c75c)
    • web: restore jsdom localStorage in tests on Node 25+ (#1222) (1068476)

    What's Changed

  3. v1.1.182026-10-28 · 2026-10-28 08:33 UTC
    查看更新说明

    1.1.18 (2026-10-28)

    Features

    • bench: discover and benchmark models loaded in LM Studio (#1129) (ccc1390)
    • cli: show backend-incompatible models on request (#1143) (eb8db38)
    • hardware: detect and show the PCIe link of NVIDIA GPUs (#1153) (b8124fb)
    • scraper: backfill release_date for catalog entries without one (#1060) (31a90a4), closes #176
    • web: catch the dashboard up with estimate confidence, concurrency, storage and TUI filters (#1094) (363b683)

    Bug Fixes

    • bench: read OLLAMA_HOST like the Ollama provider does (#1171) (ea1ceb9)
    • build: give the Windows binary an 8 MB main-thread stack (#1198) (f2f07d4)
    • claim: reject --quant labels it does not recognize (#1162) (628184e)
    • claim: size the MoE bandwidth floor from active parameters (#1150) (2491243)
    • cli: accept the sizing flags after the subcommand (#1172) (fdc859d)
    • cli: exit quietly when stdout is a closed pipe (#1185) (9245299)
    • cli: match every word of a multi-word search (#1188) (b7c4812)
    • cli: reject --memory and --ram values that do not parse (#1160) (42f2395)
    • cli: return structured JSON errors from plan, concurrency and claim (#1191) (a552271)
    • diff: compare named models whatever their fit (#1190) (3b4dff2)
    • fit: gate pre-quantized FP4 repos on the GPU's kernel support, not the catalog quant (#1127) (781e76a)
    • fit: report the quant the MoE offload path chose (#1121) (bb92661), closes [#1119](https://github.com/AlexsJone
  4. v1.1.172026-10-08 · 2026-10-08 18:04 UTC
    查看更新说明

    1.1.17 (2026-10-08)

    Features

    • cli: add --memory-percent and --ram-percent overrides (#1089) (17d45bd)
    • tui: add mouse support to existing controls (#1110) (8caf925)

    Bug Fixes

    • api: make include_too_tight=true return too_tight rows (#1087) (cbd30d7)
    • cli: honor --json in search (#1113) (f89395b), closes #901
    • cli: reject unknown recommend filter values (#1114) (35fdd4f)
    • fit: dense CpuOffload TPS uses measured DDR bandwidth and the GPU/RAM split (#1108) (b3a5974)
    • fit: make ranking deterministic across runs (#1066) (f2eafd0)
    • fit: pick the best quant within the Marginal ceiling (#1120) (449fe95), closes #1118
    • hardware: treat an Intel adapter with no series name as integrated (#1100) (c299bc5)
    • models: prefer name-declared size when scraped params are implausible (#925) (f433cf6)

    Performance Improvements

    • hardware: run lspci once per process (#1065) (0728894)
    • tui: optimize model search filtering in apply_filters for 40%+ speedup (#934) (ca864d0)

    What's Changed

  5. v1.1.162026-09-19 · 2026-09-19 12:53 UTC
    查看更新说明

    1.1.16 (2026-09-19)

    Features

    • concurrency: concurrent-session capacity estimator (#140) (#999) (1936acc)
    • models: Sept 2026 model refresh (GLM-5.3, Qwen3.8-Flash-Next, DeepSeek-V4.1, Kimi-K3 and more) (#1055) (6dd1f3c)
    • recognize native ternary (1.58-bit) models (#886) (569a9ac)
    • storage: add disk planning for model libraries (#1023) (42c2641)

    Bug Fixes

    • bench: error when the requested model is not available (#1041) (f66aad9)
    • bench: ignore implausible tok/s from degenerate Ollama timings (#1042) (86a0d08)
    • bench: stop wall timer after body read in OpenAI and Ollama paths (#1037) (63753e9), closes #1028
    • fit: size and price MXFP4-native models at MXFP4 (#1059) (650cd1e)
    • hardware: recognize A-series Apple Silicon unified memory (#1044) (e138964)
    • plan: grade GPU paths against free VRAM, not total capacity (#1058) (0d48118), closes #835
    • providers: find HF models in HF_HUB_CACHE and XDG_CACHE_HOME (#1051) (83d4963)
    • providers: map Gemma 4 instruct models to their Ollama tags (#1043) (a172f2a), closes #1024
    • providers: map gemma4:12b and other Sept 2026 catalog additions to Ollama tags (#1056) (01c805c), closes #1024
    • scraper: budget GGUF source probing so the weekly run can finish (#1061) (44de365)
    • scraper: coerce list-valued expert counts; a failed estimate cannot abort a scrape (#1064) (84007d5)
    • scraper: never size hybrid SSM models by the estimator; cap by declared size (#1063) ([2dd0628](https://github.co

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    llmfit

    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 startedInstall · Usage · How it works
    GuidesTUI guide · Benchmarking step-by-step · CLI & automation · Cluster mode (Ray / multi-node) · Runtime providers · OpenClaw integration
    ReferenceHow it works (full) · Platform & GPU support · Custom models · Development
    ProjectContributing · Alternatives · Code signing · License

    Install

    Windows

    WinGet
    winget install --exact --id AlexsJones.llmfit
    
    Scoop
    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 only published once that release's sign-windows job has signed, repackaged, and re-checksummed them; if signing is skipped or fails, the Windows assets are held back and attached by a re-run of the release workflow (with its fresh signing requests approved) rather than shipped unsigned. Releases before v1.1.19 did not have this guard, so verify the executable signature on older versions 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 fit --show-incompatible # also show backend-incompatible models as non-runnable
    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.

    Cluster mode (Ray / multi-node)

    Preview: so far tested only against a mock Ray Dashboard. If you run Ray, please share the output of curl <dashboard>/nodes?view=summary in an issue.

    Check which models fit across several machines, such as 3 × DGX Spark or a couple of multi-GPU servers running Ray and vLLM:

    • Know before you launch: find out whether a model fits across your machines before you spend an hour starting vLLM.
    • Catch splits vLLM would refuse: most models can't be split 3 ways across 3 GPUs. llmfit picks a split vLLM accepts, or says none fits, instead of letting vLLM crash at startup.
    • One reviewable file: Ray discovery writes a single cluster.toml, so you don't have to tally VRAM by hand.
    • Changes nothing: llmfit reads Ray's dashboard once and never launches or schedules anything.
    llmfit cluster init --ray-url http://<head>:8265   # or hand-write cluster.toml
    llmfit cluster status
    llmfit --cluster fit
    

    See the cluster guide for walkthroughs, Ray token handling and today's limits.


    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. The release workflow only attaches Windows assets after the sign-windows job has signed, repackaged, and re-checksummed them; when signing is skipped or fails, the Windows zips (and the PyPI Windows wheels built from them) are held back until the workflow is re-run against the tag and the new signing requests that re-run submits are approved. Releases before v1.1.19 could publish an unsigned Windows artifact, so verify the executable signature on those 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