openclaw.json: Werte per Pfad abrufen/festlegen/patchen/aufheben/datei/schema/validieren und die aktive Konfigurationsdatei ausgeben. Ohne Unterbefehl ausführen, um den Konfigurationsassistenten zu öffnen (entspricht openclaw configure).
Wenn
OPENCLAW_NIX_MODE=1 gesetzt ist, behandelt OpenClaw openclaw.json als unveränderlich. Schreibgeschützte Befehle wie config get, config file, config schema und config validate funktionieren weiterhin, aber Konfigurationsschreiber verweigern die Ausführung. Agents sollten stattdessen die Nix-Quelle der Installation bearbeiten; für die First-Party-Distribution nix-openclaw verwenden Sie nix-openclaw Quick Start und setzen Werte unter programs.openclaw.config oder instances.<name>.config.Stammoptionen
Wiederholbarer Filter für Abschnitte der geführten Einrichtung, wenn Sie
openclaw config ohne Unterbefehl ausführen.workspace, model, web, gateway, daemon, channels, plugins, skills, health.
Beispiele
config schema
Gibt das generierte JSON-Schema für openclaw.json als JSON auf stdout aus.
Was es enthält
Was es enthält
- Das aktuelle Stamm-Konfigurationsschema sowie ein
$schema-Stringfeld auf Stammebene für Editor-Werkzeuge. - Dokumentationsmetadaten
titleunddescription, die von der Control UI verwendet werden. - Verschachtelte Objekt-, Platzhalter- (
*) und Array-Element-Knoten ([]) erben dieselben Metadatentitle/description, wenn passende Felddokumentation vorhanden ist. - Auch
anyOf- /oneOf- /allOf-Zweige erben dieselben Dokumentationsmetadaten, wenn passende Felddokumentation vorhanden ist. - Bestmögliche Live-Metadaten für Plugin- und Kanal-Schemata, wenn Laufzeitmanifeste geladen werden können.
- Ein sauberes Fallback-Schema, selbst wenn die aktuelle Konfiguration ungültig ist.
Zugehörige Laufzeit-RPC
Zugehörige Laufzeit-RPC
config.schema.lookup gibt einen normalisierten Konfigurationspfad mit einem flachen Schemaknoten (title, description, type, enum, const, übliche Grenzen), passenden UI-Hinweis-Metadaten und direkten Kindzusammenfassungen zurück. Verwenden Sie dies für pfadbezogene Detailansichten in der Control UI oder in benutzerdefinierten Clients.Pfade
Pfade verwenden Punkt- oder Klammernotation. Setzen Sie Pfade in Klammernotation in Shell-Beispielen in Anführungszeichen, damit Shells wie zsh[0] nicht als Glob erweitern, bevor OpenClaw den Pfad erhält:
Werte
Werte werden nach Möglichkeit als JSON5 geparst; andernfalls werden sie als Strings behandelt. Verwenden Sie--strict-json, um standardkonformes JSON-Parsing ohne String-Fallback zu erzwingen. --json wird weiterhin als Legacy-Alias für --strict-json unterstützt.
--strict-json aktiviert ist, wird JSON5-spezifische Syntax wie Kommentare, nachgestellte Kommas oder nicht in Anführungszeichen gesetzte Objektschlüssel abgelehnt. Lassen Sie --strict-json weg, um JSON5-Wert-Parsing mit Raw-String-Fallback zu verwenden.
config get <path> --json gibt den Rohwert als JSON statt als terminalformatierten Text aus.
Objektzuweisung ersetzt standardmäßig den Zielpfad. Geschützte Map-/Listenpfade, die üblicherweise von Benutzern hinzugefügte Einträge enthalten, wie
agents.defaults.models, models.providers, models.providers.<id>.models, plugins.entries und auth.profiles, verweigern Ersetzungen, die vorhandene Einträge entfernen würden, sofern Sie nicht --replace übergeben.--merge, wenn Sie diesen Maps Einträge hinzufügen:
--replace nur, wenn der bereitgestellte Wert absichtlich zum vollständigen Zielwert werden soll.
config set-Modi
openclaw config set unterstützt vier Zuweisungsarten:
- Wertmodus
- SecretRef-Builder-Modus
- Provider-Builder-Modus
- Batch-Modus
--batch-json/--batch-file) als maßgebliche Quelle. --strict-json / --json ändern das Batch-Parsing-Verhalten nicht.
config patch
Verwenden Sie config patch, wenn Sie einen konfigurationsförmigen Patch einfügen oder per Pipe übergeben möchten, statt viele pfadbasierte config set-Befehle auszuführen. Die Eingabe ist ein JSON5-Objekt. Objekte werden rekursiv zusammengeführt, Arrays und skalare Werte ersetzen den Zielwert, und null löscht den Zielpfad.
--replace-path <path>, wenn ein Objekt oder Array exakt zum bereitgestellten Wert werden soll, statt rekursiv gepatcht zu werden:
--dry-run führt Schema- und SecretRef-Auflösbarkeitsprüfungen aus, ohne zu schreiben. Exec-gestützte SecretRefs werden während des Dry-Runs standardmäßig übersprungen; fügen Sie --allow-exec hinzu, wenn der Dry-Run absichtlich Provider-Befehle ausführen soll.
Der JSON-Pfad-/Wertmodus wird weiterhin sowohl für SecretRefs als auch für Provider unterstützt:
Provider-Builder-Flags
Provider-Builder-Ziele müssensecrets.providers.<alias> als Pfad verwenden.
Allgemeine Flags
Allgemeine Flags
--provider-source <env|file|exec>--provider-timeout-ms <ms>(file,exec)
Env-Provider (--provider-source env)
Env-Provider (--provider-source env)
--provider-allowlist <ENV_VAR>(wiederholbar)
Datei-Provider (--provider-source file)
Datei-Provider (--provider-source file)
--provider-path <path>(erforderlich)--provider-mode <singleValue|json>--provider-max-bytes <bytes>--provider-allow-insecure-path
Exec-Provider (--provider-source exec)
Exec-Provider (--provider-source exec)
--provider-command <path>(erforderlich)--provider-arg <arg>(wiederholbar)--provider-no-output-timeout-ms <ms>--provider-max-output-bytes <bytes>--provider-json-only--provider-env <KEY=VALUE>(wiederholbar)--provider-pass-env <ENV_VAR>(wiederholbar)--provider-trusted-dir <path>(wiederholbar)--provider-allow-insecure-path--provider-allow-symlink-command
Dry-Run
Verwenden Sie--dry-run, um Änderungen zu validieren, ohne openclaw.json zu schreiben.
Dry-run-Verhalten
Dry-run-Verhalten
- Builder-Modus: führt SecretRef-Auflösbarkeitsprüfungen für geänderte Refs/Provider aus.
- JSON-Modus (
--strict-json,--jsonoder Batch-Modus): führt Schemavalidierung plus SecretRef-Auflösbarkeitsprüfungen aus. - Die Policy-Validierung läuft auch für bekannte nicht unterstützte SecretRef-Zielflächen.
- Policy-Prüfungen bewerten die vollständige Konfiguration nach der Änderung, sodass Schreibvorgänge auf übergeordnete Objekte (zum Beispiel das Setzen von
hooksals Objekt) die Validierung nicht unterstützter Flächen nicht umgehen können. - Exec-SecretRef-Prüfungen werden während eines Dry-run standardmäßig übersprungen, um Seiteneffekte durch Befehle zu vermeiden.
- Verwenden Sie
--allow-execmit--dry-run, um Exec-SecretRef-Prüfungen explizit zu aktivieren (dies kann Provider-Befehle ausführen). --allow-execgilt nur für Dry-run und führt zu einem Fehler, wenn es ohne--dry-runverwendet wird.
`--dry-run --json`-Felder
`--dry-run --json`-Felder
--dry-run --json gibt einen maschinenlesbaren Bericht aus:ok: ob der Dry-run bestanden wurdeoperations: Anzahl der ausgewerteten Zuweisungenchecks: ob Schema-/Auflösbarkeitsprüfungen ausgeführt wurdenchecks.resolvabilityComplete: ob Auflösbarkeitsprüfungen vollständig ausgeführt wurden (false, wenn Exec-Refs übersprungen werden)refsChecked: Anzahl der während des Dry-run tatsächlich aufgelösten RefsskippedExecRefs: Anzahl der übersprungenen Exec-Refs, weil--allow-execnicht gesetzt warerrors: strukturierte Fehler zu fehlenden Pfaden, Schema oder Auflösbarkeit, wennok=false
JSON-Ausgabeform
- Erfolgsbeispiel
- Fehlerbeispiel
Wenn der Dry-run fehlschlägt
Wenn der Dry-run fehlschlägt
config schema validation failed: Ihre Konfigurationsform nach der Änderung ist ungültig; korrigieren Sie Pfad/Wert oder die Objektform von Provider/Ref.Config policy validation failed: unsupported SecretRef usage: verschieben Sie diese Zugangsdaten zurück in Klartext-/String-Eingabe und behalten Sie SecretRefs nur auf unterstützten Flächen.SecretRef assignment(s) could not be resolved: der referenzierte Provider/Ref kann derzeit nicht aufgelöst werden (fehlende Umgebungsvariable, ungültiger Dateizeiger, Exec-Provider-Fehler oder Provider-/Quellenkonflikt).Dry run note: skipped <n> exec SecretRef resolvability check(s): Dry-run hat Exec-Refs übersprungen; führen Sie erneut mit--allow-execaus, wenn Sie Exec-Auflösbarkeitsvalidierung benötigen.- Korrigieren Sie im Batch-Modus fehlschlagende Einträge und führen Sie
--dry-runerneut aus, bevor Sie schreiben.
Schreibsicherheit
openclaw config set und andere OpenClaw-eigene Konfigurationsschreiber validieren die vollständige Konfiguration nach der Änderung, bevor sie sie auf die Festplatte schreiben. Wenn die neue Nutzlast die Schemavalidierung nicht besteht oder wie ein destruktives Überschreiben aussieht, bleibt die aktive Konfiguration unverändert und die abgelehnte Nutzlast wird daneben als openclaw.json.rejected.* gespeichert.
Bevorzugen Sie CLI-Schreibvorgänge für kleine Änderungen:
openclaw.json nicht neu. Führen Sie openclaw doctor --fix aus, um vorangestellte/überschriebene Konfiguration zu reparieren oder die letzte als gut bekannte Kopie wiederherzustellen. Siehe Gateway-Fehlerbehebung.
Wiederherstellung ganzer Dateien ist der Doctor-Reparatur vorbehalten. Plugin-Schemaänderungen oder minHostVersion-Abweichungen bleiben deutlich sichtbar, statt unabhängige Benutzereinstellungen wie Modelle, Provider, Auth-Profile, Kanäle, Gateway-Exponierung, Tools, Speicher, Browser oder Cron-Konfiguration zurückzusetzen.
Unterbefehle
config file: Gibt den aktiven Konfigurationsdateipfad aus (aufgelöst ausOPENCLAW_CONFIG_PATHoder dem Standardspeicherort). Der Pfad sollte eine reguläre Datei benennen, keinen Symlink.
Validieren
Validieren Sie die aktuelle Konfiguration gegen das aktive Schema, ohne den Gateway zu starten.openclaw config validate erfolgreich ist, können Sie die lokale TUI verwenden, damit ein eingebetteter Agent die aktive Konfiguration mit der Dokumentation vergleicht, während Sie jede Änderung im selben Terminal validieren:
Wenn die Validierung bereits fehlschlägt, beginnen Sie mit
openclaw configure oder openclaw doctor --fix. openclaw chat umgeht den Schutz vor ungültiger Konfiguration nicht.Mit Dokumentation vergleichen
Bitten Sie den Agent, Ihre aktuelle Konfiguration mit der relevanten Dokumentationsseite zu vergleichen und die kleinste Korrektur vorzuschlagen.
Gezielte Änderungen anwenden
Wenden Sie gezielte Änderungen mit
openclaw config set oder openclaw configure an.