CLI-Tool
Michael-A-Kuykendall/shimmy avatar
Michael-A-Kuykendall/shimmy

Shimmy: ein Rust-WebGPU-Server für lokale GGUF-Inferenz

Pure-Rust WebGPU-Inferenz-Engine, OpenAI-API-kompatibel, GGUF-nativ, läuft auf jeder GPU. Kein Python. Kein llama.cpp. Einzelne Binärdatei.

5.876 Sterne569 ForksRustApache-2.0
GitHub

Auf einen Blick

Was ist das?
Shimmy ist ein Inferenz-Server in einer einzigen Binärdatei, der GGUF-Modelle über OpenAI-kompatible Endpunkte anbietet und auf einer reinen Rust-WebGPU-Engine läuft; weder Python noch llama.cpp sind im Spiel.
Für wen ist es gedacht?
Shimmy passt für Nutzer, die einen kleinen lokalen Server für GGUF-Modelle suchen und bestehende OpenAI-kompatible Clients weiternutzen wollen. Vor der Übernahme sollte man die Lizenz-Diskrepanz zwischen dem MIT-Badge im README und der Apache-2.0-Lizenzdatei klären sowie MoE- und SafeTensors-basierte Modelle meiden, deren Inferenz erst auf der Roadmap steht.
Darf ich es kommerziell nutzen?
Ja. Apache-2.0 ist eine freizügige Lizenz: Sie dürfen darauf aufbauende Software nutzen, verändern und verkaufen, solange Sie die Urheberrechts- und Lizenzhinweise beibehalten.
Wird es noch gepflegt?
Ja. Die letzten Commits kamen vor 16 Tagen.
In welcher Sprache ist es geschrieben?
Hauptsächlich Rust, laut der Sprachstatistik von GitHub.

Die Antworten beruhen auf den GitHub-Daten des Projekts (zuletzt abgeglichen am 14. September 2026) und auf unserer Analyse. Sie sind keine Rechtsberatung.

TIEFGEHENDE OPEN-SOURCE-ANALYSE

Ein einzelnes Binary als OpenAI-kompatibler GGUF-Server

Shimmy ist ein Inferenz-Server, der als einzelne Binärdatei ausgeliefert wird und Modelle im GGUF-Format lädt. Die README bewirbt ihn als lokale Alternative zu Ollama, bei der bestehende KI-Tools einfach umgerichtet werden können: Wer schon einen Client mit OpenAI-Oberfläche nutzt, zeigt auf Shimmy und arbeitet lokal weiter. Die Laufzeit ist durchgehend Rust, weder Python noch eine C++-Toolchain werden gebraucht, und ein separates Backend-Flag gibt es nicht.

Das Projekt wird als dauerhaft frei beschrieben, Sponsoring solle Zertifizierungs- und Kompatibilitätsarbeiten finanzieren. Wer solche Zusagen prüfen will, sollte sich die Lizenzdatei ansehen, denn das README verweist im Kopf auf die MIT-Seite von opensource.org, während die GitHub-Metadaten und die LICENSE-Datei Apache-2.0 ausweisen. Diese Abweichung ist der erste Punkt, den man vor einer Übernahme klären sollte.

Airframe als Motor: Rust-WebGPU mit WGSL-Shadern

Unter der Haube läuft Shimmy auf Airframe, einer eigenen, in Rust geschriebenen Transformer-Engine, die Rechenoperationen als WGSL-Compute-Shader über WebGPU absetzt. Damit soll die Inferenz auf Grafikkarten von NVIDIA, AMD, Intel und Apple Silicon sowie auf integrierten GPUs funktionieren. Die Zwischenrechnung läuft mit F32-Akkumulation, was laut README bei gleichem Modell, gleichem Seed und gleichen Parametern identische Ergebnisse liefert.

Die Modellbeschreibung wird aus den GGUF-Metadaten abgeleitet, fest verdrahtete Konstanten pro Modell entfallen. Für längere Kontexte gibt es YaRN-RoPE-Skalierung, gesteuert über die Umgebungsvariable SHIMMY_MAX_CTX. Die Abschaffung alter Backends zeigt sich im Versionsverlauf: Seit v2.0 sind llama.cpp, MLX, HuggingFace und RustChain entfernt, Shimmy ist jetzt ein reines Airframe-Produkt; die konkreten Umstellungsschritte stehen in docs/MIGRATION_v2.md.

Zertifizierungsliste: 12 Modellfamilien, 26 Kombinationen

Die README führt 12 Modellfamilien und 26 zertifizierte Modell-Quantisierungs-Kombinationen auf. Jede Kombination durchläuft eine Zertifizierung aus Mathe-, Inferenz- und Determinismusprüfung und wird in einem Prüfregister festgehalten. Die Zertifizierung gilt nur für die benannte Kombination; die bloße Erkennung einer Architektur bedeutet keine Zertifizierung. In der Tabelle stehen unter anderem Llama-3.2-1B, Qwen3-4B und Qwen3-8B, Qwen3.5-9B, Phi-3.5-mini, Gemma-2-2B, DeepSeek-R1-Distill in der Variante für Qwen3-8B sowie Ministral-3-14B-Reasoning und StarCoder2-3B.

Als Quantisierungen kommen vor allem Q4_K_M, aber auch Q6_K und Q4_0 vor. GGUF-Dateien sollen unverändert geladen werden, ohne Neuübersetzung. Wer Modell und Quant nicht in der Liste findet, sollte sich nicht auf Architekturerkennung verlassen, sondern docs/SUPPORTED_MODELS.md und die Roadmap prüfen; Gemma-2-9B etwa gilt laut Tabelle als unterstützt, die Zertifizierung aber als noch offen.

Schnellstart: cargo install, shimmy serve und ein curl-Test

Der Einstieg läuft über die Paketverwaltung der Rust-Welt: cargo install shimmy. Anschließend startet shimmy serve --model-path /absoluter/pfad/zu/modell.gguf --bind 127.0.0.1:11435 einen lokalen Dienst. Die Liste der eingerichteten Modelle zeigt shimmy list --short. Danach lässt sich der OpenAI-kompatible Chat-Endpunkt direkt ansprechen, etwa mit einem curl-Aufruf auf http://127.0.0.1:11435/v1/chat/completions samt JSON-Payload mit model, messages und max_tokens.

Die vollständige Anleitung zu Installation, Modellbeschaffung, Grafikkarte und VRAM-Berechnung liegt in docs/quickstart.md. Shimmy ist auch auf crates.io veröffentlicht, und eine vorbereitete Windows-Binärdatei wird in der Schnellstart-Variante per curl geladen. Der Standard-Bind liegt auf 127.0.0.1, der Port 11435 unterscheidet sich damit von Ollama und hält den Dienst standardmäßig vom offenen Netz fern.

TurboShimmy, Extended Context und OpenAI-SDK-Anbindung

Drei Fähigkeiten fallen auf. TurboShimmy komprimiert den KV-Cache auf INT4; laut README sinkt sein Speicherbedarf in getesteten Konfigurationen um etwa den Faktor sieben, sodass Llama-3.2-3B auf Grafikkarten mit 4 GB laufen soll. Der erweiterte Kontext läuft über YaRN mit SHIMMY_MAX_CTX. Und weil die Oberfläche kompatibel ist, sollen OpenAI-SDKs samt Streaming und Modell-Endpunkten direkt funktionieren; die Integration ist in docs/INTEGRATION.md beschrieben.

Diese Zusagen sind Herstellerangaben aus dem README, eigene Messergebnisse lagen zum Zeitpunkt der Materialaufnahme nicht bei. Für einen ersten Stresstest lässt man ein kleines Modell aus der Zertifizierungsliste laufen, erhöht mit SHIMMY_MAX_CTX die Kontextlänge und prüft die Ausgabe über mehrere Seeds auf Wiederholbarkeit.

Lücken und Roadmap: SafeTensors, MoE und Backend-Wechsel

Nicht alles ist fertig. Das Einladen von Modellen im SafeTensors-Format läuft laut README über safetensors_native, die Airframe-eigene Inferenz solcher Modelle steht aber noch in docs/v2-roadmap.md. Für Mixture-of-Experts-Modelle ist die CPU-Auslagerung auf der Roadmap und noch nicht implementiert. Wer stark auf MoE oder SafeTensors-Inferenz setzt, findet dafür derzeit keine vollständige Umsetzung.

Der Wechsel auf Airframe hat Kosten: Wer von einer Version aus dem 1.x-Zweig kommt, muss auf v2 umstellen, auch Umgebungsvariablen können sich geändert haben. Als Alternative bietet sich Ollama an, das dieselbe Einsatzidee verfolgt, aber mit größerem Laufzeitsystem kommt, während Shimmy mit vollständiger OpenAI-Kompatibilität und reinem Rust wirbt; welche Seite besser passt, entscheidet am Ende der eigene Test.

Fazit: Wann Shimmy die richtige Wahl ist

Shimmy passt zu Teams und Einzelpersonen, die einen kleinen, in Rust geschriebenen Server für GGUF-Modelle suchen und bestehende OpenAI-kompatible Clients weiternutzen wollen. Die Versionen v2.6.1 bis v2.6.3 vom August 2026 zeigen, dass laufend veröffentlicht wird, und die Zertifizierungsliste gibt eine klare Auskunft, welche Modelle verifiziert sind.

Aufpassen sollten alle, die ausschließlich MoE- oder SafeTensors-Inferenz brauchen, denn dafür gibt es noch keinen fertigen Pfad. Vor der Übernahme ist die Lizenzfrage zu klären, README-Badge und LICENSE-Datei nennen unterschiedliche Lizenzen. Wer den Server einem breiteren Netz zugänglich machen will, sollte den Bind über --bind explizit setzen statt auf Defaults zu vertrauen; ein Testlauf mit einem Modell aus der Liste und shimmy list ist der schnellste Weg, den eigenen Workflow zu verifizieren.

Redaktionelles Fazit

Shimmy passt für Nutzer, die einen kleinen lokalen Server für GGUF-Modelle suchen und bestehende OpenAI-kompatible Clients weiternutzen wollen. Vor der Übernahme sollte man die Lizenz-Diskrepanz zwischen dem MIT-Badge im README und der Apache-2.0-Lizenzdatei klären sowie MoE- und SafeTensors-basierte Modelle meiden, deren Inferenz erst auf der Roadmap steht.

Offizielle Quellen

  1. Official README
  2. Project repository
  3. Release notes
Community-Notizen

Community-Notizen