Concepts and configuration
Modelle-CLI
Rotation von Auth-Profilen, Cooldowns und wie dies mit Fallbacks zusammenspielt.
Kurzer Provider-Überblick und Beispiele.
OpenClaw, Codex und andere Laufzeiten für Agent-Schleifen.
Modell-Konfigurationsschlüssel.
Modellreferenzen wählen einen Provider und ein Modell aus. Normalerweise wählen sie nicht die Low-Level-Agent-Laufzeit aus. OpenAI-Agent-Referenzen sind die wichtigste Ausnahme: openai/gpt-5.5 läuft beim offiziellen OpenAI-Provider standardmäßig über die Codex-App-Server-Laufzeit. Subscription-Copilot-Referenzen (github-copilot/*) können zusätzlich für das externe GitHub-Copilot-Agent-Laufzeit-Plugin aktiviert werden – dieser Pfad bleibt explizit (kein auto-Fallback). Explizite Laufzeitüberschreibungen gehören in die Provider-/Modellrichtlinie, nicht auf den gesamten Agent oder die gesamte Sitzung. Im Codex-Laufzeitmodus impliziert die Referenz openai/gpt-* keine Abrechnung über API-Schlüssel; die Authentifizierung kann über ein Codex-Konto oder ein openai-OAuth-Profil erfolgen. Siehe Agent-Laufzeiten und GitHub-Copilot-Agent-Laufzeit.
So funktioniert die Modellauswahl
OpenClaw wählt Modelle in dieser Reihenfolge aus:
Primäres Modell
agents.defaults.model.primary (oder agents.defaults.model).
Fallbacks
agents.defaults.model.fallbacks (in Reihenfolge).
Provider-Auth-Failover
Auth-Failover erfolgt innerhalb eines Providers, bevor zum nächsten Modell gewechselt wird.
Zugehörige Modelloberflächen
agents.defaults.modelsist die Allowlist/der Katalog der Modelle, die OpenClaw verwenden kann (plus Aliase). Verwenden Sieprovider/*-Einträge, um sichtbare Provider zu begrenzen, während die Provider-Erkennung dynamisch bleibt.agents.defaults.imageModelwird nur verwendet, wenn das primäre Modell keine Bilder akzeptieren kann.agents.defaults.pdfModelwird vom Toolpdfverwendet. Wenn es weggelassen wird, fällt das Tool aufagents.defaults.imageModelzurück, dann auf das aufgelöste Sitzungs-/Standardmodell.agents.defaults.imageGenerationModelwird von der gemeinsam genutzten Bildgenerierungsfunktion verwendet. Wenn es weggelassen wird, kannimage_generateweiterhin einen auth-gestützten Provider-Standard ableiten. Es versucht zuerst den aktuellen Standard-Provider, dann die übrigen registrierten Bildgenerierungs-Provider in Reihenfolge der Provider-ID. Wenn Sie einen bestimmten Provider/ein bestimmtes Modell festlegen, konfigurieren Sie auch die Authentifizierung/den API-Schlüssel dieses Providers.agents.defaults.musicGenerationModelwird von der gemeinsam genutzten Musikgenerierungsfunktion verwendet. Wenn es weggelassen wird, kannmusic_generateweiterhin einen auth-gestützten Provider-Standard ableiten. Es versucht zuerst den aktuellen Standard-Provider, dann die übrigen registrierten Musikgenerierungs-Provider in Reihenfolge der Provider-ID. Wenn Sie einen bestimmten Provider/ein bestimmtes Modell festlegen, konfigurieren Sie auch die Authentifizierung/den API-Schlüssel dieses Providers.agents.defaults.videoGenerationModelwird von der gemeinsam genutzten Videogenerierungsfunktion verwendet. Wenn es weggelassen wird, kannvideo_generateweiterhin einen auth-gestützten Provider-Standard ableiten. Es versucht zuerst den aktuellen Standard-Provider, dann die übrigen registrierten Videogenerierungs-Provider in Reihenfolge der Provider-ID. Wenn Sie einen bestimmten Provider/ein bestimmtes Modell festlegen, konfigurieren Sie auch die Authentifizierung/den API-Schlüssel dieses Providers.- Agent-spezifische Standards können
agents.defaults.modelüberagents.list[].modelplus Bindings überschreiben (siehe Multi-Agent-Routing).
Auswahlquelle und Fallback-Verhalten
Dasselbe provider/model kann je nach Herkunft unterschiedliche Dinge bedeuten:
- Konfigurierte Standards (
agents.defaults.model.primaryund agent-spezifische Primärmodelle) sind der normale Ausgangspunkt und verwendenagents.defaults.model.fallbacks. - Automatische Fallback-Auswahlen sind temporärer Wiederherstellungszustand. Sie werden mit
modelOverrideSource: "auto"gespeichert, damit spätere Durchläufe die Fallback-Kette weiter verwenden können, ohne jedes Mal ein bekannt defektes Primärmodell zu prüfen; OpenClaw prüft das ursprüngliche Primärmodell regelmäßig erneut, löscht die automatische Auswahl, wenn es sich erholt, und kündigt Fallback-/Wiederherstellungsübergänge einmal pro Zustandsänderung an. - Benutzersitzungsauswahlen sind exakt.
/model, die Modellauswahl,session_status(model=...)undsessions.patchspeichernmodelOverrideSource: "user"; wenn dieser ausgewählte Provider/dieses ausgewählte Modell nicht erreichbar ist, schlägt OpenClaw sichtbar fehl, statt auf ein anderes konfiguriertes Modell zurückzufallen. - Das Ändern von
agents.defaults.model.primaryschreibt bestehende Sitzungsauswahlen nicht um. Wenn der StatusThis session is pinned to X; config primary Y will apply to new/unpinned sessions.meldet, löschen Sie die aktuelle Sitzungsauswahl mit/model default, damit sie wieder das konfigurierte Primärmodell erbt. - Cron
--model/ Payloadmodelist ein Primärmodell pro Job. Es verwendet weiterhin konfigurierte Fallbacks, sofern der Job keine expliziten Payload-fallbacksbereitstellt (verwenden Siefallbacks: []für einen strikten Cron-Lauf). - CLI-Standardmodell- und Allowlist-Auswahlen respektieren
models.mode: "replace", indem sie explizitemodels.providers.*.modelsauflisten, statt den vollständigen eingebauten Katalog zu laden. - Die Control-UI-Modellauswahl fragt beim Gateway die konfigurierte Modellansicht ab:
agents.defaults.models, falls vorhanden, einschließlich providerweiterprovider/*-Einträge, andernfalls explizitemodels.providers.*.modelsplus Provider mit verwendbarer Authentifizierung. Der vollständige eingebaute Katalog ist expliziten Browsing-Ansichten vorbehalten, etwamodels.listmitview: "all"oderopenclaw models list --all.
Kurze Modellrichtlinie
- Legen Sie Ihr Primärmodell auf das stärkste Modell der neuesten Generation fest, das Ihnen zur Verfügung steht.
- Verwenden Sie Fallbacks für kosten-/latenzempfindliche Aufgaben und Chats mit geringeren Anforderungen.
- Vermeiden Sie bei Tool-fähigen Agenten oder nicht vertrauenswürdigen Eingaben ältere/schwächere Modellstufen.
Onboarding (empfohlen)
Wenn Sie die Konfiguration nicht manuell bearbeiten möchten, führen Sie Onboarding aus:
openclaw onboardEs kann Modell + Authentifizierung für gängige Provider einrichten, einschließlich OpenAI Code (Codex)-Abonnement (OAuth) und Anthropic (API-Schlüssel oder Claude CLI).
Konfigurationsschlüssel (Überblick)
agents.defaults.model.primaryundagents.defaults.model.fallbacksagents.defaults.imageModel.primaryundagents.defaults.imageModel.fallbacksagents.defaults.pdfModel.primaryundagents.defaults.pdfModel.fallbacksagents.defaults.imageGenerationModel.primaryundagents.defaults.imageGenerationModel.fallbacksagents.defaults.videoGenerationModel.primaryundagents.defaults.videoGenerationModel.fallbacksagents.defaults.models(Allowlist + Aliase + Provider-Parameter + dynamische Provider-Einträgeprovider/*)models.providers(benutzerdefinierte Provider, die inmodels.jsongeschrieben werden)
Sichere Allowlist-Bearbeitungen
Verwenden Sie additive Schreibvorgänge, wenn Sie agents.defaults.models manuell aktualisieren:
openclaw config set agents.defaults.models '{"openai/gpt-5.4":{}}' --strict-json --mergeRegeln zum Schutz vor Überschreiben
openclaw config set schützt Modell-/Provider-Maps vor versehentlichem Überschreiben. Eine einfache Objektzuweisung an agents.defaults.models, models.providers oder models.providers.<id>.models wird abgelehnt, wenn dadurch bestehende Einträge entfernt würden. Verwenden Sie --merge für additive Änderungen; verwenden Sie --replace nur, wenn der bereitgestellte Wert zum vollständigen Zielwert werden soll.
Interaktive Provider-Einrichtung und openclaw configure --section model führen Provider-spezifische Auswahlen ebenfalls in die bestehende Allowlist zusammen, sodass das Hinzufügen von Codex, Ollama oder einem anderen Provider keine nicht zusammenhängenden Modelleinträge entfernt. Configure bewahrt ein bestehendes agents.defaults.model.primary, wenn Provider-Authentifizierung erneut angewendet wird. Explizite Befehle zum Setzen von Standards wie openclaw models auth login --provider <id> --set-default und openclaw models set <model> ersetzen weiterhin agents.defaults.model.primary.
„Modell ist nicht erlaubt“ (und warum Antworten stoppen)
Wenn agents.defaults.models gesetzt ist, wird es zur Allowlist für /model und für Sitzungsüberschreibungen. Wenn ein Benutzer ein Modell auswählt, das nicht in dieser Allowlist enthalten ist, gibt OpenClaw zurück:
Model "provider/model" is not allowed. Use /models to list providers, or /models <provider> to list models.Add it with: openclaw config set agents.defaults.models '{"provider/model":{}}' --strict-json --mergeWenn der abgelehnte Befehl eine Laufzeitüberschreibung wie /model openai/gpt-5.5 --runtime codex enthielt, beheben Sie zuerst die Allowlist und wiederholen Sie dann denselben Befehl /model ... --runtime .... Für native Codex-Ausführung ist das ausgewählte Modell weiterhin openai/gpt-5.5; die Laufzeit codex wählt das Harness aus und verwendet Codex-Authentifizierung separat.
Speichern Sie für lokale/GGUF-Modelle die vollständige, providerpräfixierte Referenz in der Allowlist,
zum Beispiel ollama/gemma4:26b, lmstudio/Gemma4-26b-a4-it-gguf oder das
exakte Provider/Modell, das von openclaw models list --provider <provider> angezeigt wird.
Bloße lokale Dateinamen oder Anzeigenamen reichen nicht aus, wenn die Allowlist
aktiv ist.
Wenn Sie Provider begrenzen möchten, ohne jedes Modell manuell aufzulisten, fügen Sie
provider/*-Einträge zu agents.defaults.models hinzu:
{ agents: { defaults: { models: { "openai/*": {}, "vllm/*": {}, }, }, },}Mit dieser Richtlinie zeigen /model, /models und Modellauswahlen den erkannten
Katalog nur für diese Provider an. Neue Modelle der ausgewählten Provider können
erscheinen, ohne die Allowlist zu bearbeiten. Exakte provider/model-Einträge können mit
provider/*-Einträgen gemischt werden, wenn Sie ein bestimmtes Modell eines anderen Providers benötigen.
Beispielkonfiguration für die Allowlist:
{ agents: { defaults: { model: { primary: "anthropic/claude-sonnet-4-6" }, models: { "anthropic/claude-sonnet-4-6": { alias: "Sonnet" }, "anthropic/claude-opus-4-6": { alias: "Opus" }, }, }, },}Modelle im Chat wechseln (/model)
Sie können Modelle für die aktuelle Sitzung wechseln, ohne neu zu starten:
/model/model list/model 3/model openai/gpt-5.4/model default/model statusAuswahlverhalten
/model(und/model list) ist eine kompakte, nummerierte Auswahl (Modellfamilie + verfügbare Provider).- Auf Discord öffnen
/modelund/modelseine interaktive Auswahl mit Provider- und Modell-Dropdowns plus einem Submit-Schritt. - Auf Telegram sind
/models-Auswahlen sitzungsbezogen; sie ändern nicht den persistenten Standard des Agenten inopenclaw.json. /models addist veraltet und gibt jetzt eine Veraltungsmeldung zurück, statt Modelle aus dem Chat zu registrieren./model <#>wählt aus dieser Auswahl aus.
Persistenz und Live-Umschaltung
/modelspeichert die neue Sitzungsauswahl sofort.- Wenn der Agent inaktiv ist, verwendet der nächste Lauf sofort das neue Modell.
- Wenn bereits ein Lauf aktiv ist, markiert OpenClaw eine Live-Umschaltung als ausstehend und startet erst an einem sauberen Wiederholungspunkt mit dem neuen Modell neu.
- Wenn Tool-Aktivität oder Antwortausgabe bereits begonnen hat, kann die ausstehende Umschaltung bis zu einer späteren Wiederholungsmöglichkeit oder bis zur nächsten Benutzereingabe in der Warteschlange bleiben.
/model defaultlöscht die Sitzungsauswahl und setzt die Sitzung auf das konfigurierte Standardmodell zurück.- Eine vom Benutzer ausgewählte
/model-Referenz ist für diese Sitzung strikt: Wenn der ausgewählte Provider/das ausgewählte Modell nicht erreichbar ist, schlägt die Antwort sichtbar fehl, statt stillschweigend überagents.defaults.model.fallbackszu antworten. Dies unterscheidet sich von konfigurierten Standards und Cron-Job-Primärmodellen, die weiterhin Fallback-Ketten verwenden können. /model statusist die Detailansicht (Auth-Kandidaten und, wenn konfiguriert, Provider-EndpunktbaseUrl+api-Modus).
Referenzparsing
- Modellreferenzen werden durch Aufteilen am ersten
/geparst. Verwenden Sieprovider/model, wenn Sie/model <ref>eingeben. - Wenn die Modell-ID selbst
/enthält (OpenRouter-Stil), müssen Sie das Provider-Präfix einschließen (Beispiel:/model openrouter/moonshotai/kimi-k2). - Wenn Sie den Provider auslassen, löst OpenClaw die Eingabe in dieser Reihenfolge auf:
- Alias-Übereinstimmung
- eindeutige Übereinstimmung eines konfigurierten Providers für genau diese Modell-ID ohne Präfix
- veralteter Fallback auf den konfigurierten Standard-Provider — wenn dieser Provider das konfigurierte Standardmodell nicht mehr anbietet, fällt OpenClaw stattdessen auf den ersten konfigurierten Provider/das erste konfigurierte Modell zurück, um zu vermeiden, dass ein veralteter Standard eines entfernten Providers sichtbar wird.
Vollständiges Befehlsverhalten/Konfiguration: Slash-Befehle.
CLI-Befehle
openclaw models listopenclaw models statusopenclaw models set <provider/model>openclaw models set-image <provider/model> openclaw models aliases listopenclaw models aliases add <alias> <provider/model>openclaw models aliases remove <alias> openclaw models fallbacks listopenclaw models fallbacks add <provider/model>openclaw models fallbacks remove <provider/model>openclaw models fallbacks clear openclaw models image-fallbacks listopenclaw models image-fallbacks add <provider/model>openclaw models image-fallbacks remove <provider/model>openclaw models image-fallbacks clearopenclaw models (ohne Unterbefehl) ist eine Abkürzung für models status.
models list
Zeigt standardmäßig konfigurierte/auth-verfügbare Modelle. Nützliche Flags:
--allbooleanVollständiger Katalog. Enthält gebündelte, vom Provider verwaltete statische Katalogzeilen, bevor Auth konfiguriert ist, sodass reine Discovery-Ansichten Modelle anzeigen können, die erst verfügbar sind, nachdem Sie passende Provider-Anmeldedaten hinzugefügt haben.
--localbooleanNur lokale Provider.
OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Ii0tcHJvdmlkZXIgPGlk
" type="string">
Nach Provider-ID filtern, zum Beispiel moonshot. Anzeigebezeichnungen aus interaktiven Auswahldialogen werden nicht akzeptiert.
--plainbooleanEin Modell pro Zeile.
--jsonbooleanMaschinenlesbare Ausgabe.
models status
Zeigt das aufgelöste Primärmodell, Fallbacks, Bildmodell und eine Auth-Übersicht der konfigurierten Provider. Außerdem wird der OAuth-Ablaufstatus für Profile angezeigt, die im Auth-Speicher gefunden wurden (standardmäßig Warnung innerhalb von 24 h). --plain gibt nur das aufgelöste Primärmodell aus.
Auth- und Prüfverhalten
- Der OAuth-Status wird immer angezeigt (und in der
--json-Ausgabe eingeschlossen). Wenn ein konfigurierter Provider keine Anmeldedaten hat, gibtmodels statuseinen Abschnitt Fehlende Authentifizierung aus. - JSON enthält
auth.oauth(Warnfenster + Profile) undauth.providers(effektive Authentifizierung pro Provider, einschließlich env-gestützter Anmeldedaten).auth.oauthist nur der Zustand der Auth-Speicherprofile; reine env-Provider erscheinen dort nicht. - Verwenden Sie
--checkfür Automatisierung (Exit1bei fehlend/abgelaufen,2bei bald ablaufend). - Verwenden Sie
--probefür Live-Auth-Prüfungen; Prüfzeilen können aus Auth-Profilen, env-Anmeldedaten odermodels.jsonstammen. - Wenn explizites
auth.order.<provider>ein gespeichertes Profil auslässt, meldet die Prüfungexcluded_by_auth_order, statt es zu versuchen. Wenn Auth vorhanden ist, aber für diesen Provider kein prüfbares Modell aufgelöst werden kann, meldet die Prüfungstatus: no_model.
Beispiel (Claude CLI):
claude auth loginopenclaw models statusScanning (kostenlose OpenRouter-Modelle)
openclaw models scan prüft den kostenlosen Modellkatalog von OpenRouter und kann optional Modelle auf Tool- und Bildunterstützung prüfen.
--no-probebooleanLive-Prüfungen überspringen (nur Metadaten).
"--min-params"--max-age-days"--provider"--max-candidates--set-defaultbooleanSetzt agents.defaults.model.primary auf die erste Auswahl.
--set-imagebooleanSetzt agents.defaults.imageModel.primary auf die erste Bildauswahl.
Scan-Ergebnisse werden bewertet nach:
- Bildunterstützung
- Tool-Latenz
- Kontextgröße
- Parameteranzahl
Eingabe:
- OpenRouter-
/models-Liste (Filter:free) - Live-Prüfungen erfordern einen OpenRouter-API-Schlüssel aus Auth-Profilen oder
OPENROUTER_API_KEY(siehe Umgebungsvariablen) - Optionale Filter:
--max-age-days,--min-params,--provider,--max-candidates - Anforderungs-/Prüfsteuerung:
--timeout,--concurrency
Wenn Live-Prüfungen in einem TTY laufen, können Sie Fallbacks interaktiv auswählen. Im nicht interaktiven Modus übergeben Sie --yes, um Standardwerte zu akzeptieren. Ergebnisse nur mit Metadaten dienen der Information; --set-default und --set-image erfordern Live-Prüfungen, damit OpenClaw kein unbrauchbares OpenRouter-Modell ohne Schlüssel konfiguriert.
Modellregistrierung (models.json)
Benutzerdefinierte Provider in models.providers werden in models.json im Agent-Verzeichnis geschrieben (Standard ~/.openclaw/agents/<agentId>/agent/models.json). Provider-Plugin-Kataloge werden als generierte, Plugin-eigene Katalog-Shards im Plugin-Status des Agents gespeichert und automatisch geladen. Diese Datei wird standardmäßig zusammengeführt, sofern models.mode nicht auf replace gesetzt ist.
Rangfolge im Zusammenführungsmodus
Rangfolge im Zusammenführungsmodus für übereinstimmende Provider-IDs:
- Nicht leere
baseUrl, die bereits in der Agent-models.jsonvorhanden ist, hat Vorrang. - Nicht leerer
apiKeyin der Agent-models.jsonhat nur Vorrang, wenn dieser Provider im aktuellen Konfigurations-/Auth-Profil-Kontext nicht SecretRef-verwaltet ist. - SecretRef-verwaltete Provider-
apiKey-Werte werden aus Quellmarkierungen (ENV_VAR_NAMEfür env-Refs,secretref-managedfür Datei-/Exec-Refs) aktualisiert, statt aufgelöste Secrets dauerhaft zu speichern. - SecretRef-verwaltete Provider-Header-Werte werden aus Quellmarkierungen (
secretref-env:ENV_VAR_NAMEfür env-Refs,secretref-managedfür Datei-/Exec-Refs) aktualisiert. - Leere oder fehlende Agent-
apiKey/baseUrlfallen auf Konfigurationmodels.providerszurück. - Andere Provider-Felder werden aus Konfiguration und normalisierten Katalogdaten aktualisiert.
Verwandte Themen
- Agent-Runtimes — OpenClaw, Codex und andere Agent-Loop-Runtimes
- Konfigurationsreferenz — Modellkonfigurationsschlüssel
- Bildgenerierung — Bildmodellkonfiguration
- Modell-Failover — Fallback-Ketten
- Modell-Provider — Provider-Routing und Auth
- Musikgenerierung — Musikmodellkonfiguration
- Videogenerierung — Videomodellkonfiguration