ALTIS é a camada de produto de uma plataforma de supervisão tecnológica com IA integrada, com fonte de verdade determinística (DB/LOG/regras) e camada conversacional híbrida na DM.
- IA interpreta intenção e organiza a conversa
- DB, LOG e regras provam os fatos
- IA não inventa status, causa raiz, severidade nem evidência
Essa separação é o que impede a plataforma de virar um poeta perigoso de incidente.
noc_bot/handlers/chat.py— entrada de texto livrenoc_bot/dm_router.py— decisão da rota da DM (social, help, consult, incident, clarify)noc_bot/dm_session.py— contexto curto e clarificaçãonoc_bot/dm_intents.py— parser determinístico factualnoc_bot/dm_queries.py— consultas em fonte realnoc_bot/dm_presenter.py— resposta factual basenoc_bot/handlers/callbacks.py— callback routing do teclado inlinenoc_bot/telegram_ui.py— teclados públicosnoc_bot/ui/panels.py— painéis/UX da DM
A DM precisa lidar com três camadas sem misturar alhos, bugalhos e produção:
Exemplos:
Oi, boa tardeBom dia
Exemplos:
Como faço para medir a velocidade da internet?Qual é o site do speed test?
Exemplos:
Telefone ok aí?Teve falha hoje?Caiu tudo agoraMe manda a evidência
- interpretar linguagem natural
- responder saudações
- orientar dúvidas simples
- pedir clarificação curta
- modular o tom da resposta
- inventar fatos operacionais
- afirmar incidente sem base
- alterar CID, horário, severidade ou estado
- usar humor em cenário crítico
chat.pyrecebe a mensagemdm_router.pydecide a rota- se a rota for factual,
dm_intents.py+dm_queries.pyresolvem a consulta dm_presenter.pymonta a base da respostaai_client.pysó entra quando permitido pela política
Em produção, o pipeline factual principal segue:
RouterOS 7 (UN1) → syslog remoto → rsyslog raw → SQLite → Bot Telegram
Para evitar db_stale em períodos sem transição real de Netwatch, existe uma camada auxiliar de freshness:
VM bot → altis-heartbeat.timer / altis-heartbeat.service → logger local (noc_heartbeat) → rsyslog local → /var/log/mikrotik/un1.log → SQLite
Regras do SELFTEST:
- usa o contrato canônico
NOC|... - entra no mesmo raw/DB oficial
- mantém a fonte fresca
- não deve virar incidente, recomendação ou destaque executivo
- é tratado como ruído operacional filtrável
O teclado inline cobre:
- clínica / home
- painel agora
- atendimento 2h
- evidências
- disponibilidade hoje
- qualidade hoje
- resumo 24h / 7d
- fonte (/where)
Use .env.example como baseline. O runtime real deve manter apenas segredos válidos no .env.
Pontos importantes:
TELEGRAM_BOT_TOKENDM_ASSISTANT_*AI_ENABLEDe credenciais Cloudflare, quando aplicável- paths do DB/LOG/tailer
A validação operacional do pacote atual deve cobrir, no mínimo:
- compile dos módulos Python alterados
- checagem de branding/UX no runtime
- smoke test da DM híbrida
- verificação de guardrails de humor/verdade operacional
Oi, boa tardeQual é o site do speed test?Como faço para medir a velocidade da internet?Telefone ok aí?E a internet?falhas hojeCaiu tudo agoraevidência telefonia
- home
- painel agora
- disponibilidade hoje
- qualidade hoje
- resumo 24h
- evidências
- atendimento 2h
- where
Com snapshot da VM bot e janela sem usuário, a estratégia recomendada é:
- backup / snapshot
- aplicar lote validado
python -m compileall bot.py noc_bot- smoke test no Telegram
- restart do serviço
- validar
/where, UX e logs - rollback se necessário
A IA da DM do ALTIS deve ser humana na conversa, inteligente na interpretação e rigorosa na verdade operacional.