Configuração Inválida

Configuração Inválida

Descrição do Problema

Erro ao carregar ou parsear arquivo de configuração:

YAML parse error
Invalid configuration
Missing required field: xxx
Configuration validation failed

Possíveis Causas

  1. Sintaxe YAML errada - Indentação ou caracteres inválidos
  2. Campo obrigatório faltando - Configuração incompleta
  3. Tipo errado - String onde deveria ser número
  4. Encoding errado - Arquivo não está em UTF-8
  5. Variável não expandida - ${VAR} não substituída

Soluções

1. Validar Sintaxe YAML

# Instalar yamllint
pip install yamllint

# Validar arquivo
yamllint ~/.clawdbot/config.yaml

# Ou usar Python
python -c "import yaml; yaml.safe_load(open('config.yaml'))"

2. Verificar Indentação

# ERRADO - indentação inconsistente
gateway:
  port: 3000
   ssl: true  # Espaço extra!

# CORRETO
gateway:
  port: 3000
  ssl: true

3. Verificar Strings e Caracteres Especiais

# ERRADO - caractere especial sem aspas
password: p@ss:word!

# CORRETO
password: "p@ss:word!"

# Ou com aspas simples
password: 'p@ss:word!'

4. Verificar Tipos de Dados

# ERRADO - porta como string
port: "3000"

# CORRETO - porta como número
port: 3000

# ERRADO - booleano como string
enabled: "true"

# CORRETO
enabled: true

5. Verificar Variáveis de Ambiente

# Usando variáveis
telegram:
  token: ${TELEGRAM_BOT_TOKEN}

# Verificar se está definida
echo $TELEGRAM_BOT_TOKEN
# Definir variável faltante
export TELEGRAM_BOT_TOKEN="seu_token_aqui"

6. Verificar Encoding

# Ver encoding do arquivo
file config.yaml

# Converter para UTF-8 se necessário
iconv -f ISO-8859-1 -t UTF-8 config.yaml > config_utf8.yaml
mv config_utf8.yaml config.yaml

7. Usar Configuração de Exemplo

# Copiar configuração de exemplo
cp ~/.clawdbot/config.example.yaml ~/.clawdbot/config.yaml

# Ou gerar nova configuração
clawdbot config init

8. Validar com o Próprio OpenClaw

# Validar configuração
clawdbot config validate

# Ver configuração atual
clawdbot config show

# Ver campos obrigatórios
clawdbot config schema

Exemplo de Configuração Válida

# ~/.clawdbot/config.yaml
gateway:
  port: 3000
  host: "0.0.0.0"
  ssl:
    enabled: false

telegram:
  enabled: true
  token: "123456789:ABCdefGHIjklMNOpqrsTUVwxyz"

whatsapp:
  enabled: true
  session_path: "./sessions/whatsapp"

logging:
  level: "info"
  file: "./logs/clawdbot.log"

cache:
  enabled: true
  ttl: 3600

Problemas Relacionados

Prevenção

  • Use um editor com validação YAML (VS Code + extensão)
  • Mantenha backup da configuração funcionando
  • Use variáveis de ambiente para secrets
  • Valide antes de aplicar mudanças