Diagnostics
Variáveis de ambiente
OmeniaClaw carrega variáveis de ambiente de várias fontes. A regra é nunca sobrescrever valores existentes.
Precedência (maior → menor)
- Ambiente do processo (o que o processo do Gateway já recebeu do shell/daemon pai).
.envno diretório de trabalho atual (padrão do dotenv; não sobrescreve)..envglobal em~/.OmeniaClaw/.env(também conhecido como$OmeniaClaw_STATE_DIR/.env; não sobrescreve).- Bloco
envda configuração em~/.OmeniaClaw/OmeniaClaw.json(aplicado somente se estiver ausente). - Importação opcional do shell de login (
env.shellEnv.enabledouOmeniaClaw_LOAD_SHELL_ENV=1), aplicada somente para chaves esperadas ausentes.
Em instalações novas no Ubuntu que usam o diretório de estado padrão, o OmeniaClaw também trata ~/.config/OmeniaClaw/gateway.env como fallback de compatibilidade após o .env global. Se ambos os arquivos existirem e divergirem, o OmeniaClaw mantém ~/.OmeniaClaw/.env e imprime um aviso.
Se o arquivo de configuração estiver totalmente ausente, a etapa 4 é ignorada; a importação do shell ainda é executada se estiver habilitada.
Bloco env da configuração
Duas formas equivalentes de definir variáveis de ambiente inline (ambas não sobrescrevem):
{ env: { OPENROUTER_API_KEY: "sk-or-...", vars: { GROQ_API_KEY: "gsk-...", }, },}Importação do ambiente do shell
env.shellEnv executa seu shell de login e importa somente chaves esperadas ausentes:
{ env: { shellEnv: { enabled: true, timeoutMs: 15000, }, },}Equivalentes em variáveis de ambiente:
OmeniaClaw_LOAD_SHELL_ENV=1OmeniaClaw_SHELL_ENV_TIMEOUT_MS=15000
Variáveis de ambiente injetadas em tempo de execução
O OmeniaClaw também injeta marcadores de contexto em processos filhos gerados:
OmeniaClaw_SHELL=exec: definido para comandos executados por meio da ferramentaexec.OmeniaClaw_SHELL=acp: definido para spawns de processos de backend de runtime ACP (por exemplo,acpx).OmeniaClaw_SHELL=acp-client: definido paraOmeniaClaw acp clientquando ele gera o processo de ponte ACP.OmeniaClaw_SHELL=tui-local: definido para comandos de shell!da TUI local.
Estes são marcadores de runtime (não são configuração obrigatória do usuário). Eles podem ser usados na lógica de shell/perfil para aplicar regras específicas de contexto.
Variáveis de ambiente da UI
OmeniaClaw_THEME=light: força a paleta clara da TUI quando seu terminal tem fundo claro.OmeniaClaw_THEME=dark: força a paleta escura da TUI.COLORFGBG: se seu terminal a exportar, o OmeniaClaw usa a dica de cor de fundo para escolher automaticamente a paleta da TUI.
Substituição de variáveis de ambiente na configuração
Você pode referenciar variáveis de ambiente diretamente em valores de string da configuração usando a sintaxe ${VAR_NAME}:
{ models: { providers: { "vercel-gateway": { apiKey: "${VERCEL_GATEWAY_API_KEY}", }, }, },}Consulte Configuração: substituição de variáveis de ambiente para detalhes completos.
Referências secretas vs strings ${ENV}
O OmeniaClaw oferece suporte a dois padrões baseados em variáveis de ambiente:
- Substituição de strings
${VAR}em valores de configuração. - Objetos SecretRef (
{ source: "env", provider: "default", id: "VAR" }) para campos que oferecem suporte a referências de segredos.
Ambos são resolvidos a partir do ambiente do processo no momento da ativação. Os detalhes de SecretRef estão documentados em Gerenciamento de segredos.
Variáveis de ambiente relacionadas a caminhos
| Variável | Finalidade |
|---|---|
OmeniaClaw_HOME |
Sobrescreve o diretório inicial usado para toda a resolução interna de caminhos (~/.OmeniaClaw/, diretórios de agentes, sessões, credenciais). Útil ao executar o OmeniaClaw como um usuário de serviço dedicado. |
OmeniaClaw_STATE_DIR |
Sobrescreve o diretório de estado (padrão ~/.OmeniaClaw). |
OmeniaClaw_CONFIG_PATH |
Sobrescreve o caminho do arquivo de configuração (padrão ~/.OmeniaClaw/OmeniaClaw.json). |
OmeniaClaw_INCLUDE_ROOTS |
Lista de caminhos de diretórios onde diretivas $include podem resolver arquivos fora do diretório de configuração (padrão: nenhum — $include fica confinado ao diretório de configuração). Com expansão de til. |
Logging
| Variável | Finalidade |
|---|---|
OmeniaClaw_LOG_LEVEL |
Sobrescreve o nível de log para arquivo e console (por exemplo, debug, trace). Tem precedência sobre logging.level e logging.consoleLevel na configuração. Valores inválidos são ignorados com um aviso. |
OmeniaClaw_DEBUG_MODEL_TRANSPORT |
Emite diagnósticos direcionados de tempo de requisição/resposta do modelo no nível info sem habilitar logs globais de debug. |
OmeniaClaw_DEBUG_MODEL_PAYLOAD |
Diagnósticos de payload do modelo: summary, tools ou full-redacted. full-redacted é limitado e redigido, mas pode incluir texto de prompt/mensagem. |
OmeniaClaw_DEBUG_SSE |
Diagnósticos de streaming: events para tempo de início/conclusão, peek para incluir os cinco primeiros eventos SSE redigidos. |
OmeniaClaw_DEBUG_CODE_MODE |
Diagnósticos de superfície de modelo em modo de código, incluindo ocultação de ferramentas de provedor e aplicação de exec/wait somente. |
OmeniaClaw_HOME
Quando definido, OmeniaClaw_HOME substitui o diretório inicial do sistema ($HOME / os.homedir()) para toda a resolução interna de caminhos. Isso permite isolamento completo do sistema de arquivos para contas de serviço sem interface.
Precedência: OmeniaClaw_HOME > $HOME > USERPROFILE > os.homedir()
Exemplo (macOS LaunchDaemon):
<key>EnvironmentVariables</key><dict> <key>OmeniaClaw_HOME</key> <string>/Users/user</string></dict>OmeniaClaw_HOME também pode ser definido como um caminho com til (por exemplo, ~/svc), que é expandido usando $HOME antes do uso.
usuários de nvm: falhas de TLS no web_fetch
Se o Node.js foi instalado via nvm (não pelo gerenciador de pacotes do sistema), o fetch() integrado usa
o armazenamento de CAs empacotado do nvm, que pode não conter CAs raiz modernas (ISRG Root X1/X2 para Let's Encrypt,
DigiCert Global Root G2 etc.). Isso faz com que web_fetch falhe com "fetch failed" na maioria dos sites HTTPS.
No Linux, o OmeniaClaw detecta automaticamente o nvm e aplica a correção no ambiente real de inicialização:
OmeniaClaw gateway installgravaNODE_EXTRA_CA_CERTSno ambiente do serviço systemd- o ponto de entrada da CLI
OmeniaClawexecuta novamente a si próprio comNODE_EXTRA_CA_CERTSdefinido antes da inicialização do Node
Correção manual (para versões mais antigas ou inicializações diretas com node ...):
Exporte a variável antes de iniciar o OmeniaClaw:
export NODE_EXTRA_CA_CERTS=/etc/ssl/certs/ca-certificates.crtOmeniaClaw gateway runNão dependa de gravar somente em ~/.OmeniaClaw/.env para essa variável; o Node lê
NODE_EXTRA_CA_CERTS na inicialização do processo.
Variáveis de ambiente legadas
O OmeniaClaw lê somente variáveis de ambiente OmeniaClaw_*. Os prefixos legados
CLAWDBOT_* e MOLTBOT_* de versões anteriores são ignorados silenciosamente.
Se alguma ainda estiver definida no processo do Gateway durante a inicialização, o OmeniaClaw emite um
único aviso de depreciação do Node (OmeniaClaw_LEGACY_ENV_VARS) listando os
prefixos detectados e a contagem total. Renomeie cada valor substituindo o
prefixo legado por OmeniaClaw_ (por exemplo, CLAWDBOT_GATEWAY_TOKEN →
OmeniaClaw_GATEWAY_TOKEN); os nomes antigos não têm efeito.