Comandos
Todos os comandos são executados no Terminal, na pasta do projeto (~/heimdall-ai). Em cada um há um botão para copiar. Se for colar, confira que nada além do comando entrou na linha.
Subir e parar
Subir tudo em segundo plano, com Open WebUI e Open Terminal
nohup bash start_heimdall.sh --webui --terminal > heimdall.log 2>&1 &Subir com n8n e agente do Mac
nohup bash start_heimdall.sh --webui --terminal --n8n --agente > heimdall.log 2>&1 &Subir e indexar os documentos novos antes
nohup bash start_heimdall.sh --ingest > heimdall.log 2>&1 &Atualizar as imagens Docker (com backup) ao subir
nohup bash start_heimdall.sh --update > heimdall.log 2>&1 &Reiniciar só o agente do Mac
pkill -f heimdall_agente.py # depois suba o sistema como de costumeVer o final do log
tail -30 heimdall.logConferir se está no ar
Agente do Mac (deve responder ok)
curl -s http://localhost:8003/saudeContêineres rodando
docker ps --format '{{.Names}}: {{.Status}}'Modelos carregados no Ollama
ollama psServidores MCP, direto e pelo LiteLLM
venv/bin/python test_mcp.pyChamada de ferramentas de cada modelo
venv/bin/python test_models_tools.py --only qwenAcesso ao app Notas, Calendário e Lembretes
python3 heimdall_agente.py --testeVoz e velocidade do áudio de estudo
python3 heimdall_agente.py --vozLogin e simulação do vigia de e-mail
bash instalar_email_oficial.sh --testarDocumentos e conhecimento
Indexar knowledge/ (incremental)
python3 ingest_docs.pyRecriar a base do zero (troca de modelo de embedding)
python3 ingest_docs.py --resetOuvir o áudio de estudo mais recente
bash ouvir_estudo.shListar o que o Second Brain guardou de pastas privadas, sem apagar
python3 limpar_privadas.py --so-listarInstalar e atualizar as automações
Fluxos básicos (AWS, versões, saúde do Mac, disponibilidade)
bash instalar_fluxos_n8n.shFluxos avançados (GitOps, digest, Second Brain, estudo)
bash instalar_automacoes_avancadas.shMonitor de privacidade e diários oficiais
bash instalar_monitor_privacidade.shMudar o que o monitor procura
bash instalar_monitor_privacidade.sh --reconfigurarVigia de e-mail de serviços públicos
bash instalar_email_oficial.shLigar um repositório ao GitOps
bash instalar_hook_gitops.sh /caminho/do/repositorioRodar um fluxo agora
Estudo dos livros
docker exec -e N8N_RUNNERS_BROKER_PORT=5680 n8n n8n execute --id=hdEstudoDiario01 2>&1 | tail -20Monitor de privacidade
docker exec -e N8N_RUNNERS_BROKER_PORT=5680 n8n n8n execute --id=hdMonitor00000001 2>&1 | tail -20Diários oficiais
docker exec -e N8N_RUNNERS_BROKER_PORT=5680 n8n n8n execute --id=hdDiario00000001 2>&1 | tail -20Manter esta documentação
Regerar as páginas e as tabelas do README
python3 gerar_docs.pyConferir se estão em dia (usado no CI)
python3 gerar_docs.py --checkOpções do start_heimdall.sh
Texto de ajuda do script
- Uso: ./start_heimdall.sh sobe tudo (Open WebUI só se HEIMDALL_WEBUI=1 no .env)
- ./start_heimdall.sh --webui sobe tudo, incluindo o Open WebUI (porta 3000)
- ./start_heimdall.sh --terminal sobe também o Open Terminal (porta 8002); a chave vem de
- OPEN_TERMINAL_API_KEY no .env (se faltar, o script gera uma)
- ./start_heimdall.sh --ingest antes de subir o LiteLLM, indexa só o que mudou em knowledge/ (ou HEIMDALL_INGEST=1)
- ./start_heimdall.sh --docling sobe também o Docling (extração de PDFs com OCR) na porta 5001 (ou HEIMDALL_DOCLING=1)
- ./start_heimdall.sh --n8n sobe também o n8n (automações e agendamentos) em http://localhost:5678 (ou HEIMDALL_N8N=1)
- ./start_heimdall.sh --agente sobe também o agente do Mac (ponte do n8n com o app Notas) na porta 8003; sobe sozinho
- quando HEIMDALL_AGENTE_TOKEN existe no .env (o instalar_automacoes_avancadas.sh cria)
- Aparência do Open WebUI (no .env): HEIMDALL_WEBUI_NAME="Heimdall-ai" (nome); arquivos em branding/
- (favicon.png, logo.png, splash.png...) são copiados para dentro do contêiner a cada subida.
- Extras (opcionais, no .env): HEIMDALL_MONITORING=0 desliga Uptime Kuma e Dozzle;
- HEIMDALL_AWS_EMULATOR=auto|moto|localstack|off escolhe o emulador de AWS.
- ./start_heimdall.sh --update antes de subir, atualiza as imagens Docker (SearXNG,
- Qdrant e Open WebUI), com backup; também vale HEIMDALL_UPDATE=1 no .env
Problemas conhecidos
O comando de subir falha ou o terminal mostra 'command not found' depois dele
Confira se digitou dois hifens nas opções (--terminal, não ---terminal) e se não colou texto extra no fim da linha. Digite o comando em vez de colar.
O Bark avisa 'não consegui gravar a nota'
O aviso traz o motivo entre parênteses. Veja também: grep -E "recusado|erro em|inválido" heimdall.log | tail -5. Depois de atualizar o heimdall_agente.py, reinicie o agente.
Erro 'ascii codec can't encode' na busca do Gmail
Corrigido: a consulta ao Gmail sai sem acentos. Atualize heimdall_email_oficial.py.
Falha de conexão TLS (SSL handshake failure) ao consultar o Querido Diário
O servidor recusa a conexão de alguns ambientes. O aviso do Bark diz que a fonte não pôde ser consultada, sem fingir que não há nada. Teste de outra rede (por exemplo, o roteador do celular).
Texto extraído de PDF derruba a gravação da nota ('embedded null byte')
Corrigido: o agente remove caracteres de controle antes de gravar.
Sistema operacional pergunta permissão ao criar evento, lembrete ou nota
Autorize o Terminal em Ajustes do Sistema, Privacidade e Segurança, Automação (Notas, Calendário e Lembretes). python3 heimdall_agente.py --teste confere tudo.