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
Modellerkennung (impliziter Provider)
WennVLLM_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, SiecontextWindow/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:
Erweiterte Konfiguration
Proxyähnliches Verhalten
Proxyähnliches Verhalten
vLLM wird als proxyähnliches OpenAI-kompatibles
/v1-Backend und nicht als nativer OpenAI-Endpunkt behandelt:Qwen-Steuerung für Denkprozesse
Qwen-Steuerung für Denkprozesse
Legen Sie bei Qwen-Modellen OpenClaw ordnet Denkstufen außerhalb von
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./think off Folgendem zu: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.Nemotron-3-Steuerung für Denkprozesse
Nemotron-3-Steuerung für Denkprozesse
Für Um diese Werte anzupassen, legen Sie
vllm/nemotron-3-*-Modelle mit deaktiviertem Denkprozess sendet das gebündelte Plugin: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.Qwen-Toolaufrufe werden als Text angezeigt
Qwen-Toolaufrufe werden als Text angezeigt
Vergewissern Sie sich zunächst, dass vLLM mit dem richtigen Toolaufruf-Parser und der richtigen Chatvorlage für das Modell gestartet wurde. vLLM dokumentiert Ersetzen Sie die Modell-ID durch die genaue ID aus 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.
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:openclaw models list --provider vllm oder wenden Sie dieselbe Überschreibung über die CLI an:Benutzerdefinierte Basis-URL
Benutzerdefinierte Basis-URL
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
Langsame erste Antwort oder Zeitüberschreitung des entfernten Servers
Langsame erste Antwort oder Zeitüberschreitung des entfernten Servers
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.Server nicht erreichbar
Server nicht erreichbar
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.Authentifizierungsfehler bei Anfragen
Authentifizierungsfehler bei Anfragen
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.Keine Modelle erkannt
Keine Modelle erkannt
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.Tools werden als unaufbereiteter Text dargestellt
Tools werden als unaufbereiteter Text dargestellt
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, wenntool_choice: "auto"weiterhin leere oder ausschließlich textbasierte Toolaufrufe zurückgibt.
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.