config
openclaw config
Section intitulée « openclaw config »Assistants de configuration pour les modifications non interactives dans openclaw.json : get/set/unset/file/schema/validate
les valeurs par chemin et imprime le fichier de configuration actif. Exécuter sans sous-commande pour
ouvrir l’assistant de configuration (identique à openclaw configure).
Exemples
Section intitulée « Exemples »openclaw config fileopenclaw config schemaopenclaw config get browser.executablePathopenclaw config set browser.executablePath "/usr/bin/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 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 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 --jsonconfig schema
Section intitulée « config schema »Imprime le schéma JSON généré pour openclaw.json vers stdout en texte brut.
openclaw config schemaRedirigez-le vers un fichier lorsque vous souhaitez l’inspecter ou le valider avec d’autres outils :
openclaw config schema > openclaw.schema.jsonChemins d’accès
Section intitulée « Chemins d’accès »Les chemins utilisent la notation par point ou par crochets :
openclaw config get agents.defaults.workspaceopenclaw config get agents.list[0].idUtilisez l’index de la liste des agents pour cibler un agent spécifique :
openclaw config get agents.listopenclaw config set agents.list[1].tools.exec.node "node-id-or-name"Les valeurs sont analysées en JSON5 si possible ; sinon, elles sont traitées comme des chaînes de caractères.
Utilisez --strict-json pour exiger l’analyse JSON5. --json reste pris en charge comme un alias hérité.
openclaw config set agents.defaults.heartbeat.every "0m"openclaw config set gateway.port 19001 --strict-jsonopenclaw config set channels.whatsapp.groups '["*"]' --strict-jsonModes config set
Section intitulée « Modes config set »openclaw config set prend en charge quatre styles d’assignation :
- Mode valeur :
openclaw config set <path> <value> - Mode constructeur SecretRef :
openclaw config set channels.discord.token \ --ref-provider default \ --ref-source env \ --ref-id DISCORD_BOT_TOKEN- Mode constructeur de fournisseur (chemin
secrets.providers.<alias>uniquement) :
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 5000- Mode batch (
--batch-jsonou--batch-file) :
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-runRemarque concernant la stratégie :
- Les affectations SecretRef sont rejetées sur les surfaces mutables lors de l’exécution non prises en charge (par exemple
hooks.token,commands.ownerDisplaySecret, les jetons de webhook de liaison de thread Discord et les identifiants JSON WhatsApp). Voir SecretRef Credential Surface.
L’analyse par lot utilise toujours la charge utile de lot (--batch-json/--batch-file) comme source de vérité.
--strict-json / --json ne modifient pas le comportement de l’analyse par lot.
Le mode chemin/valeur JSON reste pris en charge pour les SecretRefs et les 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-jsonIndicateurs du constructeur de provider
Section intitulée « Indicateurs du constructeur de provider »Les cibles du constructeur de provider doivent utiliser secrets.providers.<alias> comme chemin.
Indicateurs communs :
--provider-source <env|file|exec>--provider-timeout-ms <ms>(file,exec)
Provider Env (--provider-source env) :
--provider-allowlist <ENV_VAR>(répétable)
Provider Fichier (--provider-source file) :
--provider-path <path>(requis)--provider-mode <singleValue|json>--provider-max-bytes <bytes>
Provider Exec (--provider-source exec) :
--provider-command <path>(requis)--provider-arg <arg>(répétable)--provider-no-output-timeout-ms <ms>--provider-max-output-bytes <bytes>--provider-json-only--provider-env <KEY=VALUE>(répétable)--provider-pass-env <ENV_VAR>(répétable)--provider-trusted-dir <path>(répétable)--provider-allow-insecure-path--provider-allow-symlink-command
Exemple de provider Exec renforcé :
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 5000Simulation
Section intitulée « Simulation »Utilisez --dry-run pour valider les modifications sans écrire openclaw.json.
openclaw config set channels.discord.token \ --ref-provider default \ --ref-source env \ --ref-id DISCORD_BOT_TOKEN \ --dry-run
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-execComportement de la simulation :
- Mode Constructeur : exécute les contrôles de résolvabilité SecretRef pour les refs/providers modifiés.
- Mode JSON (
--strict-json,--jsonou mode par lot) : exécute la validation du schéma ainsi que les contrôles de résolvabilité SecretRef. - La validation de la stratégie s’exécute également pour les surfaces cibles SecretRef non prises en charge connues.
- Les vérifications de stratégie évaluent la configuration complète après modification, les écritures d’objets parents (par exemple, définir
hookscomme un objet) ne peuvent donc pas contourner la validation de surface non prise en charge. - Les vérifications Exec SecretRef sont ignorées par défaut lors du dry-run pour éviter les effets secondaires de la commande.
- Utilisez
--allow-execavec--dry-runpour activer les vérifications exec SecretRef (cela peut exécuter des commandes provider). --allow-execest réservé au dry-run et génère une erreur s’il est utilisé sans--dry-run.
--dry-run --json imprime un rapport lisible par machine :
ok: indique si le dry-run a réussioperations: nombre d’affectations évaluéeschecks: indique si les vérifications de schéma/de résolvabilité ont été exécutéeschecks.resolvabilityComplete: indique si les vérifications de résolvabilité ont été exécutées jusqu’au bout (faux lorsque les exec refs sont ignorés)refsChecked: nombre de refs réellement résolues lors du dry-runskippedExecRefs: nombre d’exec refs ignorées car--allow-execn’était pas définierrors: échecs structurés de schéma/résolvabilité lorsqueok=false
Format de sortie JSON
Section intitulée « Format de sortie JSON »{ ok: boolean, operations: number, configPath: string, inputModes: ["value" | "json" | "builder", ...], checks: { schema: boolean, resolvability: boolean, resolvabilityComplete: boolean, }, refsChecked: number, skippedExecRefs: number, errors?: [ { kind: "schema" | "resolvability", message: string, ref?: string, // present for resolvability errors }, ],}Exemple de réussite :
{ "ok": true, "operations": 1, "configPath": "~/.openclaw/openclaw.json", "inputModes": ["builder"], "checks": { "schema": false, "resolvability": true, "resolvabilityComplete": true }, "refsChecked": 1, "skippedExecRefs": 0}Exemple d’échec :
{ "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": "Error: Environment variable \"MISSING_TEST_SECRET\" is not set.", "ref": "env:default:MISSING_TEST_SECRET" } ]}Si le dry-run échoue :
config schema validation failed: la forme de votre configuration après modification n’est pas valide ; corrigez le chemin/la valeur ou la forme de l’objet provider/ref.Config policy validation failed: unsupported SecretRef usage: remettez cette information d’identification sous forme d’entrée en texte brut/chaîne et conservez les SecretRefs uniquement sur les surfaces prises en charge.SecretRef assignment(s) could not be resolved: le provider/ref référencé ne peut pas être résolu actuellement (env var manquante, pointeur de fichier invalide, échec du provider d’exécution ou inadéquation provider/source).Dry run note: skipped <n> exec SecretRef resolvability check(s): le dry-run a ignoré les exec refs ; relancez avec--allow-execsi vous avez besoin de la validation de la résolvabilité par exec.- Pour le mode batch, corrigez les entrées en échec et relancez
--dry-runavant d’écrire.
Sous-commandes
Section intitulée « Sous-commandes »config file: Imprime le chemin du fichier de configuration actif (résolu à partir deOPENCLAW_CONFIG_PATHou de l’emplacement par défaut).
Redémarrez la passerelle après les modifications.
Valide la configuration actuelle par rapport au schéma actif sans démarrer la passerelle.
openclaw config validateopenclaw config validate --json