CLI commands
Configuratie
Niet-interactieve hulpfuncties voor openclaw.json: een waarde op basis van een pad ophalen/instellen/patchen/verwijderen, het schema weergeven, valideren of het actieve bestandspad weergeven. Voer openclaw config zonder subopdracht uit om dezelfde begeleide wizard te openen als met openclaw configure.
Hoofdopties
OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Ii0tc2VjdGlvbiA8c2VjdGlvbg
" type="string">
Herhaalbaar sectiefilter voor de begeleide installatie wanneer u openclaw config zonder subopdracht uitvoert.
Begeleide secties: workspace, model, web, gateway, daemon, channels, plugins, skills, health.
Voorbeelden
openclaw config fileopenclaw config --section modelopenclaw config --section gateway --section daemonopenclaw config schemaopenclaw config get browser.executablePathopenclaw config set browser.executablePath "/usr/bin/google-chrome"openclaw config set browser.profiles.work.executablePath "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome"openclaw config set agents.defaults.heartbeat.every "2h"openclaw config set 'agents.list[0].tools.exec.node' "node-id-or-name"openclaw config set agents.defaults.models '{"openai/gpt-5.4":{}}' --strict-json --mergeopenclaw config set channels.discord.token --ref-provider default --ref-source env --ref-id DISCORD_BOT_TOKENopenclaw config set secrets.providers.vaultfile --provider-source file --provider-path /etc/openclaw/secrets.json --provider-mode jsonopenclaw config patch --file ./openclaw.patch.json5 --dry-runopenclaw config unset plugins.entries.brave.config.webSearch.apiKeyopenclaw config set channels.discord.token --ref-provider default --ref-source env --ref-id DISCORD_BOT_TOKEN --dry-runopenclaw config validateopenclaw config validate --jsonPaden
Punt- of haakjesnotatie. Zet paden met haakjes in shellvoorbeelden tussen aanhalingstekens, zodat zsh [0] niet als globpatroon uitbreidt:
openclaw config get agents.defaults.workspaceopenclaw config get 'agents.list[0].id'openclaw config get agents.listopenclaw config set 'agents.list[1].tools.exec.node' "node-id-or-name"config get
Leest een waarde uit de geredigeerde configuratiemomentopname (geheimen worden nooit weergegeven). Met --json wordt de onbewerkte waarde als JSON weergegeven; anders worden tekenreeksen/getallen/booleaanse waarden zonder opmaak weergegeven en objecten/matrices als opgemaakte JSON.
openclaw config get browser.executablePathopenclaw config get agents.defaults.model --jsonconfig file
Geeft het actieve configuratiebestandspad weer, bepaald aan de hand van OPENCLAW_CONFIG_PATH of de standaardlocatie. Het pad verwijst naar een regulier bestand, niet naar een symbolische koppeling; zie Schrijfveiligheid.
config schema
Geeft het gegenereerde JSON-schema voor openclaw.json weer op stdout.
Wat het bevat
- Het huidige hoofdconfiguratieschema, plus een tekenreeksveld
$schemaop hoofdniveau voor editorhulpmiddelen. - Documentatiemetagegevens in de velden
title/descriptiondie door de Control UI worden gebruikt. - Geneste objecten, jokertekens (
*) en matrixitemknooppunten ([]) nemen dezelfde metagegevens voortitle/descriptionover wanneer bijbehorende velddocumentatie bestaat. - Vertakkingen met
anyOf/oneOf/allOfnemen eveneens dezelfde documentatiemetagegevens over. - Waar mogelijk actuele schemametagegevens van plugins en kanalen wanneer runtimemanifesten kunnen worden geladen.
- Een schoon terugvalschema, zelfs wanneer de huidige configuratie ongeldig is.
Gerelateerde runtime-RPC
config.schema.lookup retourneert één genormaliseerd configuratiepad met een oppervlakkig schemaknooppunt (title, description, type, enum, const, algemene grenswaarden), overeenkomende metagegevens voor UI-aanwijzingen en samenvattingen van directe onderliggende elementen. Gebruik dit om binnen een specifiek pad verder te navigeren in de Control UI of aangepaste clients.
openclaw config schemaopenclaw config schema > openclaw.schema.jsonconfig validate
Valideert de huidige configuratie aan de hand van het actieve schema zonder de Gateway te starten.
openclaw config validateopenclaw config validate --jsonWaarden
Waarden worden waar mogelijk als JSON5 geparseerd; anders worden ze als onbewerkte tekenreeksen behandeld. Gebruik --strict-json om standaard-JSON zonder terugval naar een tekenreeks te vereisen (syntaxis die alleen in JSON5 geldig is, zoals opmerkingen, afsluitende komma's of sleutels zonder aanhalingstekens, wordt dan geweigerd). --json is een verouderde alias voor --strict-json bij config set.
openclaw config set agents.defaults.heartbeat.every "0m"openclaw config set gateway.port 19001 --strict-jsonopenclaw config set channels.whatsapp.groups '["*"]' --strict-jsonconfig get <path> --json geeft de onbewerkte waarde als JSON weer in plaats van als voor de terminal opgemaakte tekst.
Gebruik --merge wanneer u vermeldingen aan deze toewijzingen toevoegt:
openclaw config set agents.defaults.models '{"openai/gpt-5.4":{}}' --strict-json --mergeopenclaw config set models.providers.ollama.models '[{"id":"llama3.2","name":"Llama 3.2"}]' --strict-json --mergeGebruik --replace alleen wanneer de opgegeven waarde bewust de volledige doelwaarde moet worden.
Modi van config set
Waardemodus
openclaw config set <path> <value>SecretRef-opbouwmodus
openclaw config set channels.discord.token \ --ref-provider default \ --ref-source env \ --ref-id DISCORD_BOT_TOKENProvideropbouwmodus
Alleen gericht op paden van het type secrets.providers.<alias>:
openclaw config set secrets.providers.vault \ --provider-source exec \ --provider-command /usr/local/bin/openclaw-vault \ --provider-arg read \ --provider-arg openai/api-key \ --provider-timeout-ms 5000Batchmodus
openclaw config set --batch-json '[ { "path": "secrets.providers.default", "provider": { "source": "env" } }, { "path": "channels.discord.token", "ref": { "source": "env", "provider": "default", "id": "DISCORD_BOT_TOKEN" } }]'openclaw config set --batch-file ./config-set.batch.json --dry-runBij batchverwerking geldt de batchlading (--batch-json/--batch-file) altijd als gezaghebbende bron; --strict-json / --json wijzigen het gedrag van batchverwerking niet.
De JSON-pad/waardemodus werkt ook rechtstreeks voor SecretRefs en providers:
openclaw config set channels.discord.token \ '{"source":"env","provider":"default","id":"DISCORD_BOT_TOKEN"}' \ --strict-json openclaw config set secrets.providers.vaultfile \ '{"source":"file","path":"/etc/openclaw/secrets.json","mode":"json"}' \ --strict-jsonProvideropbouwvlaggen
Doelen voor provideropbouw moeten secrets.providers.<alias> als pad gebruiken.
Algemene vlaggen
--provider-source <env|file|exec>--provider-timeout-ms <ms>(file,exec)
Omgevingsprovider (--provider-source env)
--provider-allowlist <ENV_VAR>(herhaalbaar)
Bestandsprovider (--provider-source file)
--provider-path <path>(vereist)--provider-mode <singleValue|json>--provider-max-bytes <bytes>--provider-allow-insecure-path
Uitvoerprovider (--provider-source exec)
--provider-command <path>(vereist)--provider-arg <arg>(herhaalbaar)--provider-no-output-timeout-ms <ms>--provider-max-output-bytes <bytes>--provider-json-only--provider-env <KEY=VALUE>(herhaalbaar)--provider-pass-env <ENV_VAR>(herhaalbaar)--provider-trusted-dir <path>(herhaalbaar)--provider-allow-insecure-path--provider-allow-symlink-command
Voorbeeld van een geharde uitvoerprovider:
openclaw config set secrets.providers.vault \ --provider-source exec \ --provider-command /usr/local/bin/openclaw-vault \ --provider-arg read \ --provider-arg openai/api-key \ --provider-json-only \ --provider-pass-env VAULT_TOKEN \ --provider-trusted-dir /usr/local/bin \ --provider-timeout-ms 5000config patch
Plak of stuur via een pipe een configuratievormige JSON5-patch in plaats van veel padgebaseerde config set-opdrachten uit te voeren. Objecten worden recursief samengevoegd; matrices en scalaire waarden vervangen het doel; null verwijdert het doelpad.
openclaw config patch --file ./openclaw.patch.json5 --dry-runopenclaw config patch --file ./openclaw.patch.json5Stuur een patch via stdin voor externe installatiescripts:
ssh user@gateway-host 'openclaw config patch --stdin --dry-run' < ./openclaw.patch.json5ssh user@gateway-host 'openclaw config patch --stdin' < ./openclaw.patch.json5Voorbeeldpatch:
{ channels: { slack: { enabled: true, mode: "socket", botToken: { source: "env", provider: "default", id: "SLACK_BOT_TOKEN" }, appToken: { source: "env", provider: "default", id: "SLACK_APP_TOKEN" }, groupPolicy: "open", requireMention: false, }, discord: { enabled: true, token: { source: "env", provider: "default", id: "DISCORD_BOT_TOKEN" }, dmPolicy: "disabled", dm: { enabled: false }, groupPolicy: "allowlist", }, }, agents: { defaults: { model: { primary: "openai/gpt-5.6-sol" }, models: { "openai/gpt-5.6-sol": { params: { fastMode: true } }, }, }, },}Gebruik --replace-path <path> wanneer één object of matrix exact de opgegeven waarde moet krijgen in plaats van recursief te worden gepatcht:
openclaw config patch --file ./discord.patch.json5 --replace-path 'channels.discord.guilds["123"].channels'--dry-run voert schema- en oplosbaarheidscontroles voor SecretRef uit zonder te schrijven. SecretRefs die door uitvoeropdrachten worden ondersteund, worden tijdens een proefuitvoering standaard overgeslagen; voeg --allow-exec toe wanneer u bewust wilt dat de proefuitvoering provideropdrachten uitvoert.
Proefuitvoering
--dry-run valideert wijzigingen zonder naar openclaw.json te schrijven. Beschikbaar voor config set, config patch en config unset.
openclaw config set channels.discord.token \ --ref-provider default \ --ref-source env \ --ref-id DISCORD_BOT_TOKEN \ --dry-run \ --json openclaw config set channels.discord.token \ --ref-provider vault \ --ref-source exec \ --ref-id discord/token \ --dry-run \ --allow-execGedrag bij een proefuitvoering
- Builder-modus: voert controles uit op de oplosbaarheid van SecretRefs voor gewijzigde refs/providers.
- JSON-modus (
--strict-json,--jsonof batchmodus): voert schemavalidatie en controles op de oplosbaarheid van SecretRefs uit. - Beleidsvalidatie wordt uitgevoerd op de volledige configuratie na de wijziging, zodat schrijfbewerkingen naar bovenliggende objecten (bijvoorbeeld
hooksinstellen als een object) de validatie van niet-ondersteunde oppervlakken niet kunnen omzeilen. - Controles van Exec-SecretRefs worden standaard overgeslagen om neveneffecten van opdrachten te voorkomen; geef
--allow-execop om ze in te schakelen (hierdoor kunnen provideropdrachten worden uitgevoerd).--allow-execis alleen voor proefuitvoeringen en geeft een fout zonder--dry-run.
Velden van --dry-run --json
ok: of de proefuitvoering is geslaagdoperations: aantal geëvalueerde toewijzingenchecks: of schema-/oplosbaarheidscontroles zijn uitgevoerdchecks.resolvabilityComplete: of de oplosbaarheidscontroles volledig zijn uitgevoerd (onwaar wanneer Exec-refs worden overgeslagen)refsChecked: aantal refs dat tijdens de proefuitvoering daadwerkelijk is opgelostskippedExecRefs: aantal overgeslagen Exec-refs omdat--allow-execniet was ingestelderrors: gestructureerde fouten voor ontbrekende paden, schema's of oplosbaarheid wanneerok=false
Structuur van JSON-uitvoer
{ ok: boolean, operations: number, configPath: string, inputModes: ["value" | "json" | "builder" | "unset", ...], checks: { schema: boolean, resolvability: boolean, resolvabilityComplete: boolean, }, refsChecked: number, skippedExecRefs: number, errors?: [ { kind: "missing-path" | "schema" | "resolvability", message: string, ref?: string, // aanwezig bij oplosbaarheidsfouten }, ],}Voorbeeld van succes
{ "ok": true, "operations": 1, "configPath": "~/.openclaw/openclaw.json", "inputModes": ["builder"], "checks": { "schema": false, "resolvability": true, "resolvabilityComplete": true }, "refsChecked": 1, "skippedExecRefs": 0}Voorbeeld van een fout
{ "ok": false, "operations": 1, "configPath": "~/.openclaw/openclaw.json", "inputModes": ["builder"], "checks": { "schema": false, "resolvability": true, "resolvabilityComplete": true }, "refsChecked": 1, "skippedExecRefs": 0, "errors": [ { "kind": "resolvability", "message": "Fout: Omgevingsvariabele \"MISSING_TEST_SECRET\" is niet ingesteld.", "ref": "env:default:MISSING_TEST_SECRET" } ]}Als de proefuitvoering mislukt
config schema validation failed: de structuur van de configuratie na de wijziging is ongeldig; corrigeer het pad/de waarde of de vorm van het provider-/ref-object.Config policy validation failed: unsupported SecretRef usage: zet die aanmeldgegevens terug naar invoer als platte tekst/tekenreeks; gebruik SecretRefs alleen op ondersteunde oppervlakken.SecretRef assignment(s) could not be resolved: de provider/ref waarnaar wordt verwezen kan momenteel niet worden opgelost (ontbrekende omgevingsvariabele, ongeldige bestandsverwijzing, fout van de Exec-provider of niet-overeenkomende provider/bron).Dry run note: skipped <n> exec SecretRef resolvability check(s): voer de opdracht opnieuw uit met--allow-execals u validatie van de oplosbaarheid van Exec nodig hebt.- Corrigeer voor de batchmodus de mislukte vermeldingen en voer
--dry-runopnieuw uit voordat u schrijft.
Wijzigingen toepassen
Na elke geslaagde config set / config patch / config unset drukt de CLI een van drie aanwijzingen af, zodat u weet of de Gateway opnieuw moet worden gestart:
| Aanwijzing | Betekenis |
|---|---|
Restart the gateway to apply. |
Voor het gewijzigde pad is een volledige herstart nodig. |
Change will apply without restarting the gateway. |
Hot reload verwerkt de wijziging automatisch. |
No gateway restart needed. |
Er is niets gewijzigd dat relevant is voor de runtime. |
Schrijfbewerkingen naar plugins.entries (of een subpad daarvan) vereisen altijd een herstart, omdat de CLI niet kan aantonen dat de metadata voor herladen van elke Plugin is geladen.
Schrijfveiligheid
openclaw config set en andere configuratieschrijvers van OpenClaw valideren de volledige configuratie na de wijziging voordat deze naar schijf wordt geschreven. Als de nieuwe payload niet door de schemavalidatie komt of op destructief overschrijven lijkt, blijft de actieve configuratie ongewijzigd en wordt de geweigerde payload ernaast opgeslagen als openclaw.json.rejected.*.
Geef voor kleine wijzigingen de voorkeur aan schrijfbewerkingen via de CLI:
openclaw config set gateway.reload.mode hybrid --dry-runopenclaw config set gateway.reload.mode hybridopenclaw config validateAls een schrijfbewerking wordt geweigerd, inspecteert u de opgeslagen payload en corrigeert u de volledige configuratiestructuur:
CONFIG="$(openclaw config file)"ls -lt "$CONFIG".rejected.* 2>/dev/null | headopenclaw config validateRechtstreekse schrijfbewerkingen met een editor zijn nog steeds toegestaan, maar de actieve Gateway behandelt ze als niet-vertrouwd totdat ze zijn gevalideerd. Ongeldige rechtstreekse wijzigingen verhinderen het opstarten of worden door Hot reload overgeslagen; de Gateway herschrijft openclaw.json niet. Voer openclaw doctor --fix uit om een configuratie met voorvoegsels/overschrijvingen te herstellen of de laatst bekende goede kopie terug te zetten. Zie Probleemoplossing voor de Gateway.
Herstel van het volledige bestand is voorbehouden aan reparatie door Doctor. Wijzigingen in het Plugin-schema of afwijkingen in minHostVersion blijven duidelijke fouten geven in plaats van niet-gerelateerde gebruikersinstellingen terug te draaien, zoals de configuratie van modellen, providers, authenticatieprofielen, kanalen, Gateway-blootstelling, hulpmiddelen, geheugen, browser of Cron.
Reparatiecyclus
Nadat openclaw config validate is geslaagd, gebruikt u de lokale TUI om een ingebedde agent de actieve configuratie met de documentatie te laten vergelijken, terwijl u elke wijziging vanuit dezelfde terminal valideert:
openclaw chatBinnen de TUI voert een ! aan het begin een letterlijke lokale shellopdracht uit (na een eenmalige bevestigingsprompt per sessie):
!openclaw config file!openclaw docs gateway auth token secretref!openclaw config validate!openclaw doctorVergelijken met de documentatie
Vraag de agent om uw huidige configuratie met de relevante documentatiepagina te vergelijken en de kleinst mogelijke oplossing voor te stellen.
Gerichte wijzigingen toepassen
Pas gerichte wijzigingen toe met openclaw config set of openclaw configure.
Opnieuw valideren
Voer openclaw config validate na elke wijziging opnieuw uit.
Doctor gebruiken voor runtimeproblemen
Als de validatie slaagt maar de runtime nog steeds niet goed functioneert, voert u openclaw doctor of openclaw doctor --fix uit voor hulp bij migratie en reparatie.