EZmodL

GGUF Model Manager for llama-swap — Browse HuggingFace, download, manage models, all in one place.

EZmodL

Web UI lightweight pour gérer ton parc de modèles GGUF locaux.


✨ Features

📦 Compatibilité

Testé sur :

Distros non-apt (Fedora, Arch, openSUSE) : install manuel des deps requis.

🚀 Installation rapide

git clone https://github.com/miradorventus/EZmodL.git
cd EZmodL
EZMODL_LOCAL_INSTALL=1 bash install.sh

Ou en ligne unique :

curl -fsSL https://raw.githubusercontent.com/miradorventus/EZmodL/main/install.sh | bash

📌 L’installateur télécharge les fichiers, installe les dépendances système (via pkexec), configure les entrées menu/bureau, et te prévient si quelque chose manque.

🔧 Prérequis

EZmodL est conçu pour fonctionner avec llama-swap, donc tu as besoin :

Pour un setup complet llama.cpp + llama-swap automatisé sur AMD : voir ollama-amd-plug-and-play.

🎬 Usage

  1. Lance EZmodL depuis le menu Applications
  2. Cherche un modèle (ex: Qwen3) ou colle un repo (bartowski/Qwen_Qwen3-14B-GGUF)
  3. Configure ta cible VRAM KV cache
  4. Coche la/les quants à télécharger
  5. EZmodL gère le téléchargement, détecte les doublons, ajoute au yaml, recharge llama-swap

🛠️ Configuration

Tous les fichiers de config sont dans ~/.ezmodl/ :

~/.ezmodl/
├── config/
│   ├── preferences.json    # Cible VRAM, sort, curators_only, thème
│   └── curators.txt        # Liste éditable des curators
├── queue/                  # File d'attente + historique
└── logs/                   # Journal d'activité

Éditer la liste des curators (ajouter/retirer) :

nano ~/.ezmodl/config/curators.txt

🎨 Personnalisation du thème

Le CSS est exposé dans ~/.ezmodl/static/style.css. Variables CSS au top du fichier :

:root[data-theme="dark-futurist"] {
  --bg-base: #0a0e1a;
  --text-accent: #00d9ff;
  /* ... */
}

Tu peux créer ton propre thème en ajoutant un bloc :root[data-theme="mon-theme"].

🗂️ Architecture

Composant Rôle
server.py Backend Flask, expose une API REST
lib/hf_api.py Wrapper HuggingFace API (search + tree)
lib/vram_classify.py Détection VRAM AMD/NVIDIA + classification quants
lib/disk_search.py Recherche multi-dossiers + création symlinks
lib/yaml_helper.py Add/remove modèles dans llama-swap.yaml
lib/parse_quant.py Extraction quant depuis nom de fichier
templates/index.html UI principale (sections collapsibles)
static/app.js Vanilla JS, fetch endpoints REST
ezmodl.sh Launcher pattern OllamaUI (lockfile, integrity check)

❌ Désinstallation

cd EZmodL
bash uninstall.sh

Les modèles GGUF dans ~/llm-models/ sont conservés. La config llama-swap.yaml n’est pas modifiée (à toi de nettoyer si besoin).

📋 Limites V1

🤝 Contribuer

Issues et PRs bienvenues. Ce projet est volontairement simple et minimaliste — restons dans cet esprit.

📜 License

Apache 2.0 — voir LICENSE.

🙏 Crédits


EZmodL — Because managing GGUFs shouldn’t be a chore.