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
- Sintaxe YAML errada - Indentação ou caracteres inválidos
- Campo obrigatório faltando - Configuração incompleta
- Tipo errado - String onde deveria ser número
- Encoding errado - Arquivo não está em UTF-8
- 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