Skip to main content
vLLM stellt Open-Source-Modelle (und einige benutzerdefinierte Modelle) über eine OpenAI-kompatible HTTP-API bereit. OpenClaw stellt die Verbindung über die openai-completions-API her und kann Modelle automatisch erkennen, wenn Sie dies mit VLLM_API_KEY aktivieren.

Erste Schritte

1

vLLM mit einem OpenAI-kompatiblen Server starten

Ihre Basis-URL muss /v1-Endpunkte bereitstellen (/v1/models, /v1/chat/completions). vLLM wird üblicherweise unter folgender Adresse ausgeführt:
2

Umgebungsvariable für den API-Schlüssel festlegen

Jeder nicht leere Wert funktioniert, wenn Ihr Server keine Authentifizierung erzwingt:
3

Modell auswählen

Ersetzen Sie die Angabe durch eine Ihrer vLLM-Modell-IDs:
4

Verfügbarkeit des Modells überprüfen

Übergeben Sie für die nicht interaktive Einrichtung (CI, Skripterstellung) die Basis-URL, den Schlüssel und das Modell direkt:

Modellerkennung (impliziter Provider)

Wenn VLLM_API_KEY festgelegt ist (oder ein Authentifizierungsprofil vorhanden ist) und models.providers.vllm nicht definiert ist, fragt OpenClaw GET http://127.0.0.1:8000/v1/models ab und wandelt die zurückgegebenen IDs in Modelleinträge um.
Wenn Sie models.providers.vllm ausdrücklich festlegen, verwendet OpenClaw nur die von Ihnen deklarierten Modelle. Fügen Sie "vllm/*": {} zu agents.defaults.models hinzu, damit OpenClaw außerdem den /models-Endpunkt dieses konfigurierten Providers abfragt und alle angebotenen vLLM-Modelle einschließt.

Explizite Konfiguration

Konfigurieren Sie den Provider ausdrücklich, wenn vLLM auf einem anderen Host oder Port ausgeführt wird, Sie contextWindow/maxTokens fest vorgeben möchten, Ihr Server einen echten API-Schlüssel erfordert oder Sie eine Verbindung zu einem vertrauenswürdigen Loopback-, LAN- oder Tailscale-Endpunkt herstellen:
Fügen Sie dem sichtbaren Modellkatalog einen Platzhalter hinzu, um den Provider dynamisch zu halten, ohne jedes Modell aufzuführen:

Erweiterte Konfiguration

vLLM wird als proxyähnliches OpenAI-kompatibles /v1-Backend und nicht als nativer OpenAI-Endpunkt behandelt:
Legen Sie bei Qwen-Modellen compat.thinkingFormat: "qwen-chat-template" in der Modellzeile fest, wenn der Server Schlüsselwortargumente für die Qwen-Chatvorlage erwartet. Diese Modelle stellen ein binäres /think-Profil (off, on) bereit, da Denkprozesse in Qwen-Chatvorlagen ein Ein/Aus-Schalter und keine OpenAI-ähnliche Aufwandsabstufung sind.
OpenClaw ordnet /think off Folgendem zu:
Denkstufen außerhalb von off senden enable_thinking: true. Wenn Ihr Endpunkt stattdessen Flags auf oberster Ebene im DashScope-Stil erwartet, verwenden Sie compat.thinkingFormat: "qwen", um enable_thinking auf der Wurzelebene der Anfrage zu senden.
Für vllm/nemotron-3-*-Modelle mit deaktiviertem Denkprozess sendet das gebündelte Plugin:
Um diese Werte anzupassen, legen Sie chat_template_kwargs unter den Modellparametern fest. Wenn Sie außerdem params.extra_body.chat_template_kwargs festlegen, hat dieser Wert Vorrang, da extra_body die letzte Überschreibung des Anfragekörpers ist.
Vergewissern Sie sich zunächst, dass vLLM mit dem richtigen Toolaufruf-Parser und der richtigen Chatvorlage für das Modell gestartet wurde. vLLM dokumentiert hermes für Qwen2.5-Modelle und qwen3_xml für Qwen3-Coder-Modelle.Symptome: Skills/Tools werden nie ausgeführt, der Assistent gibt unaufbereitetes JSON/XML wie {"name":"read","arguments":...} aus oder vLLM gibt ein leeres tool_calls-Array zurück, wenn OpenClaw tool_choice: "auto" sendet.Einige Qwen/vLLM-Kombinationen geben strukturierte Toolaufrufe nur zurück, wenn die Anfrage tool_choice: "required" verwendet. Erzwingen Sie dies mit params.extra_body für jedes Modell einzeln:
Ersetzen Sie die Modell-ID durch die genaue ID aus openclaw models list --provider vllm oder wenden Sie dieselbe Überschreibung über die CLI an:
Dies ist eine optionale Problemumgehung: Sie erzwingt bei jeder Interaktion mit Tools einen Toolaufruf. Verwenden Sie sie daher nur für einen dedizierten Modelleintrag, bei dem dies vertretbar ist. Legen Sie sie nicht als globalen Standard für alle vLLM-Modelle fest und kombinieren Sie sie nicht mit einem Proxy, der beliebigen Assistententext in ausführbare Toolaufrufe umwandelt.
Wenn Ihr vLLM-Server auf einem vom Standard abweichenden Host oder Port ausgeführt wird, legen Sie baseUrl in der expliziten Provider-Konfiguration fest:

Fehlerbehebung

Legen Sie für große lokale Modelle, entfernte LAN-Hosts oder Tailnet-Verbindungen eine Provider-spezifische Anforderungszeitüberschreitung fest:
timeoutSeconds gilt ausschließlich für HTTP-Anfragen an vLLM-Modelle: Verbindungsaufbau, Antwort-Header, Streaming des Antwortkörpers und den gesamten geschützten Fetch-Abbruch. Außerdem wird dadurch die Obergrenze des LLM-Inaktivitäts-/Streaming-Watchdogs über den impliziten Standardwert von ~120s für diesen Provider angehoben. Ziehen Sie dies einer Erhöhung von agents.defaults.timeoutSeconds vor, da diese Einstellung den gesamten Agentenlauf steuert.
Prüfen Sie, ob der vLLM-Server ausgeführt wird und erreichbar ist:
Wenn ein Verbindungsfehler angezeigt wird, überprüfen Sie den Host, den Port und ob vLLM im OpenAI-kompatiblen Servermodus gestartet wurde. OpenClaw vertraut dem exakt konfigurierten Ursprung models.providers.vllm.baseUrl für geschützte Modellanfragen an Loopback-, LAN- und Tailscale-Endpunkte. Metadaten- und Link-Local-Ursprünge bleiben ohne ausdrückliche Aktivierung gesperrt. Legen Sie models.providers.vllm.request.allowPrivateNetwork: true nur fest, wenn vLLM-Anfragen einen anderen privaten Ursprung erreichen müssen, oder false, um das Vertrauen in den exakten Ursprung zu deaktivieren.
Wenn Anfragen aufgrund von Authentifizierungsfehlern fehlschlagen, legen Sie einen echten VLLM_API_KEY fest, der Ihrer Serverkonfiguration entspricht, oder konfigurieren Sie den Provider ausdrücklich unter models.providers.vllm.
Wenn Ihr vLLM-Server keine Authentifizierung erzwingt, funktioniert jeder nicht leere Wert für VLLM_API_KEY als Aktivierungssignal für OpenClaw.
Für die automatische Erkennung muss VLLM_API_KEY festgelegt sein. Wenn Sie models.providers.vllm definiert haben, verwendet OpenClaw nur die von Ihnen deklarierten Modelle, sofern agents.defaults.models nicht "vllm/*": {} enthält.
Wenn ein Qwen-Modell JSON/XML-Toolsyntax ausgibt, statt einen Skill auszuführen:
  • Starten Sie vLLM mit dem richtigen Parser/der richtigen Vorlage für dieses Modell.
  • Bestätigen Sie die genaue Modell-ID mit openclaw models list --provider vllm.
  • Fügen Sie nur dann eine dedizierte modellspezifische Überschreibung mit params.extra_body.tool_choice: "required" hinzu, wenn tool_choice: "auto" weiterhin leere oder ausschließlich textbasierte Toolaufrufe zurückgibt.
Weitere Hilfe: Fehlerbehebung und FAQ.

Verwandte Themen

Modellauswahl

Auswahl von Providern, Modellreferenzen und Failover-Verhalten.

OpenAI

Nativer OpenAI-Provider und Verhalten OpenAI-kompatibler Routen.

OAuth und Authentifizierung

Details zur Authentifizierung und Regeln für die Wiederverwendung von Anmeldedaten.

Fehlerbehebung

Häufige Probleme und deren Behebung.