TRILHA 2

🚀 Instalar e operar

Coloque no ar e mantenha no ar: do clone ao serviço do systemd, e depois o dia a dia de quem opera. Diagnóstico, logs, alertas, backup e o procedimento de quando quebra.

2
Módulos
12
Tópicos
90 min
Duração
Prático
Tipo
Progresso da trilha 2 0%
0 de 0
pré-requisitos .env e config/*.yaml unit do systemd doctor e doctor --deep journal e dashboard alertas e backup openpcbotv3 porta 3142, ao lado do v2

Mapa da trilha

Conteúdo detalhado

2.1 ~45 min

🚀 Subir o v3

Pré-requisitos na máquina, bot próprio no BotFather, o .env mínimo, os três YAML de config/, a unit de usuário do systemd e a primeira conversa.

Progresso do módulo 2.1 0%
0 de 0
O que é:

Quatro coisas prontas antes do primeiro boot: Node, o Ollama como serviço do systemd na porta 11434, o CLI claude no PATH e o .env do v2, de onde vêm as keys compartilhadas em runtime.

Por que aprender:

O npm run doctor aponta exatamente o que falta antes de você configurar qualquer coisa, e sai com código 1 se houver falha crítica.

Conceitos-chave:

Ollama via systemd · claude CLI · keys em runtime · doctor

O que é:

Um bot novo no BotFather e o token dele em TELEGRAM_BOT_TOKEN_V3. O v3 reconhece o token do v2 e recusa subir com ele.

Por que aprender:

Dois processos chamando getUpdates com o mesmo token recebem 409 e os dois bots ficam surdos, inclusive o que já está em produção.

Conceitos-chave:

BotFather · getUpdates · 409 · bot id

O que é:

Token, PORT_V3 (3142), HTTP_BIND_V3 (127.0.0.1), DASHBOARD_TOKEN_V3, PISO_RAM_GB (40) e ORCAMENTO_MENSAL_USD (50). As keys compartilhadas não se duplicam aqui.

Por que aprender:

A precedência é fixa: o que já está no processo ganha do .env do v3, que ganha do .env do v2. Saber disso evita caçar valor fantasma.

Conceitos-chave:

ALLOWED_CHAT_ID · PORT_V3 · PISO_RAM_GB · precedência

O que é:

ollama.yaml define os papéis roteador, geral e embed (com piso de RAM e probe), precos.yaml traz USD por milhão de tokens por tier e orcamento.yaml o teto do mês.

Por que aprender:

As tags de modelo precisam ser as mesmas do v2: um modelo grande residente serve os dois bots. Mudar só de um lado leva a máquina a OOM.

Conceitos-chave:

Papel · tag do modelo · tier · keep_alive

O que é:

Um script que copia a unit para ~/.config/systemd/user/, roda npm run build, recarrega o systemd, habilita e reinicia o serviço, e imprime status e MemoryMax.

Por que aprender:

É o mesmo comando para o primeiro boot e para qualquer restart depois de mexer em src/ ou no .env. Tudo com systemctl --user, sem tocar no v2.

Conceitos-chave:

unit de usuário · MemoryMax 2G · Restart=on-failure · npm run build

O que é:

Três comandos que provam o essencial: qual binário respondeu, se o bot enxerga Ollama, RAM e fila, e se o seu chat é o permitido. Sem Telegram, o mesmo teste sai por npm run cli.

Por que aprender:

Você confirma o caminho inteiro antes de confiar tarefa nenhuma ao bot, e descobre cedo se ficou rodando uma versão antiga.

Conceitos-chave:

/versao · /health · /chatid · POST /mensagem

Ver Completo
2.2 ~45 min

🩺 Operar no dia a dia

Diagnóstico com doctor, journal e dashboard, os comandos de saúde e custo, alertas com dedupe, backup noturno e o procedimento de quando quebra.

Progresso do módulo 2.2 0%
0 de 0
O que é:

O npm run doctor lê configuração, RAM, modelos, CLIs e units sem mudar nada. O --deep acrescenta quatro probes reais: health, sendMessage, modelo roteador pelo gateway e um job na lane io.

Por que aprender:

Só o probe da fila revela serviço no ar com binário antigo, um erro que a configuração sozinha nunca mostra.

Conceitos-chave:

Falha crítica · probe · doctor-probe · lane io

O que é:

Log pino em JSON no journal do systemd do usuário, e um dashboard em 127.0.0.1:3142 com health, Ollama e RAM, fila por lane, custo de 14 dias, memória e jobs recentes.

Por que aprender:

O log conta a sequência, o dashboard mostra o conjunto. Um responde "o que aconteceu", o outro "como está agora".

Conceitos-chave:

journalctl --user · -o cat · DASHBOARD_TOKEN_V3 · HTTP_BIND_V3

O que é:

Três leituras no chat: saúde (Ollama, RAM e swap, RSS, fila, heartbeat), trabalho (fila por lane ou um job pelo id) e dinheiro (dia, semana, mês, por tier e por agente).

Por que aprender:

O ok do health tem critério: Ollama online, RAM de 10 GB ou mais e heartbeat de menos de 90 minutos. Sem esse critério, "está lento" vira palpite.

Conceitos-chave:

Lane · heartbeat · tier · /cancelar e /prioridade

O que é:

Ollama fora, RAM baixa, lease morto, job zumbi, três falhas da mesma tarefa em uma hora, orçamento em 70 % e em 100 %, entregues no chat permitido com dedupe de 30 minutos por chave.

Por que aprender:

Cada alerta tem uma resposta certa e uma resposta que piora. Lease morto e zumbi, por exemplo, o heartbeat já recupera sozinho.

Conceitos-chave:

Dedupe por chave · lease · zumbi · ALLOWED_CHAT_ID

O que é:

Às 4h15 o cron copia o SQLite com VACUUM INTO, cifra com age se houver AGE_RECIPIENT ou comprime com gzip, e mantém 14 arquivos em store/backups/.

Por que aprender:

Todo o estado do bot mora nesse arquivo: fila, memórias, custo e preferências. Conferir que o backup existe é mais barato que descobrir que não existe.

Conceitos-chave:

VACUUM INTO · WAL · age e gzip · retenção 14

O que é:

Conter com /parar tudo, diagnosticar com journal e doctor, reinstalar com bash scripts/instalar-servico.sh e registrar uma linha no FALHAS.md antes da próxima tarefa.

Por que aprender:

A coluna da menor correção possível é a que ensina: quase sempre faltava uma proteção, não uma reescrita.

Conceitos-chave:

/parar e /retomar · prefs · drain gracioso · prompt ou infra

Ver Completo
Trilha anterior Voltar ao curso Próxima trilha