Skip to main content

llama-buddy

A friendly CLI wrapper for llama.cpp

Manage, download, and serve local LLMs with a single command. Think of it as an ollama-like experience built on top of llama-server.

Python 3.10+ License: MIT PyPI


Features

  • Background server — start/stop/restart llama-server as a daemon
  • Multi-model routing — preset-based configuration with automatic model load/unload
  • Interactive downloads — search HuggingFace, pick a quant, download with progress and resume
  • Rich terminal UI — tables, panels, interactive selectors, and live search
  • GGUF inspector — view model metadata, architecture, and sampling parameters
  • Server props — inspect active sampling parameters on loaded models
  • Sampling sync — automatically applies GGUF-recommended sampling params to your preset
  • Per-model settings — context size, GPU layers, flash attention, and more
  • Multi-token prediction — models that ship an MTP head get speculative decoding switched on by themselves. A head shipped as a separate file is downloaded with the model and only wired in once the installed llama.cpp is confirmed to load it; the check runs again after every llama.cpp upgrade
  • Idle sleeping — llama-server releases the weights of a model after a configurable idle timeout
  • VRAM tracking — automatically parses server logs to show memory usage per model
  • Auto-sync — preset file stays in sync with the llama.cpp cache automatically

Screenshots

Model listing — llb models

llb models

Interactive download — llb download

llb download

llb download quantization

Model info — llb info

llb info

Installation

pipx install llama-buddy

Or with uv:

uv tool install llama-buddy

This installs the llb command into an isolated environment and adds it to your PATH.

Prerequisites

  • Python 3.10+
  • llama.cpp installed and llama-server on your PATH

Quick start

# Download a model (interactive search)
llb download

# Or specify directly
llb download mistralai/Ministral-3-3B-Instruct-2512-GGUF:Q4_K_M

# Start the server
llb start

# List all models
llb models

# Chat with a model (uses llama-cli)
llb chat

# Inspect model metadata
llb info

# Show active sampling params for a loaded model
llb props

# Apply GGUF-recommended sampling params to all models
llb info --apply-sampling

# Configure settings (interactive TUI)
llb settings

# Open the web UI in your browser
llb open

# Stop the server
llb stop

Commands

Command Description
llb start Start llama-server in the background. Extra args are forwarded.
llb stop Stop the running server.
llb restart Restart the server.
llb status Show whether the server is running.
llb models List all models with status, size, VRAM usage, and grouping. Supports --sort size.
llb download [model] Download a model. Interactive HF search when no model given.
llb remove [model] Remove a model with confirmation dialog. --keep-files to preserve GGUFs.
llb info [model] Show GGUF metadata. Interactive selector when no model given.
llb info --apply-sampling [model] Write GGUF sampling params into the preset. All models when no model given.
llb props [model] Show active server sampling params for a loaded model.
llb settings Interactive editor for global and per-model settings.
llb chat [model] Interactive chat via llama-cli. Model selector when no model given.
llb open Open the llama-server web UI in your browser.
llb logs Tail the server log file.

Configuration

Config files live in ~/.config/llama/:

File Purpose
models.ini Model preset file — sections are HF repo IDs, auto-synced with cache
settings.json Global server settings (port, context size, GPU layers, etc.)
vram.json Cached per-model VRAM usage (parsed from server logs)
server.pid PID of the running server
server.log Server stdout/stderr

Per-model settings

Run llb settings and select Model Settings to configure per-model overrides:

  • Context size, GPU layers, flash attention
  • Custom aliases
  • Any llama-server parameter

Development

# Clone and install
git clone https://github.com/thilomichael/llama-buddy.git
cd llama-buddy
uv sync

# Run
uv run llb <command>

# Test
uv run pytest

# Lint
uv run ruff check src/ tests/

License

MIT

Metadata

Release files for llama-buddy 0.1.15

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

Source distribution (sdist)

Source distribution for llama-buddy 0.1.15
File Size Uploaded
llama_buddy-0.1.15.tar.gz 42.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for llama-buddy 0.1.15
File Interpreter ABI Platform
llama_buddy-0.1.15-py3-none-any.whl Python 3 none any Details

Total release size: 93.1 kB

Release files / llama_buddy-0.1.15.tar.gz

Download URL llama_buddy-0.1.15.tar.gz
Size 42.2 kB
Tags Source
SHA-256 checksum
How to use checksums
0932be946ad2793ee356bd268623e923d4b916a080f56fdbf7bac8373a768a9d
BLAKE2b-256 checksum
How to use checksums
595f85d5438acfbe41d35e4b2968f3834047bfd8fafc13514d916d9bace8ce7b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.10.7 {"installer":{"name":"uv","version":"0.10.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / llama_buddy-0.1.15-py3-none-any.whl

Download URL llama_buddy-0.1.15-py3-none-any.whl
Size 50.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
08441f5b48573a0603d3c84b9c4e180d17cd4788d554a424f6be9e868ed54b2f
BLAKE2b-256 checksum
How to use checksums
0b9d5168a7fb624a48d135365ce58b720b38f3d685a46becb0b2a286b8b4006d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.10.7 {"installer":{"name":"uv","version":"0.10.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release history Release notifications | RSS feed

0.1.16

2 release files

This release

0.1.15 This release

2 release files

0.1.14

2 release files

0.1.13

2 release files

0.1.12

2 release files

0.1.11

2 release files

0.1.9

2 release files

0.1.8

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 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