Skip to main content

Variáveis de ambiente

O OpenClaw obtém variáveis de ambiente de múltiplas fontes. A regra é nunca sobrescrever valores existentes.

Precedência (mais alta → mais baixa)

  1. Ambiente do processo (o que o processo do Gateway já possui do shell/daemon pai).
  2. .env no diretório de trabalho atual (padrão do dotenv; não sobrescreve).
  3. .env global em ~/.openclaw/.env (também conhecido como $OPENCLAW_STATE_DIR/.env; não sobrescreve).
  4. Bloco de Configuração env em ~/.openclaw/openclaw.json (aplicado apenas se estiver ausente).
  5. Importação opcional do shell de login (env.shellEnv.enabled ou OPENCLAW_LOAD_SHELL_ENV=1), aplicada apenas para chaves esperadas ausentes.
Se o arquivo de configuração estiver totalmente ausente, a etapa 4 é ignorada; a importação do shell ainda é executada se estiver habilitada.

Bloco de Configuração env

Duas formas equivalentes de definir variáveis de ambiente inline (ambas não sobrescrevem):

Importação de env do shell

env.shellEnv executa seu shell de login e importa apenas chaves esperadas ausentes:
Inserir equivalentes:
  • OPENCLAW_LOAD_SHELL_ENV=1
  • OPENCLAW_SHELL_ENV_TIMEOUT_MS=15000

Env var substitution in config

Você pode referenciar variáveis de ambiente diretamente em valores de string da configuração usando a sintaxe ${VAR_NAME}:
Veja Configuração: Substituição de variáveis de ambiente para todos os detalhes.

OPENCLAW_HOME

Quando definido, OPENCLAW_HOME substitui o diretório home do sistema ($HOME / os.homedir()) para toda a resolução interna de caminhos. Isso habilita isolamento completo do sistema de arquivos para contas de serviço headless. Precedência: OPENCLAW_HOME > $HOME > USERPROFILE > os.homedir() Exemplo (LaunchDaemon no macOS):
OPENCLAW_HOME também pode ser definido como um caminho com til (por exemplo, ~/svc), que é expandido usando $HOME antes do uso.

Relacionados