Modell / Datensatz
jundot/omlx avatar
jundot/omlx

omlx: dokumentierter Einstieg und klare Einsatzgrenzen

LLM-Inferenzserver mit kontinuierlichem Batching und SSD-Caching für Apple Silicon, verwaltet über die macOS-Menüleiste.

21.764 Sterne1.882 ForksPythonApache-2.0

Auf einen Blick

Was ist das?
LLM inference server with continuous batching & SSD caching for Apple Silicon, managed from the macOS menu bar. Deutsche Einordnung anhand von README, Repository und konkreten Projektpfaden.
Für wen ist es gedacht?
Geeignet für Anwender, deren Aufgabe zu den dokumentierten Funktionen von omlx passt. Ungeeignet als Ersatz für nicht beschriebene Betriebsannahmen.
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 1 Tag.
In welcher Sprache ist es geschrieben?
Hauptsächlich Python, laut der Sprachstatistik von GitHub.

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

TIEFGEHENDE OPEN-SOURCE-ANALYSE

Wofür das Projekt steht: omlx

oMLX ist ein Python-Projekt unter Apache-2.0-Lizenz, das einen LLM-Inferenzserver auf Apple Silicon betreibt. Die README positioniert es als einen Server, der von der macOS-Menüleiste aus verwaltet wird, mit einer nativen SwiftUI-App statt eines Electron-Wrappers. Dieselbe Engine ist auch über die CLI erreichbar: omlx start, omlx stop und omlx restart steuern einen Hintergrundserver, omlx serve startet einen Vordergrundserver im Terminal. Laut README akzeptiert der Server OpenAI-kompatible Clients unter http://localhost:8000/v1 und bietet eine Chat-Oberfläche unter http://localhost:8000/admin/chat. omlx wird hier an den dokumentierten Angaben gemessen. Für einen reproduzierbaren ersten Blick gehören omlx, OpenAI-compatible, Metal, MLX, docker-compose.yml, curl zusammen: Der genannte Einstieg zeigt Eingabe, Ausgabe oder Konfiguration dieses Projekts. Nicht beschriebene Leistungswerte, Integrationen und Supportzusagen bleiben offen.

Die zentralen Bausteine: OpenAI-compatible

Die README dokumentiert drei Installationswege. Die macOS-App ist eine DMG von der Releases-Seite mit In-App-Auto-Update und einem CLI-Shim unter ~/.omlx/bin/omlx. Homebrew-Nutzer können jundot/omlx tappen und omlx installieren; omlx start delegiert dann an brew services. Aus dem Quellcode installiert pip install -e . den Kern, pip install -e ".[mcp]" fügt MCP-Unterstützung hinzu. Voraussetzungen sind macOS 15.0 oder neuer, Python 3.11-3.13 und Apple Silicon. Ein normales pip install baut keine nativen Custom Kernels für GLM-5.2, MiniMax M3 und Qwen3.5; ohne sie fallen diese Modellfamilien auf deutlich langsamere generische Pfade zurück. Die README nennt einen gemessenen Vergleich: Für GLM-5.2 ist der fusionierte DSA-Prefill mit Kerneln etwa 30-mal schneller, 845 gegenüber etwa 29 tok/s auf einem M3 Ultra. Der Kernel-Bau benötigt die Metal-Toolchain, die Command Line Tools allein nicht mitbringen, also volles Xcode; die offizielle DMG enthält die Kernel vorkompiliert. omlx wird hier an den dokumentierten Angaben gemessen. Für einen reproduzierbaren ersten Blick gehören omlx, OpenAI-compatible, Metal, MLX, docker-compose.yml, curl zusammen: Der genannte Einstieg zeigt Eingabe, Ausgabe oder Konfiguration dieses Projekts. Nicht beschriebene Leistungswerte, Integrationen und Supportzusagen bleiben offen.

Der dokumentierte Einstieg: Metal

Der Schnellstart ist kurz: App starten, im Willkommensbildschirm ein Modellverzeichnis wählen, Server starten, erstes Modell herunterladen. Das CLI-Äquivalent ist omlx serve --model-dir ~/models. Einstellungen werden in ~/.omlx/settings.json gespeichert, CLI-Flags haben Vorrang. Die README erwähnt Umgebungsvariablen wie OMLX_MODEL_DIR und OMLX_PORT für die Homebrew-Service-Anpassung. Logs werden an zwei Orten geschrieben: Servicelog unter $(brew --prefix)/var/log/omlx.log und strukturiertes Serverlog unter ~/.omlx/logs/server.log. Die README erklärt nicht, wie die Authentifizierung durchgesetzt wird, sondern erwähnt nur das --api-key-Flag und eine Localhost-Option zum Überspringen der Verifizierung im Admin-Panel. omlx wird hier an den dokumentierten Angaben gemessen. Für einen reproduzierbaren ersten Blick gehören omlx, OpenAI-compatible, Metal, MLX, docker-compose.yml, curl zusammen: Der genannte Einstieg zeigt Eingabe, Ausgabe oder Konfiguration dieses Projekts. Nicht beschriebene Leistungswerte, Integrationen und Supportzusagen bleiben offen.

Betrieb mit den Projektdateien: MLX

Das Cache-Design ist der markanteste Teil der README. oMLX verwendet blockbasiertes, paginiertes KV-Cache-Management, inspiriert von vLLM, mit Präfix-Sharing und Copy-on-Write. Blöcke liegen zunächst in einem heißen Tier im RAM; wenn der heiße Cache voll ist, werden Blöcke im safetensors-Format auf ein kaltes Tier auf der SSD geschrieben. Bei einem späteren Request mit passendem Präfix werden Blöcke von der Platte wiederhergestellt statt neu berechnet, und die README sagt, das überlebe einen Server-Neustart. Der Server betreibt außerdem Continuous Batching über den BatchGenerator von mlx-lm, die maximale Anzahl gleichzeitiger Requests ist über CLI oder Admin-Panel konfigurierbar. Diese Angaben stammen alle aus der README; unabhängige Latenz- oder Durchsatzmessungen für die Cache-Ebenen enthält die README nicht. omlx wird hier an den dokumentierten Angaben gemessen. Für einen reproduzierbaren ersten Blick gehören omlx, OpenAI-compatible, Metal, MLX, docker-compose.yml, curl zusammen: Der genannte Einstieg zeigt Eingabe, Ausgabe oder Konfiguration dieses Projekts. Nicht beschriebene Leistungswerte, Integrationen und Supportzusagen bleiben offen.

Grenzen und Risiken der Quelle: docker-compose.yml

Der Server entdeckt Modelle automatisch in Unterverzeichnissen des Modellverzeichnisses und unterstützt Text-LLMs, VLMs, OCR-Modelle, Embedding-Modelle und Reranker. Erwartet werden Modelle im MLX-Format, auch zweistufige Ordner wie mlx-community/model-name sind möglich. Multi-Model-Serving nutzt LRU-Eviction, manuelle Lade-/Entlade-Badges, Pinning, TTL pro Modell und eine Prozessspeichergrenze, die standardmäßig System-RAM minus 8 GB beträgt. Zu den Einstellungen pro Modell gehören Sampling-Parameter, Chat-Template-kwargs, TTL, Alias und Modelltyp-Override; Änderungen gelten ohne Neustart. Profile bündeln Einstellungen pro Modell und können als <model>:<profile>-Einträge in /v1/models erscheinen. Das Admin-Dashboard ist eine Web-UI unter /admin mit Echtzeit-Überwachung, Chat, Benchmark, Modell-Download von HuggingFace und Unterstützung für acht UI-Sprachen. Alle CDN-Abhängigkeiten sind für den Offline-Betrieb gebündelt. omlx wird hier an den dokumentierten Angaben gemessen. Für einen reproduzierbaren ersten Blick gehören omlx, OpenAI-compatible, Metal, MLX, docker-compose.yml, curl zusammen: Der genannte Einstieg zeigt Eingabe, Ausgabe oder Konfiguration dieses Projekts. Nicht beschriebene Leistungswerte, Integrationen und Supportzusagen bleiben offen.

Konkrete Entscheidung für den Einsatz: curl

Die README listet OpenAI-kompatible Endpunkte für Chat Completions, Completions, Embeddings, Rerank und Modellliste sowie einen Anthropic-Messages-Endpunkt unter /v1/messages. Streaming-Nutzungsstatistiken und Anthropic Adaptive Thinking werden erwähnt. Tool Calling hängt von den eingebauten Parser von mlx-lm ab; die README nennt Modellfamilien wie Llama, Qwen, DeepSeek, Qwen3.5, Gemma, GLM, MiniMax, Mistral, Kimi K2 und Longcat mit ihren Ausgabeformaten und merkt an, dass nicht gelistete Modelle funktionieren könnten, wenn ihr Chat-Template tools akzeptiert und erkennbares XML ausgibt. Integrationen für OpenClaw, OpenCode, Codex, Hermes Agent, Copilot und Pi werden mit einem Klick aus dem Admin-Panel eingerichtet. Die README beschreibt keine Plugin-API und gibt keine Anleitung zum Schreiben einer neuen Integration. omlx wird hier an den dokumentierten Angaben gemessen. Für einen reproduzierbaren ersten Blick gehören omlx, OpenAI-compatible, Metal, MLX, docker-compose.yml, curl zusammen: Der genannte Einstieg zeigt Eingabe, Ausgabe oder Konfiguration dieses Projekts. Nicht beschriebene Leistungswerte, Integrationen und Supportzusagen bleiben offen.

Redaktionelles Fazit

Geeignet für Anwender, deren Aufgabe zu den dokumentierten Funktionen von omlx passt. Ungeeignet als Ersatz für nicht beschriebene Betriebsannahmen. Prüfe zuerst OpenAI-compatible, Metal und docker-compose.yml mit einer kontrollierten Eingabe, bevor du den Einsatz ausweitest.

Offizielle Quellen

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

Community-Notizen