Monitoramento em tempo real de automações PowerShell, com ingestão de logs, persistência em Postgres e respostas operacionais via LLM.
O Jarvis é um agente de observabilidade que dá visibilidade sobre um parque de automações rodando em servidores Windows. Cada rotina PowerShell envia, ao final da execução, um evento estruturado para o Jarvis via HTTP. Esses eventos são persistidos e ficam disponíveis para consulta em linguagem natural — o operador pergunta "o que aconteceu com a automação X hoje?" e o agente responde com base em evidências reais de execução, não em suposições.
- Ingestão de logs de automações PowerShell via
POST /api/log-ingest - Persistência dual: Postgres (Neon) em produção, SQLite localmente — sem alteração de código
- Chat operacional com LLM (Groq) fundamentado nos eventos reais dos últimos dias
- Monitor de automações com detecção de atraso ("overdue") pelo tempo desde o último evento real
- Painel com fonte ativa de logs, status operacional e último evento conhecido
- Alertas via Telegram e gráfico diário de execuções
- Fuso horário correto (BRT) no monitor e no contexto enviado ao LLM
┌────────────────────────┐ POST /api/log-ingest ┌───────────────────────────┐
│ Automações PowerShell │ ──────────────────────────────▶ │ Backend Node.js/Express │
│ (servidor Windows) │ eventos estruturados │ │
└────────────────────────┘ │ ┌──────────────────────┐ │
│ │ log-ingest-store │ │
┌────────────────────────┐ GET /api/chat │ │ Postgres | SQLite │ │
│ Painel Web (frontend) │ ◀──────────────────────────────▶ │ └──────────────────────┘ │
│ polling ~30s │ respostas fundamentadas │ ┌──────────────────────┐ │
└────────────────────────┘ │ │ agent + monitor │ │
│ │ contexto → Groq LLM │ │
│ └──────────────────────┘ │
└───────────────────────────┘
| Camada | Tecnologia |
|---|---|
| Backend | Node.js + Express |
| LLM | Groq API |
| Banco (produção) | PostgreSQL via Neon |
| Banco (local) | SQLite |
| Frontend | HTML/CSS/JS puro (polling) |
| Alertas | Telegram Bot API |
| Deploy | Vercel |
git clone https://github.com/MathTrajan/Jarvis-Chat-Assistente-Virtual-Inteligente.git
cd Jarvis-Chat-Assistente-Virtual-Inteligente/jarvis-chat-export/backend
cp .env.example .env
# preencha GROQ_API_KEY_1 e LOG_INGEST_API_TOKEN no .env
npm install
npm startAcesse: http://localhost:3000
| Variável | Descrição |
|---|---|
GROQ_API_KEY_1 |
Chave da API Groq (obrigatória para o chat) |
LOG_INGEST_API_TOKEN |
Token que protege o endpoint de ingestão de logs |
DATABASE_URL |
String Postgres/Neon (produção); se ausente, usa SQLite local |
LOG_INGEST_ENABLED |
Habilita a persistência de logs via HTTP |
Lista completa em
jarvis-chat-export/backend/.env.example.
| Método | Endpoint | Descrição |
|---|---|---|
POST |
/api/chat |
Conversa operacional com o Jarvis |
GET |
/api/health |
Status do provedor LLM |
POST |
/api/log-ingest |
Ingestão de logs estruturados |
GET |
/api/logs/query |
Consulta protegida de eventos |
GET |
/api/logs-debug |
Diagnóstico da fonte de logs |
GET |
/api/info |
Configuração atual do backend |
As automações enviam um evento ao final de cada execução. No servidor Windows, configure (como Administrador):
[Environment]::SetEnvironmentVariable("JARVIS_INGEST_URL", "https://jarvis-observability.vercel.app/api/log-ingest", "Machine")
[Environment]::SetEnvironmentVariable("JARVIS_INGEST_API_TOKEN", "<token>", "Machine")Desenvolvido por Matheus Trajano · LinkedIn