Skip to main content
Helpers não interativos para openclaw.json: obter/definir/aplicar patch/remover um valor por caminho, imprimir o esquema, validar ou imprimir o caminho do arquivo ativo. Execute openclaw config sem subcomando para abrir o mesmo assistente guiado de openclaw configure.
Quando OPENCLAW_NIX_MODE=1, o OpenClaw trata openclaw.json como imutável. Os comandos somente leitura (config get, config file, config schema, config validate) continuam funcionando; os comandos que gravam a configuração se recusam a fazê-lo. Em vez disso, edite a fonte Nix da instalação; para a distribuição própria nix-openclaw, use o Início rápido do nix-openclaw e defina os valores em programs.openclaw.config ou instances.<name>.config.

Opções raiz

string
Filtro repetível de seção da configuração guiada ao executar openclaw config sem um subcomando.
Seções guiadas: workspace, model, web, gateway, daemon, channels, plugins, skills, health.

Exemplos

Caminhos

Notação de ponto ou colchetes. Coloque os caminhos com colchetes entre aspas nos exemplos de shell para que o zsh não expanda [0] como glob:

config get

Lê um valor do snapshot de configuração com dados sensíveis ocultados (segredos nunca são impressos). --json imprime o valor bruto como JSON; caso contrário, strings/números/booleanos são impressos sem formatação adicional, e objetos/arrays são impressos como JSON formatado.

config file

Imprime o caminho do arquivo de configuração ativo, resolvido a partir de OPENCLAW_CONFIG_PATH ou do local padrão. O caminho identifica um arquivo comum, não um link simbólico; consulte Segurança de gravação.

config schema

Imprime em stdout o esquema JSON gerado para openclaw.json.
  • O esquema de configuração raiz atual, além de um campo de string raiz $schema para ferramentas de edição.
  • Metadados de documentação dos campos title / description usados pela Control UI.
  • Nós de objetos aninhados, curingas (*) e itens de array ([]) herdam os mesmos metadados title / description quando há documentação correspondente para os campos.
  • As ramificações anyOf / oneOf / allOf também herdam os mesmos metadados de documentação.
  • Metadados de esquema de plugins + canais ativos, em caráter de melhor esforço, quando os manifestos de runtime podem ser carregados.
  • Um esquema alternativo limpo mesmo quando a configuração atual é inválida.
config.schema.lookup retorna um caminho de configuração normalizado com um nó de esquema superficial (title, description, type, enum, const, limites comuns), metadados correspondentes de dicas de UI e resumos dos filhos imediatos. Use-o para detalhamento com escopo de caminho na Control UI ou em clientes personalizados.

config validate

Valida a configuração atual em relação ao esquema ativo sem iniciar o Gateway.
Se a validação já estiver falhando, comece com openclaw configure ou openclaw doctor --fix. openclaw chat não ignora a proteção contra configuração inválida.

Valores

Os valores são analisados como JSON5 quando possível; caso contrário, são tratados como strings brutas. Use --strict-json para exigir JSON padrão sem fallback para string (nesse caso, sintaxe exclusiva de JSON5, como comentários, vírgulas finais ou chaves sem aspas, é rejeitada). --json é um alias legado de --strict-json em config set.
config get <path> --json imprime o valor bruto como JSON em vez de texto formatado para o terminal.
Por padrão, a atribuição de objeto substitui o caminho de destino. Caminhos protegidos que normalmente contêm entradas adicionadas pelo usuário recusam substituições que removeriam entradas existentes, a menos que seja passado --replace: agents.defaults.models, agents.list, models.providers, models.providers.<id>, models.providers.<id>.models, plugins.entries e auth.profiles.
Use --merge ao adicionar entradas a esses mapas:
Use --replace somente quando o valor fornecido deva se tornar intencionalmente o valor completo do destino.

Modos de config set

Atribuições de SecretRef são rejeitadas em superfícies mutáveis em runtime sem suporte (por exemplo, hooks.token, commands.ownerDisplaySecret, tokens de Webhook de vinculação de threads do Discord e JSON de credenciais do WhatsApp). Consulte Superfície de credenciais SecretRef.
A análise em lote sempre usa o payload do lote (--batch-json/--batch-file) como fonte da verdade; --strict-json / --json não alteram o comportamento da análise em lote. O modo de caminho/valor JSON também funciona diretamente para SecretRefs e provedores:

Flags do construtor de provedor

Os destinos do construtor de provedor devem usar secrets.providers.<alias> como caminho.
  • --provider-source <env|file|exec>
  • --provider-timeout-ms <ms> (file, exec)
  • --provider-allowlist <ENV_VAR> (repetível)
  • --provider-path <path> (obrigatório)
  • --provider-mode <singleValue|json>
  • --provider-max-bytes <bytes>
  • --provider-allow-insecure-path
  • --provider-command <path> (obrigatório)
  • --provider-arg <arg> (repetível)
  • --provider-no-output-timeout-ms <ms>
  • --provider-max-output-bytes <bytes>
  • --provider-json-only
  • --provider-env <KEY=VALUE> (repetível)
  • --provider-pass-env <ENV_VAR> (repetível)
  • --provider-trusted-dir <path> (repetível)
  • --provider-allow-insecure-path
  • --provider-allow-symlink-command
Exemplo de provedor de execução reforçado:

config patch

Cole ou encaminhe por pipe um patch JSON5 com formato de configuração em vez de executar muitos comandos config set baseados em caminho. Objetos são mesclados recursivamente; arrays e valores escalares substituem o destino; null exclui o caminho de destino.
Encaminhe um patch pela entrada padrão para scripts de configuração remota:
Exemplo de patch:
Use --replace-path <path> quando um objeto ou array precisar se tornar exatamente o valor fornecido, em vez de receber um patch recursivo:
--dry-run executa verificações de esquema e resolubilidade de SecretRef sem gravar. SecretRefs baseadas em execução são ignoradas por padrão durante a simulação; adicione --allow-exec quando quiser intencionalmente que a simulação execute comandos do provedor.

Simulação

--dry-run valida as alterações sem gravar openclaw.json. Disponível em config set, config patch e config unset.
  • Modo builder: executa verificações de resolução de SecretRef para refs/provedores alterados.
  • Modo JSON (--strict-json, --json ou modo em lote): executa a validação do esquema e as verificações de resolução de SecretRef.
  • A validação de política é executada na configuração completa após a alteração, portanto gravações no objeto pai (por exemplo, definir hooks como um objeto) não podem contornar a validação de superfícies não compatíveis.
  • As verificações de SecretRef do tipo exec são ignoradas por padrão para evitar efeitos colaterais de comandos; passe --allow-exec para habilitá-las (isso pode executar comandos do provedor). --allow-exec funciona somente em simulação e gera erro sem --dry-run.
  • ok: se a simulação foi aprovada
  • operations: número de atribuições avaliadas
  • checks: se as verificações de esquema/resolução foram executadas
  • checks.resolvabilityComplete: se as verificações de resolução foram executadas até a conclusão (falso quando refs do tipo exec são ignoradas)
  • refsChecked: número de refs efetivamente resolvidas durante a simulação
  • skippedExecRefs: número de refs do tipo exec ignoradas porque --allow-exec não foi definido
  • errors: falhas estruturadas de caminho ausente, esquema ou resolução quando ok=false

Estrutura da saída JSON

  • config schema validation failed: a estrutura da configuração após a alteração é inválida; corrija o caminho/valor ou a estrutura do objeto de provedor/ref.
  • Config policy validation failed: unsupported SecretRef usage: mova essa credencial de volta para uma entrada de texto simples/string; mantenha SecretRefs somente nas superfícies compatíveis.
  • SecretRef assignment(s) could not be resolved: o provedor/ref referenciado não pode ser resolvido no momento (variável de ambiente ausente, ponteiro de arquivo inválido, falha do provedor exec ou incompatibilidade entre provedor e origem).
  • Dry run note: skipped <n> exec SecretRef resolvability check(s): execute novamente com --allow-exec se precisar validar a resolução de exec.
  • No modo em lote, corrija as entradas com falha e execute --dry-run novamente antes de gravar.

Aplicação das alterações

Após cada config set / config patch / config unset bem-sucedido, a CLI exibe uma de três dicas para indicar se o Gateway precisa ser reiniciado: Gravações em plugins.entries (ou qualquer subcaminho) sempre exigem reinicialização, pois a CLI não pode comprovar que os metadados de recarregamento de todos os plugins estejam carregados.

Segurança de gravação

openclaw config set e outros gravadores de configuração pertencentes ao OpenClaw validam a configuração completa após a alteração antes de gravá-la no disco. Se a nova carga falhar na validação do esquema ou parecer uma sobrescrita destrutiva, a configuração ativa permanece intacta e a carga rejeitada é salva ao lado dela como openclaw.json.rejected.*. As gravações pertencentes ao OpenClaw serializam novamente o JSON5 como JSON padrão. Quando a origem contém comentários, o gravador emite um aviso imediatamente antes de removê-los; use um editor diretamente quando for importante preservar os comentários.
O caminho da configuração ativa deve ser um arquivo comum. Estruturas de openclaw.json com links simbólicos não são compatíveis com gravações; use OPENCLAW_CONFIG_PATH para apontar diretamente para o arquivo real.
Prefira gravações pela CLI para pequenas edições:
Se uma gravação for rejeitada, inspecione a carga salva e corrija a estrutura completa da configuração:
Gravações diretas com um editor continuam permitidas, mas o Gateway em execução as trata como não confiáveis até que sejam validadas. Edições diretas inválidas impedem a inicialização ou são ignoradas pelo recarregamento dinâmico; o Gateway não regrava openclaw.json. Execute openclaw doctor --fix para reparar uma configuração prefixada/sobrescrita ou restaurar a última cópia válida conhecida. Consulte Solução de problemas do Gateway. A recuperação do arquivo inteiro é reservada para reparos pelo doctor. Alterações no esquema de plugins ou divergências de minHostVersion permanecem explícitas em vez de reverter configurações não relacionadas do usuário, como modelos, provedores, perfis de autenticação, canais, exposição do Gateway, ferramentas, memória, navegador ou configuração do cron.

Ciclo de reparo

Depois que openclaw config validate for aprovado, use a TUI local para que um agente incorporado compare a configuração ativa com a documentação enquanto cada alteração é validada no mesmo terminal:
Dentro da TUI, um ! inicial executa um comando literal no shell local (após uma solicitação de confirmação única por sessão):
1

Comparar com a documentação

Peça ao agente para comparar a configuração atual com a página relevante da documentação e sugerir a menor correção.
2

Aplicar edições específicas

Aplique edições específicas com openclaw config set ou openclaw configure.
3

Validar novamente

Execute openclaw config validate novamente após cada alteração.
4

Usar o doctor para problemas de runtime

Se a validação for aprovada, mas o runtime ainda apresentar problemas, execute openclaw doctor ou openclaw doctor --fix para obter ajuda com migração e reparo.

Relacionado