Starte den Proxy lokal, verbinde ein Modell und prüfe den Weg von deinem Client zu deinem Provider.
Halte bereit: einen Linux-Build für deine Architektur, deine ModelWarden-Lizenz und eigene Modell- und Judge-Zugangsdaten, sofern dein Enterprise-Vertrag sie nicht bereitstellt.
Quellcode geprüft am 27. September 2026. Unter Downloads findest du die für dein Konto verfügbaren Builds; ein veröffentlichter Build kann älter sein als diese Anleitung.
Schritt 1
Die passende Version herunterladen
Für den aktuell veröffentlichten Supportpfad meldest du dich im Kundenportal an, öffnest Dashboard → Downloads und wählst den für dein Konto verfügbaren Linux-Build. Prüfe zuerst die Prozessorarchitektur:
uname -m
# x86_64 → Linux x86-64
# aarch64 → Linux ARM64
Öffne in Bash den Ordner mit dem heruntergeladenen Programm. Setze BINARY auf den tatsächlichen Dateinamen, zum Beispiel ./mw-proxy oder ./mw-proxy-arm64. Bei einem Archiv prüfst du dessen Prüfsumme vor dem Entpacken und wählst danach das entpackte Programm. Umbenennen ändert keine Prozessorarchitektur.
BINARY=./mw-proxy
sha256sum "$BINARY"
Bei abweichender Prüfsumme nicht fortfahren. Erst wenn sie mit Downloads übereinstimmt, machst du die Datei ausführbar und prüfst die Version:
chmod +x "$BINARY"
"$BINARY" --version
Fertig, wenn: der SHA-256-Wert mit Downloads übereinstimmt und --version ohne Architekturfehler ModelWarden Proxy ausgibt.
Windows und macOS: nur Entwicklung
Windows/macOS-Unterstützung ist derzeit ausschließlich Entwicklungstooling. Im öffentlichen Portal gibt es noch kein nativ supportqualifiziertes Windows- oder macOS-Artefakt. Eine Test-MSI oder ein Test-PKG, ein quer kompiliertes Programm, ein emulierter Lauf oder eine Fixture-Attestierung ist Entwicklungsnachweis und keine unterstützte Veröffentlichung.
Windows verwendet zwei verschiedene MSI-Artefakte: modelwarden-<version>-windows-x86_64.msi für windows-x86_64 und modelwarden-<version>-windows-aarch64.msi für windows-aarch64. Windows 11 25H2, Build 26200 oder neuer, ist die geplante Mindestversion. Eine x64-Datei unter Windows-on-ARM-Emulation bleibt x64-Nachweis.
macOS verwendet modelwarden-<version>-macos-universal2.pkg für macos-universal2. Das Paket wird aus separat gebauten Intel- und Apple-Silicon-Slices zusammengesetzt; eine dünne macOS-Zeile ersetzt Universal 2 niemals stillschweigend. macOS 15.0 oder neuer ist die geplante Mindestversion.
Wenn eine Entwicklungs-Fixture eine dieser Zeilen liefert, prüfe den exakten Paketnamen, die Artefaktart (msi oder pkg), SHA-256 und Größe anhand der Fixture. Die Zeile bleibt inaktiv/privat, bis Kanal- und Akzeptanzprüfungen bestanden sind; Fixture-Nachweise begründen keine öffentliche Unterstützung.
Schritt 2
Proxy nur lokal starten
Starte das heruntergeladene Programm im selben Bash-Terminal:
"$BINARY"
Beim ersten Start wird eine fehlende Standardkonfiguration angelegt und 127.0.0.1:3758 verwendet. Eine vorhandene Konfiguration wird samt Listener-Einstellungen wiederverwendet. Beachte die Adresse in der Startausgabe; starte keinen zweiten Proxy auf einem belegten Port.
Lass dieses Terminal weiterlaufen. Prüfe den Standard-Listener in einem zweiten Terminal:
curl --fail http://127.0.0.1:3758/health
Fertig, wenn: die Startausgabe den aktiven Konfigurationspfad und Listener nennt und /health erfolgreich antwortet. Das bestätigt den Prozess, nicht den Schutz.
Du möchtest einen bestimmten Konfigurationspfad verwenden?
Eine fehlende Datei an einem ausdrücklich angegebenen Pfad wird nur mit --init angelegt:
Unter Linux liegt die Standarddatei unter $XDG_CONFIG_HOME/modelwarden/config.json; falls diese Variable nicht gesetzt ist, unter ~/.config/modelwarden/config.json.
Semantik des Hintergrundhelfers pro Benutzer für die Entwicklungsspuren
Die geplante erste Desktop-Veröffentlichung läuft pro Benutzer. Eine Windows-MSI installiert unter %LOCALAPPDATA%\Programs\ModelWarden; der optionale Befehl mw-proxy background darf die Anmeldeaufgabe dieses Benutzers registrieren, installiert aber keinen SCM-Dienst und keinen Systemdienst vor der Anmeldung. Ein macOS-Universal-2-PKG installiert das gemeinsame Programm unter /usr/local/libexec/modelwarden/mw-proxy mit einem root-eigenen Link /usr/local/bin/mw-proxy. Der gleiche optionale Befehl installiert nur die ~/Library/LaunchAgents/ai.modelwarden.proxy.plist dieses Benutzers und nutzt dessen Application-Support-, Log- und $TMPDIR-Verzeichnisse.
Diese Pakete sind noch nicht supportqualifiziert und öffentlich verfügbar. Verwende pro Host einen konfigurierten Loopback-Listener, behalte die Anwendungsauthentifizierung für Dashboard-, Steuerungs- und Diagnosewege bei und leite daraus weder Isolation zwischen Benutzern noch Unterstützung mehrerer Endpunkte ab.
Schritt 3
Dashboard-Zugang schützen und Lizenz aktivieren
Öffne das lokale Dashboard des Proxys unter http://127.0.0.1:3758/admin/. Lass es auf Loopback beschränkt. Dein Passwort für das Kundenportal ist nicht das lokale Dashboard-Passwort.
Dashboard-Passwort
Deine Browser-Anmeldung am lokalen Dashboard.
Proxy-Client-API-Schlüssel
Die Zugangsdaten deines Coding-Clients für Modellanfragen.
Admin-API-Token
Nur für privilegierte Automatisierung. Nie als Client-Schlüssel verwenden.
Bei einer neuen Einrichtung öffnest du Config → Credentials → Protect credentials. Setze ein Dashboard-Passwort, verwahre das einmal angezeigte Admin-Token sicher und melde dich erneut an. Verwende ein anderes Passwort als den Client-Schlüssel.
Lass den Heartbeat-Endpunkt leer, wenn das signierte Token bereits die vertrauenswürdige Portal-URL enthält. Andernfalls verwende https://modelwarden.ai/api/v1/license/heartbeat. Lass die Maschinen-ID bei der ersten Aktivierung leer.
Fertig, wenn: die Anmeldung mit dem Dashboard-Passwort funktioniert und License den erwarteten Tarif, Lebenszyklusstatus und Funktionsumfang anzeigt.
Bereits eine Konfiguration oder eine ältere Anmeldung vorhanden?
Diese beiden Zugangsdaten müssen getrennt bleiben. In älteren Konfigurationen ist der Client-Schlüssel zugleich das Dashboard-Passwort, wenn dashboard.password leer ist. Verwende das konfigurierte Dashboard-Passwort oder, falls keines gesetzt wurde, den aktuellen Client-Schlüssel.
Behält Protect credentials die ältere Anmeldung bei, schütze zuerst die Zugangsdaten, melde dich damit erneut an und verwende danach Change dashboard password. Ist der Schutz schon eingerichtet, wiederhole die Einrichtung nicht. Das Schützen der Zugangsdaten und Passwortänderungen beenden vorhandene Browsersitzungen.
Stammt das Admin-Token noch aus einem älteren Passwort oder Client-Schlüssel, erneuere es, sobald die Admin-API-Clients vorbereitet sind. Wurde es offengelegt oder ist seine Herkunft unklar, erneuere es vor dem Fortfahren und verwahre den einmal angezeigten Ersatz sicher. Der Schutz allein erneuert keine Zugangsdaten und löscht keine alten Backups.
Du kommst schon nicht mehr ins Dashboard? Rate nicht wiederholt Zugangsdaten. Stoppe den Proxy und folge Dashboard-Zugang wiederherstellen.
Schritt 4
Modell und Judge verbinden
Öffne Providers → Add Endpoint. Trage Endpunkt, Format, Zugangsdaten und Upstream-Modell deines Providers ein. Speichere den Eintrag und verwende beim Modell Assign, um die Client-Route my-model anzulegen.
Der Routenschlüssel ist der Modellname, den dein Client an ModelWarden sendet.
Das Upstream-Modell ist der Modellname, den ModelWarden an den Provider weitergibt.
Beginne mit einem Provider. Mit Professional und Enterprise kannst du unter Routing berechtigte Provider-Reihenfolgen, Zeitpläne, Aliase und Failover einrichten.
Kontextbezogene Prüfung einrichten
Öffne Judge → Provider chain, wähle ein für den Judge geeignetes Modell und klicke auf Add Provider. Free und Professional verwenden eigene Judge-Zugangsdaten. Enterprise Managed verwendet einen verwalteten Judge nur, wenn dein signierter Vertrag ihn enthält und er konfiguriert ist.
Kein Judge konfiguriert? Der aktuelle Quellcode fällt auf reine Heuristiken zurück, wenn kein Judge verfügbar ist. Eine funktionierende Modellroute belegt keine aktive kontextbezogene Prüfung. Judge-Aufrufe können Provider-Kosten verursachen.
Fertig, wenn: Providers die Zuweisung my-model zeigt und Judge die gewünschte Provider-Kette oder einen berechtigten verwalteten Judge. Prüfe den wirksamen Modus in Schritt 6.
Schritt 5
Client-Schlüssel erstellen und einen Client verbinden
Öffne nach der Trennung des Dashboard-Zugangs Config → Credentials → Generate new proxy key. Verwahre den angezeigten Schlüssel sicher und aktualisiere jeden Client, der einen älteren Schlüssel verwendet. Das Ergebnisfeld wird beim Verlassen geleert; über das authentifizierte Copy Config unter Providers oder Routing lässt sich der aktive Client-Schlüssel ebenfalls abrufen.
Verwende diesen Proxy-Schlüssel als MODELWARDEN_API_KEY, nie deinen Provider-Schlüssel oder das Admin-Token. Führe Folgendes im zweiten Bash-Terminal aus und starte den Client aus diesem Terminal.
Bash: Lies den Schlüssel ein, ohne ihn anzuzeigen. Füge ihn nicht in Befehlsverlauf, Logs oder Chats ein.
Verwende die automatisch erstellte Einrichtung oder das Plugin auf der lokalen Seite Plugins. Dort werden die aktuell in ModelWarden gespeicherten Routen verwendet, statt möglicherweise veraltete Modelldaten manuell zu kopieren.
Claude Code
export ANTHROPIC_BASE_URL=http://127.0.0.1:3758
export ANTHROPIC_API_KEY="$MODELWARDEN_API_KEY"
claude --model my-model
Prüfe mit /status Basis-URL und Herkunft der Zugangsdaten. Vorhandene Einstellungen können Shell-Variablen überschreiben; bei Abweichungen hilft die offizielle Gateway-Anleitung.
Cursor (HTTPS)
Nicht Teil dieses Loopback-Schnellstarts. Aktuelle Cursor-Versionen senden Anfragen an benutzerdefinierte Modelle über Cursors Backend. Deshalb kann Cursor 127.0.0.1 oder einen privaten LAN-Endpunkt nicht direkt erreichen. Schließe diesen lokalen Test mit OpenCode, Claude Code, Codex oder einem anderen lokalen Client ab.
Für Cursor brauchst du zuerst einen bewusst abgesicherten, extern erreichbaren HTTPS-Client-Endpunkt, der weder Dashboard noch Admin-APIs veröffentlicht. Lies dazu Cursors API-Key-Dokumentation und die Hinweise zum Betrieb.
Codex
Verwende das ModelWarden-Paket auf der lokalen Seite Plugins, um Routen zu erkennen, Profile zu wählen und Zugangsdaten einzurichten. Eine manuelle Codex-Provider-Konfiguration findest du unter Client-Integrationen.
Andere Clients
OpenAI-kompatible Basis-URL
http://127.0.0.1:3758/v1
Anthropic-kompatible Basis-URL
http://127.0.0.1:3758
Modell
my-model oder der von dir gespeicherte Routenschlüssel.
Routenkatalog:/v1/models enthält deinen Routenschlüssel. Dieser Katalog-Endpunkt ist öffentlich und belegt nicht, dass der Client-Schlüssel stimmt.
Client-Anmeldung und Upstream: Sende mit dem vorgesehenen Client-Schlüssel über einen Fake-/Test- oder ausdrücklich freigegebenen Provider eine harmlose reine Textanfrage mit deaktivierten Tools. Ein echter Provider kann Kosten verursachen. Eine erfolgreiche Antwort belegt, dass der Schlüssel angenommen wurde und die Route ihren Upstream erreicht hat. Als negative Prüfung muss ein absichtlich ungültiger Platzhalter-Schlüssel mit 401 abgelehnt werden, ohne den Upstream zu erreichen; verwende dafür kein früheres echtes Geheimnis.
Schutzkonfiguration: Prüfe unter Config → Safety → General die Optionen Enabled, Audit only und Heuristics only. Normales Blockieren setzt aktivierten Schutz und ausgeschaltetes Audit only voraus; kontextbezogene Prüfung zusätzlich einen verfügbaren Judge und ausgeschaltetes Heuristics only. Prüfe On error: Standard ist allow, nicht Fail-closed.
Eine Textantwort ist kein Blockierungstest. Ohne Tool-Aufruf belegt eine normale Textanfrage keine Tool-Call-Durchsetzung und benötigt keinen Audit-Eintrag. Audit hängt außerdem von den Log-Einstellungen ab. In berechtigten Tarifen prüft Debug ein inertes Tool-Call-Beispiel ohne Ausführung; dabei kann der Judge aufgerufen werden, aber es entsteht kein Durchsetzungsereignis in Audit. Vollständige Schutzabnahme erfordert einen kontrollierten Tool-Call-Test mit passenden Client- und Audit-Nachweisen.
Exakte OpenAI-kompatible Prüfung ohne Tools
Führe dies nur mit einem Fake-/Test- oder ausdrücklich freigegebenen Provider aus. Die Anfrage sendet keine Tools:
curl --fail http://127.0.0.1:3758/v1/chat/completions \
-H "Authorization: Bearer $MODELWARDEN_API_KEY" \
-H 'Content-Type: application/json' \
-d '{"model":"my-model","messages":[{"role":"user","content":"Antworte nur mit OK."}],"tools":[],"stream":false}'
Fertig, wenn: die Route mit dem vorgesehenen Schlüssel antwortet, einen ungültigen Schlüssel ablehnt und du Schutzmodus sowie Judge-Verfügbarkeit geprüft hast. Dokumentiere Tool-Call-Durchsetzung als separate Prüfung, nicht als Annahme.
Weitere Übertragungswege und vertiefte Prüfung
Der aktuelle Quellcode unterstützt OpenAI Responses über HTTP, SSE und WebSocket. Eine Chat-Completions-Prüfung testet diese Wege nicht. Prüfe den heruntergeladenen Build und jeden vorgesehenen Client-Pfad.
Nächste Schritte
Die erste Einrichtung bleibt einfach.
Wiederherstellung, Richtlinien, Automatisierung und Betrieb stehen im ausführlichen Leitfaden.