Zum Inhalt springen

Projekt

Wo die Arbeit wirklich steht

Runlix ist eine laufende Neuschreibung: aus einem Dirigenten fremder Werkzeuge wird eine eigene Engine. Die Phasen, was jede abgeschlossen hat, und was offen bleibt.

Aktualisiert 2026-09-12Gemessen 2026-09-12

Runlix hat nicht als Runlix angefangen. Es begann als OllamaManager, einer Anwendung, die Ollama, einen MLX-Server, einen Vektorserver und Open WebUI beaufsichtigte und dafür 598 MB Python-Interpreter auslieferte.

Das war ein funktionierendes Produkt und eine kommerzielle Sackgasse. Die Lizenz von Open WebUI verbietet, oberhalb von fünfzig Benutzern das Branding zu entfernen. Der mitgelieferte Interpreter war durch Open WebUI auf Python 3.12 festgenagelt. Und nimmt man Ollama, MLX und Open WebUI heraus, blieb kein Produkt übrig. Also fiel die Entscheidung, die Engine zu bauen, statt die fremde zu dirigieren.

Die Umbenennung ging über einen Zwischennamen — Sie finden elema noch in einem Git-Remote oder in einem Datenordner. Das Produkt heißt Runlix.

Woher diese Seite ihre Fakten nimmt

Die Geschichte oben steht hier, weil sie sich nicht ändert. Alles danach — die Phasen, wie weit jede gekommen ist, und was ehrlicherweise noch offen ist — wird aus dem Repository des Projekts gelesen, alle fünfzehn Minuten.

Das ist keine technische Einzelheit, das ist der Sinn der Seite. Eine Roadmap, die im Text der Website steht, ist eine Roadmap, die veraltet: eine Phase zu schließen hieße, fünf übersetzte Dateien neu zu schreiben, wer die Arbeit macht tut das nicht, und innerhalb eines Monats beschreibt die Seite selbstbewusst ein Produkt, das es nicht mehr gibt. Hier wird eine Phase einmal geschlossen, dort wo sie geschlossen wird. Was behoben wird, steht an dem Tag nicht mehr hier, an dem die Issue geschlossen wird, ohne dass sich jemand an einen Absatz erinnern muss.

Die Phasen sind die Meilensteine des Repositorys; die offenen Grenzen sind seine Issues mit der Etikette für bekannte Grenzen. Eine Folge ist sichtbar und wurde bewusst gewählt: dieser Text wird einmal geschrieben, in einer Sprache, und erscheint gleich in allen fünf Fassungen dieser Seite. Die Alternative waren fünf von Hand gleichgehaltene Übersetzungen — genau das, was aufgehört hat zu funktionieren.

Ist GitHub nicht erreichbar, wird die letzte gute Momentaufnahme mit ihrem Datum gezeigt. Eine Roadmap, die verschwindet, weil eine API ausgefallen ist, sieht nach einer kaputten Website aus; eine, die eine Stunde alt ist, ist einfach eine Stunde alt und sagt es.

Die Phasen

Die Meilensteine des Projekts selbst. Eine Phase wird einmal geschlossen, dort wo gearbeitet wird.

  1. 1

    Phase 0 · Foundations

    Repository, build and release chain. Runlix builds into a self-contained macOS bundle — 228 MB installed, 80 MB to download — behind a single gate that every change has to pass.

    fertig
  2. 2

    Phase 1 · First token

    Proof that the Rust engine can drive the app: one token generated in-process, in an Avalonia window, with no Python and no external server.

    fertig
  3. 3

    Phase 2 · The engine

    The MLX runtime itself: paged KV cache, tokenizer, sampling, and the model families. Cache, tokenizer and sampling are done, and six families are supported today — phi3, llama, qwen2, qwen3, gemma3 and deepseek_v2 — each checked token-for-token against mlx_lm. The chat and the API were built on this engine. Adding more families continues in Roadmap 1.

    fertig
  4. 4

    Phase 3 · Chat and API

    The chat, and an HTTP API on loopback that speaks both the OpenAI and the Ollama dialect, so clients you already use keep working unchanged.

    fertig
  5. 5

    Phase 4 · Beyond text

    Native embeddings — done, and they match mlx_embeddings to 9.2e-7. GGUF is deliberately out of scope: Runlix runs MLX safetensors and nothing else. Vision models continue in Roadmap 2.

    fertig
  6. 6

    Release 1 · Alpha

    The first build handed to people outside the project, through the reserved download area. It needs a Developer ID and notarization first, or macOS blocks it on launch.

    12/13
  7. 7

    Release 2 · Beta

    Open to anyone who asks for it. Vision models and concurrent requests are meant to land here.

    1/6
  8. 8

    Release 3 · 1.0

    The public release.

  9. 9

    Roadmap 1 · More model families

    The engine runs six model families today — phi3, llama, qwen2, qwen3, gemma3 and deepseek_v2 — each checked token-for-token against mlx_lm. The transformer loop is written once, so a new family costs a few dozen lines; what takes the time is the oracle that proves it right. The next families land here, after the alpha.

  10. 10

    Roadmap 2 · Vision models

    Models that read images are not supported yet: Runlix runs text models and embedding models. The compatibility check in the catalog says so before you download, rather than failing at load time. Vision support lands here, after the alpha.

Aus den Meilensteinen des Projekts gelesen am 2026-11-02 04:16

Was ehrlich gesagt offen ist

Offene Issues des Projekts, als bekannte Grenzen etikettiert. Jede verschwindet hier an dem Tag, an dem sie geschlossen wird.

macOS blocks Runlix on first launch: the app is not notarized

Runlix is signed ad-hoc, not with an Apple Developer ID, and it is not notarized. macOS refuses to open it on the first try and you have to allow it by hand in System Settings → Privacy & Security.

Vision models (VLM) are not supported

Runlix runs text models only. Vision checkpoints are refused before you download them — the model page says so on the row — rather than failing to load after an eight-gigabyte download.

One generation at a time: a concurrent request gets 503

The HTTP API does not queue. While the engine is generating, a second request is refused with 503 instead of being served a wrong answer or silently interleaved with the first.

MLX safetensors only: GGUF models are not supported

Runlix loads MLX safetensors and nothing else. GGUF is a decision, not a gap: this issue stays open because the limitation is permanent, not because someone forgot it.