Dashboard de Lacunas
Painel Administrativo CejurOS
Acesso restrito
O recurso pedido exige liberação da coordenação
Recurso pedido
—
—
Você está logado como
—
Quem libera
Lucas Epifanio · Coordenação
Dashboard de Lacunas
Cruzamento: tópicos dos editais × acervo teórico × banco de questões × Norte Legal
| Órgão / Cargo | Disciplina | Tópicos | Cobertura por fonte | Status geral |
|---|
4 vetores ≈ 1 página de conteúdo jurídico denso (A4)
📚 Gestor de Acervo
Pesquise, edite ou exclua os fragmentos de conhecimento injetados no Cérebro da IA.
Alertas de Conflito Normativo
Gerados automaticamente após cada ingestão — a IA detecta revogações e contradições tácitas entre vetores
Limpeza de falsos positivos
Descarta pendentes onde os dois vetores não compartilham disciplina ou diploma — critério recomendado pela auditoria.
Auditoria de Conflitos sob Demanda
Roda detecção rigorosa com Claude Sonnet 4.6 (vs Gemini Flash que gerava 95% de falsos). Use em lote, na sexta à noite, escolhendo a disciplina e o tamanho do lote.
Conceitos Matadores
Transformam os alertas ouro (⭐) em material forense publicável — fonte primária, armadilha de banca, estratégia. Cada rascunho vira PDF ao publicar.
Grafo Jurídico — GraphRAG
Entidades jurídicas extraídas automaticamente durante a ingestão — alimenta o Concierge com mapa de relações
🛡️ Cargos e Carreiras (DNA da Resposta)
Defina o tom de voz e o rigor acadêmico para o "Super Prompt" da IA.
Cadastrar Novo DNA
Cargos Configurados
Disciplinas
Curadoria. A regra padrão (dorsal) é automática: tudo com ≥ 1 questão ativa entra no dropdown de simulado. Use Oficial só pra forçar uma disciplina sem questão a aparecer; Oculta pra esconder lixo/duplicata.
| Disciplina | Questões | Vetores | Temas | Simulável | Oficial (força incluir) |
Oculta (força excluir) |
|---|---|---|---|---|---|---|
| Carregando… | ||||||
—
Mesclagens Pendentes
O sistema detecta variações de disciplinas e temas que parecem ser a mesma coisa (ex: Princípios do Direito Penal vs Princípios Constitucionais do Direito Penal). Aprovar cria um alias canônico que todas as buscas passam a respeitar — sem renomear o histórico.
Formatos de Saída (Estrutural)
Molde a engenharia visual de como o material deve ser entregue.
Cadastrar Novo Formato
Catálogo de Formatos
Centro de Comando de IA
Troque o provedor e modelo de cada módulo em tempo real — sem tocar em código.
Quando ativo, funcionalidades da whitelist rodam no seu PC via Ollama. Cloud continua como fallback automático se local falhar (timeout ou erro).
Geração de comentários e mixagem ficam fora por padrão — qualidade Qwen 7B insuficiente nessas tarefas.
Comentários sem pontuação final, terminando em conjunção/preposição ou palavra cortada. Reprocesso aumenta max_tokens automaticamente e valida o resultado.
| Provedor | Label | Chave (oculta) | Status | Ativa | Ações |
|---|---|---|---|---|---|
| Carregando chaves... | |||||
As chaves são armazenadas no PostgreSQL dentro da rede Docker (porta 5432, não exposta). Nunca trafegam pela internet. O painel exibe apenas os últimos 4 caracteres.
Adicionar Chave de API
Será criptografada visualmente — apenas os últimos 4 dígitos aparecem depois.
| Módulo | Provedor | Modelo | Temp. | Max tokens | Ação |
|---|---|---|---|---|---|
| Carregando configurações... | |||||
Modelo A
Modelo B
Aplicar modelo vencedor a qual funcionalidade?
Observabilidade
Como os alunos estão usando a plataforma e como a IA está performando — em tempo real.
Atividade da Fábrica
Últimos 50 jobs em background — ingestão, mixagem, auditoria, comentários, etc.
Carregando...
Engajamento por módulo
Views, cliques e respostas por funcionalidade. CTR < 5% sinaliza candidato a flag-off.
Carregando...
Qualidade da IA
Por funcionalidade: chamadas, satisfação (thumbs), latência, erros.
Carregando...
FinOps por Aluno
Top alunos por consumo de tokens e custo USD na janela.
Carregando...
FinOps por Módulo
Onde o orçamento está sendo gasto: cada funcionalidade da IA.
Carregando...
Feedbacks negativos recentes
Onde a IA não ajudou — clique pra ver pergunta, resposta e contexto.
Carregando...
Configurações Operacionais
Ajuste limiares, janelas e horários sem precisar editar código. Mudanças marcadas com exigem restart do backend.
Carregando configurações...
Resgate de Confiança
Alunos com padrão de frustração detectado pela IA. A tecnologia levanta o sinal — você fornece a empatia.
Abertos
0Aguardando 1ª intervenção
Sem alertas abertos
Em Atendimento
0Mentor já se manifestou
Nenhum em atendimento
Resolvidos hoje
0Ciclo fechado · vitórias do dia
Nada resolvido hoje ainda
Alimentar Cérebro
Injete novos conhecimentos na memória vetorial da IA.
Estúdio de Mixagem
Gere materiais didáticos de alto padrão cruzando o acervo vetorial com o Super Prompt.
Ctrl+Clique para selecionar várias
Materiais Gerados — ative o switch "Mostrar aluno" para liberar pra biblioteca
Fábrica de Editais
Transforma um edital bruto em um Guia Sistematizado A4, pronto para impressão, e alimenta o banco de lacunas.
Dados do Edital
Editais Sistematizados
🧭 Norte Legal — Produção
Transforme legislação bruta em material de estudo visual, tátil e de zero perda. Powered by Gemini 1.5 Pro + RAG automático.
Texto Bruto da Legislação *
As alterações entram em vigor na próxima geração de material.
Material salvo automaticamente no Acervo Norte Legal (acessível pelos alunos no Cockpit).
Fila de Produção (Legislações Grandes)
CF, CC, CPC inteiros — divide automaticamente em lotes por Título/Capítulo e gera em série, sem você ficar babando.
Status da Fila
Materiais Gerados
Gerar Manual — Norte Legal
Cole o HTML pronto. Tags <script>, <iframe> e handlers inline são removidos automaticamente.
Extrator de Quadros (Recuperação)
Lê PDF/HTML antigo → descarta a lei seca → devolve apenas tabelas, súmulas, mnemônicos e jurisprudência com etiquetas de ancoragem.
Você também pode rodar o extrator em qualquer Norte Legal já cadastrado acima — botão "Extrair" no card do material.
Histórico de extrações
Conteúdo Didático Extraído
Correção de Redações
Configure as modalidades de texto e os critérios por banca que os alunos verão na hora de enviar a redação.
Use {{tema}} e {{texto}} como variáveis.
Revisar & Atualizar Material
Mantém o que o professor fez intacto. A IA verifica atualizações, sugere melhorias e diagrama — sem alterar o conteúdo original.
Material Existente
Verificar Atualizações
Identifica o que pode estar desatualizado
Sugerir Melhorias
Lacunas e enriquecimentos, sem reescrever
Diagramar / Formatar
Gera HTML pronto para impressão
Guia Técnico CejurOS
Documentação completa de funcionalidades, fluxos, IAs e integrações — acesso restrito por perfil
Módulos visíveis e operados diretamente pelos alunos via painel.chatcejur.online.
IA Jurídica (Concierge)
O que faz: Chat jurídico contextualizado. O aluno faz perguntas e recebe respostas baseadas no acervo do CejurNorte — não no conhecimento genérico da IA.
Fluxo: Pergunta → embedding (Gemini) → busca nos 5 vetores mais próximos em vetores_conhecimento → monta contexto → gera resposta com IA.
IA: Gemini 2.5 Flash (geração) + gemini-embedding-001 (busca).
Alimentado por: Módulo "Alimentar Cérebro" (admin).
Não gera dados persistentes.
Banco de Questões
O que faz: Filtro de questões reais de concursos (disciplina, tema, banca, cargo, UF, ano, tipo). O aluno responde, vê gabarito e pede explicação.
Origem dos dados: Tabela questoes — importadas via Fábrica de Questões (admin).
💡 Explicação Rápida: Gemini 2.5 Flash. Explicação Longa: Gemini 2.5 Pro. Ambas salvas em questoes.comentario — cache automático, IA chamada só na 1ª vez.
Gera: respostas_aluno (acerto/erro por disciplina), caderno_erros (ao errar), explicacoes_log (todo pedido de explicação).
Alimenta: Progresso, Ranking, Simulado, Dashboard "Dores dos Alunos" e RAG do Norte Legal.
Materiais Disponíveis (Biblioteca)
O que faz: Acervo de materiais didáticos com filtros por disciplina, tema, cargo e formato. Abertura em nova aba com layout A4.
Origem: Tabela materiais_gerados — criados pelo Estúdio de Mixagem (admin).
Filtros dinâmicos: Populados de disciplinas, temas, areas_carreira, formatos_saida.
Sem IA no lado do aluno. Geração ocorre 100% no admin.
Conversão HTML → PDF (Mixagem / Norte Legal / Editais)
Por que existe: materiais gerados em HTML (Mixagem, Norte Legal, Edital Sistematizado) dependiam do aluno fazer "Imprimir → Salvar em PDF" — o que traz cabeçalho do browser, paginação quebrada, margens zoadas e frustração. Agora o servidor gera o PDF final com layout CejurNorte padronizado, e o aluno tem botão dedicado.
Pipeline: ao criar um material novo, o HTML é salvo normalmente e em paralelo um job Puppeteer (Chromium headless já instalado no container) renderiza o mesmo HTML em PDF A4 e salva em /opt/cejuros-uploads/pdfs-gerados/<tipo>/<timestamp>-slug.pdf. O path fica em pdf_path na tabela origem. O aluno vê dois botões: Online (abre o HTML em nova aba) e PDF (abre no viewer inline da plataforma).
Template (PdfService.js):
- Cabeçalho em todas as páginas: "CejurNorte Concursos" à esquerda, título do material à direita (9px, discreto)
- Rodapé: "chatcejur.online" + "página X de Y"
- Margens A4: 2cm topo, 1.8cm lados/rodapé
- CSS injetado força
page-break-inside: avoidem.questao-box,.caixa-destaque, tabelas e blocos — nunca quebra no meio - Esconde o botão "Salvar em PDF" que os HTMLs existentes embutem
Backfill: para materiais anteriores à feature, a aba PDFs Gerados em Sistema mostra stats (total / com PDF / pendentes) por tipo, e o botão "Backfill" enfileira os materiais sem PDF pra processamento sequencial em background. Puppeteer é caro de RAM — 1 por vez, ~5-15s cada.
Regeneração por material: POST /api/admin/pdf/<tipo>/<id>/gerar onde tipo é mixagem, norte-legal ou edital. Remove o PDF antigo, gera novo. Útil se o HTML foi editado manualmente ou se o template do cabeçalho/rodapé mudar.
Tabelas: materiais_gerados, norte_legal_materiais e editais_sistematizados ganharam pdf_path, pdf_tamanho_bytes, pdf_paginas, pdf_gerado_em. Os endpoints /biblioteca/materiais, /biblioteca/editais e /norte-legal/lista agora devolvem esses campos pro frontend.
Custo: zero — Puppeteer e pdf-parse já estão no stack. Único custo é CPU/RAM durante a geração (1 Chromium headless por PDF, ~200MB por 5-15 segundos). PDFs gerados ficam no volume /opt/cejuros-uploads/pdfs-gerados/{mixagem,norte-legal,editais,gerais} — mesmo volume dos uploads manuais, então cobrem no mesmo rsync/backup. Servidos pelo Express via /uploads/pdfs-gerados/....
Deploy: qualquer mudança no docker-compose.yml (novo volume, env var etc.) exige docker compose up -d, não apenas docker restart — senão o volume novo não é aplicado e os arquivos caem no mount do código.
Materiais PDF (apostilas) — Upload & Ingestão opcional na IA
Dois modos de cadastro no modal /admin/operacional/materiais-pdf:
- Upload local: sobe o PDF direto pro servidor. Máximo 500 MB por arquivo. Arquivo é salvo com nome único
timestamp-slug.pdfem/opt/cejuros-uploads/materiais-pdf/no host (volume Docker persistente). - Link externo: URL pública de Drive, Dropbox etc. Comportamento antigo preservado.
Serviço: Multer com diskStorage streaming, rota POST /api/ead/materiais/upload em multipart. pdf-parse extrai contagem de páginas no momento do upload. Arquivos servidos via app.use('/uploads', express.static(...)).
Por que não precisou de subdomínio separado: Descobrimos que seu DNS é Hostinger direto (não Cloudflare proxy) e o reverse proxy local é o Caddy (typebot-caddy-gen-1), que não impõe limite de body por padrão. Uploads até 500 MB passam limpos pelo api-painel.chatcejur.online normal.
Ingestão opcional na IA (checkbox no modal): Quando marcado, após o upload dispara um job em background que:
- Lê o PDF via
pdf-parse→ extrai texto puro - Fatia com
fatiarTextoSemanticamente(mesmo chunking da ingestão tradicional; tamanho emingestao.chunk_size) - Para cada chunk: extrai 5 palavras-chave (Gemini Flash), gera embedding 768-dim (gemini-embedding-001), salva em
vetores_conhecimentocomtipo_conteudo='Material EAD'eorigem_material_idapontando de volta - Ao terminar, o material fica marcado
ingerido_ia=truee mostra badge IA na tabela
Efeito no RAG: O conteúdo do material vira acervo pesquisável pelo Concierge, pela Mixagem e pelo Norte Legal RAG — como qualquer outra fonte. Diferença: mantém o link de origem, então se o material for excluído via DELETE /api/ead/materiais/:id, os vetores associados também são removidos (cascata via origem_material_id).
Reingestão: Se você esqueceu de marcar o checkbox na hora do upload, tem um botão na linha do material que dispara a ingestão a qualquer momento. Endpoint: POST /api/ead/materiais/:id/ingerir.
Colunas novas na tabela ead_materiais_pdf: arquivo_path, arquivo_nome_original, tamanho_bytes, paginas, ingerido_ia, vetor_ingestao_job_id. Coluna url continua, mas agora é nullable — material ou tem arquivo_path (local) ou url (externo), nunca os dois.
Custo da ingestão: varia com o tamanho do PDF. Uma apostila de 200 páginas com ~80 KB de texto por chunk gera ~25-40 chunks = ~40 chamadas ao embedding Gemini (centavos) + ~40 chamadas ao Flash pra tags (centavos). Por isso o checkbox é opt-in: você escolhe quais apostilas valem virar base da IA.
Backup: apostilas ficam em /opt/cejuros-uploads no host. Não são replicadas no db_data. Lembrete importante: inclua esse diretório na rotina de backup (rsync, snapshot, o que você usar).
Editais Sistematizados
O que faz: Exibe editais em formato de guia de estudo A4 organizado por cargo. Filtros por órgão, cargo, ano e banca.
Origem: Tabela editais_sistematizados — criados pela Fábrica de Editais (admin).
Relação: Cada edital pode ter N tópicos em edital_topicos — usados no Dashboard de Lacunas.
Aluno pode solicitar novo edital via formulário — gera notificação na Caixa dos Alunos.
Norte Legal — Acervo
O que faz: Exibe materiais de diagramação jurídica de alta performance (HTML) — cada artigo comentado, com jurisprudência e dicas de prova.
Origem: Tabela norte_legal_materiais — gerados pelo módulo Norte Legal (admin).
Aluno pode solicitar nova lei via formulário integrado. Gera notificação ao admin + resposta automática da IA ao aluno + email ao admin.
Sem IA no lado do aluno. A geração do HTML usa Claude Sonnet no admin.
Caderno de Erros
O que faz: Sistema de revisão espaçada. O aluno acumula questões erradas, no chute ou que quer revisar. A data de próxima revisão aumenta progressivamente (algoritmo SM-2 simplificado).
Alimentado por: Resposta errada no banco de questões (automático) + botão "Caderno" em qualquer questão (manual) com 3 motivos.
IA: Gemini 2.5 Pro ("Analisar Padrões" e "Organizar a Bagunça").
Gera email: Cron diário às 8h (Belém) envia e-mail ao aluno quando há revisões pendentes.
Tabela: caderno_erros (aluno_id, questao_id, motivo, proxima_revisao, revisoes).
Simulado Cronometrado
O que faz: Monta simulados com questões do banco filtradas por disciplinas. Cronômetro regressivo, gabarito ao final.
Origem: Banco de questões (questoes) — seleção aleatória por disciplinas escolhidas.
Gera: respostas_aluno (alimenta Progresso e Ranking).
Sem IA no lado do aluno.
Flashcards
O que faz: Cartões de memorização com revisão espaçada. O aluno avalia cada card (Errei/Difícil/Ok/Fácil) e a próxima revisão é agendada.
Criação: Manual ou "Gerar com IA" (Gemini 2.5 Pro) a partir de um tema/disciplina.
Tabela: flashcards (aluno_id, frente, verso, proxima_revisao, facilidade).
Meu Progresso + Ranking
O que faz: Dashboard pessoal com acertos por disciplina, evolução semanal e tempo de estudo. Ranking mostra os alunos com mais acertos.
Origem: respostas_aluno (questões respondidas) + sessoes_estudo (ping de presença a cada 5min).
Sem IA. Cálculo 100% SQL.
Caixa dos Alunos (Notificações)
O que faz: Aluno envia solicitação (material, dúvida, sugestão) diretamente do painel.
Fluxo: Envio → IA gera resposta automática ao aluno (Gemini Flash) → email ao admin → notificação no painel admin.
Tabela: solicitacoes_aluno.
Badge admin mostra não lidas em tempo real.
Módulos operados pelo gestor para produção de conteúdo, análise e configuração da plataforma.
Alimentar Cérebro (Ingestão)
4 vias de entrada:
- Texto direto: Cola doutrina, súmulas, legislação — fatia semanticamente, gera tags, calcula embedding.
- PDF: Extração de texto via
pdf-parse, mesmo fluxo do texto. - YouTube: Extrai legendas via
ytInitialPlayerResponse(sem API key), fatia por trecho. - URL (Planalto): Scraper com seletores específicos para
planalto.gov.brvia axios+cheerio.
Gera: registros em vetores_conhecimento (id, disciplina, tema, conteudo_texto, embedding vector(768), palavras_chaves, tipo_conteudo).
IAs: gemini-2.5-flash (tags/JSON), gemini-embedding-001 (vetor 768 dims).
Alimenta: IA Jurídica, Mixagem, Norte Legal RAG, Dashboard de Lacunas.
Estúdio de Mixagem
O que faz: Gera materiais didáticos em HTML com base no acervo vetorial. Seleção por disciplina, tema, foco, cargo e formato de saída.
Fluxo: Parâmetros → busca híbrida (vetorial + filtro de tags) em vetores_conhecimento → monta prompt com contexto → Claude gera HTML.
IA: Claude Sonnet 4.6 (128K output para materiais longos).
Super Prompt: 5 protocolos jurídicos (proibições absolutas, formatação A4, integração de súmulas, hierarquia de fontes, validação de coerência).
Gera: materiais_gerados → aparece na Biblioteca do Aluno.
Fábrica de Editais
O que faz: Transforma edital bruto (colado) em guia sistematizado A4 + extrai árvore de tópicos para auditoria de cobertura.
Saída dupla: HTML visual A4 (salvo em editais_sistematizados) + JSON granular de tópicos (edital_topicos).
IAs: gemini-2.5-flash (extração JSON de tópicos), gemini-2.5-pro (sistematização visual).
Alimenta: Biblioteca do Aluno (acesso aos guias) + Dashboard de Lacunas (auditoria de cobertura).
Norte Legal (Produção)
O que faz: Gera diagramações jurídicas de alta performance para legislações completas.
RAG Cirúrgico: Antes de gerar, parseia a lei em TÍTULO/CAPÍTULO/SEÇÃO. Para cada seção, gera embedding e busca em paralelo:
① vetores_conhecimento (4 fragmentos de acervo)
② questoes (4 questões reais sobre aquela seção)
O Claude recebe: lei + insumos rotulados por seção → sabe exatamente quais artigos reforçar com jurisprudência e notes-box de prova.
IA: Claude Sonnet 4.6, output até 32K tokens, header beta output-128k.
Gera: norte_legal_materiais → aparece no Acervo Norte Legal do aluno.
Fábrica de Questões (Importação)
O que faz: Parser inteligente de questões brutas em lote. Cole qualquer formato (CEBRASPE, FCC, múltipla escolha, certo/errado).
Circuit-Breaker: Groq Llama 3.1 8B (gratuito) → DeepSeek (fallback) → Claude Haiku 4.5 (fallback 2) → Gemini Flash (fallback 3). Comuta automaticamente após 3 falhas consecutivas.
Gera: Registros em questoes com embedding automático (gemini-embedding-001).
Alimenta: Banco de Questões, Simulado, RAG do Norte Legal.
Radar de Notícias
O que faz: Varredura automática de fontes jurídicas a cada 15 min. Filtra notícias relevantes a concursos, publica no portal público (/radar).
Fontes: Configuradas em radar_fontes (admin), varridas via axios+cheerio.
IAs: gemini-2.5-flash (Espião — filtragem) + gemini-2.5-flash (Redator — reescrita jornalística).
Leads: Formulário no portal público captura interessados em radar_leads. E-mail de boas-vindas via nodemailer.
Tabelas: radar_logs, radar_config, radar_prompts, radar_fontes, radar_leads.
Dashboard de Lacunas
O que faz: Auditoria de cobertura: para cada disciplina de cada edital, mostra % coberto em 3 fontes independentes.
3 Barras de cobertura por disciplina:
🔵 Teoria (vetores_conhecimento)
🟣 Questões (questoes)
🟢 Norte Legal (norte_legal_materiais)
Cálculo: Para cada topico_pai do edital: verifica se existe conteúdo com ILIKE nos campos tema/palavras_chaves. % = tópicos cobertos / total.
Status: Crítico <40% / Atenção 40-70% / Bom 70-90% / Excelente >90%.
Dores dos Alunos
O que faz: Dashboard de inteligência pedagógica. Mostra quais temas e disciplinas os alunos mais pedem explicação — revela dificuldades reais da turma.
Origem: explicacoes_log — registrado automaticamente a cada pedido de explicação no banco de questões.
Alunos identificados: Quando o aluno está logado, o aluno_id é capturado via token — permitindo ver quais alunos específicos estão travando em quais temas.
Filtros: 7 dias / 30 dias / Todo período.
Uso estratégico: Priorizar conteúdo, abordagem individual, campanhas de reengajamento.
Dashboard de Evasão
O que faz: Identifica alunos em risco de abandono e métricas de engajamento geral.
Origem: sessoes_estudo (ping de presença a cada 5min) + respostas_aluno.
Critérios de risco: Sem acesso há 7+ dias, sem questões respondidas em 14+ dias.
Cockpit do Aluno (Configuração)
O que faz: Controla quais módulos aparecem no painel do aluno — toggle individual por ferramenta.
Persistência: Tabela cockpit_config no PostgreSQL — afeta todos os alunos imediatamente.
Aluno: Na carga do painel, busca GET /api/cockpit/config e oculta os itens de nav desativados via CSS display:none.
Conceitos Matadores (alerta ouro → HTML forense → PDF → aluno)
O que é: transforma cada alerta ouro ⭐ da aba Alertas Normativos (divergência legal real confirmada) num material forense curto no estilo "Decodifica Banca" do Auditor LEX: fonte primária literal, armadilha típica de banca, estratégia de prova. Publicável pros alunos com PDF bonito.
Pipeline:
- Admin revisa alertas e descobre um ouro. Marca com tag (
#improbidade,#equidade-honorarios…) e se quiser 🔒 Trava (muda status praprofessor_revisou, imune a auditorias futuras). - Clica 🗡️ Gerar Conceito. Dispara
ConceitoService.gerarDoAlerta(id): Claude Sonnet 4.6 recebe o promptconceito_matador_geracaocom os dois textos (novo + antigo) + descrição da auditoria, retorna HTML com h1, caixas de destaque (dicas-provas / armadilha / texto-lei), citação literal em blockquote, estratégia de resposta. - Rascunho fica na aba Conceitos Matadores. Admin edita título, tag, disciplina e HTML direto no editor.
- Clica Publicar →
PdfService.gerarPdfDoHtml()wrap com CSS CejurNorte + margens A4 e salva em/opt/cejuros-uploads/pdfs-gerados/conceitos/. Status virapublicado. - Aluno vê automaticamente no cockpit na seção Conceitos Matadores — filtrado por tag, com 2 botões (Ler online + PDF no viewer inline).
Tabelas: conceitos_matadores (id, alerta_id, tag_tema, titulo, disciplina, texto_html, pdf_path, status). alertas_conflito ganhou coluna tag_tema pra permitir agrupamento e pivot.
Routing AI: conceito_matador em ai_routing_config → Anthropic Sonnet 4.6, temperatura 0.35, max 8192. Prompt editável em Config Central → DNA (sim, compartilha a aba porque ambos usam Sonnet thinking).
Trava 🔒: se você travar um alerta (endpoint POST /admin/alertas-conflito/:id/travar-ouro), ele vira professor_revisou e fica marcado com prefixo 🔒 TRAVADO. A ideia é defender contra o flip-flop do Auditor LEX — algumas rodadas reclassificam ouros antigos como falso positivo; o travamento preserva o trabalho humano feito.
Flip-flop no histórico: o prefixo na descrição ([ressuscitado RN], [rebaixado RN]) serve de rastro pra auditoria reversa. Se um alerta oscilar, você consegue ver em quais rodadas foi ouro e em quais virou lixo.
Custo: ~R$ 0,15 por conceito gerado (Sonnet thinking ~5k tokens out) + gratuito na geração de PDF. Publicar 50 conceitos totais = ~R$ 8. Uma vez publicado, custo zero de replay pro aluno.
DNA Cumulativo das Bancas (Decodifica Banca)
O que faz: Acumula percepções sobre cada banca em recortes multi-dimensionais banca × cargo × disciplina. Cada nova questão inserida é analisada em background e gera observações forenses ancoradas em trechos literais. As observações são clusterizadas e consolidadas num perfil JSON que alimenta os prompts de produção (Mixagem, Norte Legal) e pode ser lido como laudo humano.
Pipeline em 4 estágios:
- Extração (por questão, background, DeepSeek Reasoner): cada questão gera 4-8 observações estruturadas nas categorias
estilo_comando,literalidade(1-5),bloom,armadilha(catálogo com 9 tipos),distrator(7 tipos),tematica,raciocinio. Features determinísticas (contagem de palavras, citação de artigo/súmula, verbo cobrado) são computadas por regex e entram como observações já aprovadas. - Persistência por slice: cada observação é salva em até 4 slices — geral da banca, banca+disciplina, banca+cargo, banca+cargo+disciplina. Cite-or-die: toda observação tem
ancora_textualobrigatória com trecho literal da questão. Embedding 768-dim fica guardado pra clustering. - Consolidação (por slice, Claude Sonnet 4.6 thinking): disparada manual ou automaticamente quando o slice acumula N novas observações. Agrupa por similaridade de cosseno ≥ 0.85 por categoria, aplica decay temporal por dimensão (estilo meia-vida 5 anos, temática 2, jurisprudência 1), e reescreve o perfil JSON usando apenas clusters com pelo menos N evidências convergentes. Versão anterior fica arquivada em
banca_perfil_versaopra rollback. - Tradução (sob demanda, Gemini Flash, cacheada): quando a Mixagem pede o DNA de um recorte,
montarDNA()empilha os 4 cortes (geral → específico) e traduz o JSON consolidado em 5-10 diretrizes operacionais imperativas ("use verbo X", "evite Y", "cite súmula Z") que entram no prompt final.
Laudo completo (humano): além do pipeline máquina, cada slice consolidado tem o botão Gerar Laudo que dispara o 5º prompt (dna_laudo_completo, Sonnet) e produz um relatório markdown de 8 seções no estilo Decodifica Banca — perfil do enunciado, alternativas, literalidade em tabela, Bloom, mapa de armadilhas com citações literais, temas, DNA sintético em quadro ASCII, e recomendações estratégicas. Abre em nova aba pronto pra imprimir/salvar em PDF.
Tabelas: banca_perfil_slice (1 linha por corte, perfil JSON + diretriz manual), banca_perfil_observacao (observações cruas com embedding e status pendente/aprovada/rejeitada/congelada), banca_perfil_versao (histórico), banca_diretrizes_cache (cache das traduções).
Configs editáveis: gatilhos (dna.observar_ao_inserir, dna.aprovacao_automatica), calibragem (dna.min_evidencias_para_generalizar, meia-vida de decay por categoria). Tudo em Configuração Central → DNA das Bancas.
Prompts editáveis (4): dna_extracao_observacoes, dna_consolidacao_slice, dna_traducao_diretrizes, dna_laudo_completo. O quarto é o Decodifica Banca original, preservado como relatório humano.
Controle na UI: /admin/config/dna-bancas — grid de slices filtrável, detalhe com 5 sub-abas (Perfil consolidado / Observações com aprovar-rejeitar-congelar / Diretriz Manual / Histórico de versões / Preview das diretrizes que entram na Mixagem), botões Consolidar agora, Congelar, Gerar Laudo, e Processar lote pra backfill de questões antigas.
Custo estimado (500 questões/mês): ~R$ 5 extração (DeepSeek Reasoner) + ~R$ 25 consolidação (Sonnet thinking) + centavos tradução = ~R$ 30-35/mês para o DNA rodando completo.
Manual detalhado de /admin/sistema/config: o que cada parâmetro faz, como mexer com segurança e quais entradas são decorativas (salvar não tem efeito). Complementa o DNA das Bancas (ver aba Motor Admin).
Como os Grafos e Nós funcionam hoje
O Grafo Jurídico é um índice estrutural que vive paralelo aos vetores:
grafo_nos— uma linha por entidade jurídica única (ex.: art. 100 CF/88, LC 80/1994, Súmula 473 STF). Cada nó tem tipo (lei,artigo,sumula,principio) e um identificador canônico.grafo_arestas— ligações entre dois nós com um tipo de relação (fundamenta,revoga,aplica,relaciona).grafo_vetor_no— quais vetores (chunks do acervo) mencionam cada nó.
Fluxo na ingestão: para cada chunk, o Gemini Flash recebe o prompt grafo_entidades_extracao e devolve JSON com nós e arestas. Tudo é salvo com ON CONFLICT DO UPDATE — reingerir o mesmo diploma legal apenas reforça ligações.
Fluxo no Concierge (GraphRAG): depois de encontrar os N vetores mais próximos da pergunta, o sistema puxa os nós ligados a esses vetores e seus vizinhos de grau 1 no grafo. Esse mapa vira o bloco [MAPA DE RELAÇÕES DO GRAFO] anexado ao prompt final — dá ao LLM a estrutura normativa em volta do tema.
Conteúdo antigo (pré-grafo): vetores ingeridos antes da mudança não têm grafo_vetor_no. Continuam sendo buscáveis por similaridade, mas não contribuem nem se beneficiam do mapa de relações. Para adotá-los retroativamente, existe o backfill em /api/backfill/....
Aba Concierge
concierge.max_vetores — number (atual: 6)
Quantos chunks do acervo o Concierge puxa por pergunta para formar o contexto. ↑ 8-12: respostas com mais base, gasta mais tokens. ↓ 3-5: rápido e barato, perde nuance. Recomendado 4-8; acima de 12 o Gemini Flash perde foco.
concierge.socratico_ativo — boolean (atual: true)
Se ligado, a resposta termina com uma pergunta reflexiva (tutor socrático). Se desligado, a resposta é direta.
Prompt concierge_socratico
Variáveis: {{contexto}}, {{grafo_ctx}}, {{nome_aluno}}, {{saudacao}}, {{chamada_pessoal}}, {{pergunta}}. Alterar a persona muda o tom de todas as respostas. Remover {{grafo_ctx}} faz ignorar o mapa de relações.
Aba Ebbinghaus (revisão espaçada)
dias = round(-S × dif × banca × tipo × growth^revisões × ln(retention)), limitado entre min_dias e max_dias
ebbinghaus.S_base (7) · retention_target (0.8) · growth_factor (1.6)
S_base = estabilidade inicial em dias. retention_target = probabilidade de lembrar aceita antes de revisar (↑ = mais rígido). growth_factor = crescimento da estabilidade a cada acerto (potência: revisão 2 vale S×1.6, revisão 3 vale S×1.6²).
ebbinghaus.max_dias (120) · min_dias (1)
Teto e piso do intervalo entre revisões.
ebbinghaus.dif_mods / banca_mods / tipo_mods — json
Multiplicadores de S por dificuldade (1-5), banca e tipo. Atenção: o JSON de banca_mods tem "FGV" duplicado — o segundo sobrescreve o primeiro, convém limpar.
Aba Ingestão
ingestao.chunk_size (2500)
Tamanho máximo de cada fatia em caracteres. ↑ 3500-4500: mais contexto, pode estourar tokens. ↓ 1500-2000: busca mais granular.
ingestao.chunking_contextual (true)
Se ligado, extrai contexto global (diploma, tipo, vigência) dos primeiros 6.000 chars e anexa a cada chunk antes de embeddar. Impacto grande na busca de legislação. Custo: 1 chamada extra por documento.
ingestao.dup_threshold (0.97) — DECORATIVO
Pipeline usa query-param em /admin/acervo/duplicatas. Mudar aqui não faz nada.
Prompt contexto_global_extracao
Variável {{trecho}}. Alterar o schema JSON quebra a extração. Se editar, preserve os campos diploma, tipo, numero, data_vigencia, revoga_ou_atualiza, escopo_resumido.
Aba Resgate (Dores × Micro-Material)
resgate.janela_dias (30) e resgate.min_pedidos (3) — DECORATIVOS
Endpoint /admin/dores/topicos-quentes usa query-params com defaults 3 e 30 hardcoded. Mudar na UI não tem efeito.
Prompt resgate_geracao
Variáveis: {{tema}}, {{disciplina}}, {{qtd_pedidos}}, {{qtd_alunos}}, {{questoes_ref}}, {{acervo_base}}. Dita formato, tempo de leitura, tom.
Aba Conflito (auditoria de contradições)
conflito.similarity_min (0.75) · conflito.top_n (5)
Agora ativos. O detector filtra candidatos pelo limiar de similaridade mínima e limita o universo ao top-N mais próximo — antes comparava sempre os 5 mais parecidos sem checar se eram do mesmo tema.
Trava de metadados (Auditor LEX)
A comparação só roda se os dois vetores tiverem a mesma disciplina. Se ambos declararem DIPLOMA no contexto_global, esse diploma também precisa bater (bloqueia "Art. 21 CPC vs Art. 21 LINDB"). Falsos positivos antigos podem ser arquivados em lote pelos botões em Alertas Normativos → Limpeza de falsos positivos (cross-disciplina e cross-diploma separados).
Prompt conflito_auditoria
Variáveis: {{id_novo}}, {{texto_novo}}, {{id_antigo}}, {{texto_antigo}}. Retorno JSON {conflito, tipo, descricao, gravidade}. Alertas caem em alertas_conflito. Se o prompt estiver vazio, a auditoria inteira é desligada.
Aba GraphRAG (grafo jurídico)
grafo.max_nos (6) · max_arestas (4)
Máximo de entidades e relações extraídas por chunk na ingestão. ↑ grafo mais denso, mais custo. ↓ só as principais.
grafo.traversal_limit (12)
Máximo de vizinhos retornados ao Concierge. Controla o tamanho do [MAPA DE RELAÇÕES].
grafo.traversal_hops (1) — DECORATIVO
Query em GrafoService.traversar é fixa em 1 hop. Mudar aqui é ignorado.
Prompt grafo_entidades_extracao
Variáveis: {{max_nos}}, {{max_arestas}}, {{trecho}}. Cuidado: o schema JSON dita tipos aceitos (lei|artigo|sumula|principio) e relações (fundamenta|revoga|aplica|relaciona). Tipos fora da lista "sujam" o grafo.
Aba DNA das Bancas
Pipeline completo descrito no card DNA Cumulativo das Bancas da aba Motor Admin. Aqui listo só os parâmetros e prompts editáveis.
Gatilhos
dna.observar_ao_inserir(true): cada questão inserida dispara extração em background.dna.aprovacao_automatica(false): se true, obs da IA nascem aprovadas (pula revisão humana).- Consolidação roda 1×/dia no cron
crons.dna_consolidacao_horario(default 02:00 BRT).
Calibragem
dna.min_evidencias_para_generalizar(5): piso de obs convergentes para virar traço do perfil.dna.decay_halflife_estilo_anos(5): meia-vida do peso das obs de estilo/verbo.dna.decay_halflife_tematica_anos(2): meia-vida para temática/armadilhas.dna.decay_halflife_jurisprudencia_anos(1): meia-vida para jurisprudência/enfoque (muda rápido).
Prompts (4)
dna_extracao_observacoes— roda 1× por questão (DeepSeek Reasoner). Edita categorias, armadilhas, níveis de literalidade, Bloom.dna_consolidacao_slice— roda na consolidação (Sonnet thinking). Edita o schema JSON de saída.dna_traducao_diretrizes— roda quando a Mixagem pede DNA (Gemini Flash, cacheado). Tom das diretrizes operacionais.dna_laudo_completo— roda no botão "Gerar Laudo" (Sonnet). É o Decodifica Banca preservado — 8 seções em markdown.
Configs decorativas — salvar NÃO tem efeito
Parâmetros que a UI permite editar mas que o código atual ignora. Estão na tabela porque foram planejados, mas nunca plugados. Quando precisar que algum deles funcione de verdade, é uma mudança pequena no serviço correspondente.
| Chave | Status atual |
|---|---|
| ingestao.dup_threshold | Pipeline usa query-param em /admin/acervo/duplicatas |
| resgate.janela_dias | Endpoint usa default 30 hardcoded |
| resgate.min_pedidos | Endpoint usa default 3 hardcoded |
| grafo.traversal_hops | GrafoService.traversar faz sempre 1 hop |
Cache & Rollback
Cache: qualquer valor salvo é guardado em memória no backend por alguns segundos. O PUT chama invalidarCache(chave) — o próximo uso já pega o valor novo. Efeito é imediato (≤1s).
Rollback: toda edição via UI sobrescreve a linha em system_config / prompts_sistema. Não há versionamento (exceto no DNA, que tem banca_perfil_versao). Para reverter um prompt geral, cole o texto original de volta. Os defaults do sistema estão no código fonte dos services no segundo argumento de cada getConfig(...).
Acesso restrito ao administrador principal.
Esta seção contém informações proprietárias de arquitetura e segurança.
Infraestrutura
Container: painel-frontend
Nginx:alpine — serve os HTMLs estáticos
Domínio: painel.chatcejur.online
Rede: typebot_default
Container: painel-backend
Node.js 20 / Express — porta 3002
Domínio: api-painel.chatcejur.online
Arquivo único: server.js (~6000 linhas)
Router separado: radar.js (montado em /radar)
Container: painel-db
ankane/pgvector:latest
PostgreSQL + pgvector extension
Database: grafo_conhecimento
Porta: 5432 (interna)
Modelos de IA — Mapeamento Completo
| Modelo | Provedor | Uso no CejurOS | Custo |
|---|---|---|---|
| gemini-embedding-001 | Embeddings de todos os vetores (768 dims). Ingestão + questões + RAG Norte Legal | $0 (free tier) | |
| gemini-2.5-flash | Tags/fatiamento na ingestão, parse JSON de editais e tópicos, explicação rápida de questões, Radar (espião + redator), auto-resposta a solicitações de alunos | Baixo | |
| gemini-2.5-pro | Geração intelectual: sistematização de editais, explicação longa de questões, análise de caderno, geração de flashcards | Alto | |
| claude-sonnet-4-6 | Anthropic | Estúdio de Mixagem e Norte Legal (output 32K+, header beta 128K). Correção de redações, análise avançada | Alto |
| claude-haiku-4-5-20251001 | Anthropic | Parser de questões (fallback 2 do circuit-breaker, após Groq e DeepSeek) | Baixo |
| Llama 3.1 8B (Groq) | Groq API | Parser primário de questões — gratuito, alta velocidade | $0 (free tier) |
| DeepSeek (API) | DeepSeek | Parser fallback 1 do circuit-breaker de questões | Mínimo |
Instâncias globais em memória (Node.js): modelEmb, iaFlash, iaIntelectual, iaBracalJSON — inicializadas uma vez, reutilizadas em todas as requisições (performance).
Banco de Dados — Tabelas Principais
Conteúdo & IA
vetores_conhecimento — embeddings, acervo teórico
questoes — 533 questões com embedding vector(768)
materiais_gerados — HTML da Mixagem
editais_sistematizados — guias A4 de editais
edital_topicos — árvore granular por cargo/disciplina
norte_legal_materiais — HTML de legislações
norte_legal_prompts — 3 fases editáveis do sistema prompt
Alunos & Engajamento
alunos — cadastro, email, CPF, ativo
sessoes_aluno — tokens de autenticação
sessoes_estudo — minutos por dia (ping 5min)
respostas_aluno — acerto/erro por questão
caderno_erros — revisão espaçada
flashcards — cartões por aluno
explicacoes_log — pedidos de explicação (BI)
solicitacoes_aluno — caixa de entrada do admin
Configuração & Controle
cockpit_config — visibilidade de módulos no painel
disciplinas, temas — taxonomia de conteúdo
areas_carreira, cargos_carreiras — DNA de concursos
banca_perfil_slice — perfil cumulativo das bancas (DNA por recorte)
formatos_saida — templates de geração
questoes_prompts — prompts editáveis de comentários
jobs — fila assíncrona de tarefas longas
Radar de Notícias
radar_logs — notícias publicadas
radar_config — parâmetros do Radar
radar_prompts — prompts do Espião e Redator
radar_fontes — URLs varridas a cada 15min
radar_leads — captação do portal público
FinOps — Estratégia de Custo
Operações de alto volume (zero custo):
- Embeddings: gemini-embedding-001 (free tier, uso intensivo)
- Parse de questões: Groq Llama 3.1 8B (gratuito, primário)
- Cache de explicações:
questoes.comentario— IA chamada apenas 1 vez por questão - Busca vetorial: SQL puro via pgvector (sem custo de IA)
Operações de alto valor (custo justificado):
- Norte Legal: Claude Sonnet (output longo, altíssima qualidade)
- Mixagem: Claude Sonnet (material didático premium)
- Explicação longa: Gemini Pro (professor especialista)
- Radar: Gemini Flash apenas (custo baixo, alto volume)
APIs Configuradas (docker-compose.yml)
Google (Gemini + Embeddings)
Variável: GEMINI_API_KEY
Serviço: Google AI Studio / Vertex AI
Anthropic (Claude)
Variável: ANTHROPIC_API_KEY
Modelos: Sonnet 4.6 + Haiku 4.5
Groq (Parser gratuito)
Variável: GROQ_API_KEY
Modelo: llama-3.1-8b-instant
DeepSeek (Fallback 1)
Variável: DEEPSEEK_API_KEY
Endpoint: api.deepseek.com
SMTP (Emails)
Conta: coach@cejurnorte.com.br
Provedor: Gmail SMTP:587
⚠️ Nunca compartilhe estas informações. Rotacione as chaves imediatamente se houver suspeita de vazamento.
Configuração Central do Sistema
Todos os prompts e parâmetros editáveis em produção — sem tocar no código
Fábrica de Questões
Cole questões brutas de qualquer fonte. A IA faz o parse via parser_questoes (configurável em Comando de IA). Quando Modo Local está ativo, roda no seu PC via Ollama; senão, vai pro provedor cloud configurado, com fallback automático Claude → Gemini se algo falhar.
Classificação do Lote
Status ao vivo
Aguardando batch.
Texto Bruto das Questões *
Banco de Questões
Saúde do banco, auditoria de qualidade e edição de questões.
Gerar comentários IA em lote
—
Questão —
—
Em branco: regera comentário padrão. Preenchido: a IA usa a instrução como diretriz extra.
Status / UTI
—
Simulados em que apareceu
Feature Flags
Liga/desliga módulos sem deploy. Toggle aqui propaga em até 30 segundos.
Carregando flags...
Auditoria
Quem fez o quê — log imutável de mudanças no painel.
Carregando log...
Nova Feature Flag
Prompts da IA — Banco de Questões
Edite os prompts usados pela IA ao explicar questões para o aluno. Use {{disciplina}}, {{tema}}, {{enunciado}}, {{gabarito}} como variáveis.
Prompts do Sistema
Prompts dos módulos transversais — Concierge, ingestão, conflitos, etc. Salvar invalida cache: a próxima chamada já usa o novo texto.
Carregando prompts do sistema...
Carregando prompts...
Conversão HTML → PDF
Mixagem, Norte Legal e Editais Sistematizados geram HTML. Aqui convertemos cada um em PDF com layout CejurNorte — cabeçalho, rodapé e paginação padrões. O aluno passa a ter dois botões (Online + PDF).
Como funciona
Geração automática: ao criar um novo material em Mixagem, Norte Legal ou Edital, o PDF é gerado em background logo após o HTML.
Backfill: para materiais antigos (anteriores a essa feature), clique em "Backfill" — processa sequencialmente até 500 materiais sem PDF por rodada. Puppeteer é caro de RAM, então vai um de cada vez (~5-15s por PDF).
Regeneração manual: POST /api/admin/pdf/<tipo>/<id>/gerar onde tipo é mixagem | norte-legal | edital. Útil se editou o HTML manualmente no banco.
Template: cabeçalho "CejurNorte Concursos" + título do material, rodapé com "chatcejur.online" e paginação. CSS injetado garante que .questao-box, .caixa-destaque e tabelas nunca quebram entre páginas.
DNA Cumulativo das Bancas
Perfil acumulado por recorte banca × cargo × disciplina. Extração por questão (DeepSeek Reasoner), consolidação por clustering (Sonnet thinking), diretrizes traduzidas pra Mixagem.
Novidades | Avisos
Publicações fixadas com estrela aparecem no feed do aluno.
Nova Notícia
Central de Comunicações
Hub unificado de mensagens em massa por canal (e-mail, WhatsApp, push). Em construção — integração será definida na próxima sprint.
Portal de Turmas
Visão pedagógica das turmas (alunos matriculados, progresso, materiais ativos). Em construção — distinta da Turmas comercial em Loja e Site.
📣 Notificações
Envie avisos segmentados por interesse. Cada aluno recebe apenas o que escolheu acompanhar.
Nova Notificação
Histórico de Envios
Nova Turma / CRONO
Importar Planilha de Aulas
Excel (.xlsx/.xls), CSV ou Google Sheets público
Cole o link de uma planilha Google publicada na web (Arquivo → Publicar na web → CSV).
Mapeamento de colunas
Associe as colunas da sua planilha aos campos do sistema.
Preview
Nova Aula
| ✓ | Nº | Data | Dia | Professor | Disciplina | Horário | Controle | Situação | Crono | Material | Status | Obs | Turmas | Ações |
|---|
| Nome | CPF | Papéis | Tags | Ações |
|---|
Catálogo de Tags
Aluno × Tags + Insights
Selecione um aluno acima.
Reservado pra fase comercial
Webhook · Pixel · Cliques · Últimas conversões — colunas já previstas no schema, integrações ativam quando o tracking for ligado.
Saúde do Banco
Métricas vitais, UTI das questões, fadiga e cobertura serão extraídas do Banco de Questões pleno. Em construção.
Gabarito Divergente
—Questões com taxa de erro > 70% sugerindo gabarito incorreto.
Classificação IA — Baixa Confiança
—Cargo / disciplina / natureza com score < 0.6.
Duplicatas (embedding)
—Pares de questões com similaridade vetorial > 0.95.
Erros sinalizados por alunos
—Comentários classificados como "erro de gabarito" pela moderação IA.
Auditoria viva — atualizada a cada visita à aba.
Edição de Questões
Browser, filtros e edição manual atualmente vivem dentro do Banco de Questões pleno. Em construção como tab dedicada.
Configurar Tiers de Comentários
Limiares semanais que definem permissão de comentar. Apenas pessoas matriculadas em curso/assinatura entram na fila.
Simulados Cronometrados
Curados com motor de regras, cartão imprimível e correção via foto (OMR).
Simulados criados
—Novo simulado curado
Motor de regras
Questões selecionadas
0 / —Nenhuma questão adicionada ainda.
Adicionar questões
Saúde do Acervo
Fragmentos totais, disciplinas, fragmentos curtos — métricas vivem no Gestor de Acervo pleno. Em construção como tab dedicada.
Pesquisa Integrada
Busca textual, semântica (vetorial) e detecção de duplicatas vivem no Gestor de Acervo pleno. Em construção como tab dedicada.
| Nome | CPF/Senha | Cidade | Status | Ações | |
|---|---|---|---|---|---|
| Carregando... | |||||
Novo Aluno
Produtos / Turmas
Cada produto tem seu próprio ticket e previsão de alunos. O custo operacional é compartilhado entre todos.
Nenhum produto adicionado.
Custo Operacional — pago uma vez pelo grupo
Taxas e Encargos (% sobre receita total)
Comissão: 5%
Resumo Financeiro
Receita por Produto
Adicione um produto para ver o resultado.
Custos
Cenários Salvos
| Data | Curso | Receita Total | Custo Total | Lucro Líquido | Lucratividade | Ações |
|---|---|---|---|---|---|---|
| Carregando... | ||||||
Parâmetros de Custo Base
Usados como padrão nos cálculos
Carregando configurações...
| Thumb | Título / Curso | Disciplina | Professor | Duração | Status | Ações |
|---|---|---|---|---|---|---|
| Carregando… | ||||||
Novo Vídeo
Tipo
Frame ou Script [Integração: YouTube, Livestream, sitehosting]
Cole o <iframe> completo — YouTube, Vimeo, Livestream ou qualquer embed.
Hora
Minuto
Segundo
| Título / Curso | Disciplina | Professor | Tamanho | Status | Ações |
|---|---|---|---|---|---|
| Carregando… | |||||
Novo Material PDF
Cole o link público do PDF (Google Drive, Dropbox, etc.)
Perguntas Pendentes
Vídeos com mais dúvidas
Responder Pergunta
Pergunta do aluno
Badges & Conquistas
Configure as conquistas que os alunos podem ganhar
Novo Badge
Gestor de Cupons
Crie cupons de desconto percentual ou fixo
| Código | Descrição | Desconto | Usos | Validade | Status | Ações |
|---|---|---|---|---|---|---|
| Carregando… | ||||||
Novo Cupom
Deixe vazio = ilimitado
Deixe vazio = sem validade
Raio-X de Desempenho
Pontos cegos por aluno — identifique quem precisa de ajuda e em quê
Classificador de Natureza Jurídica
Carregando…
| # | Aluno | Questões | Aproveitamento | Horas de Estudo | Lei | Doutrina | Juris | Último Acesso | Raio-X |
|---|---|---|---|---|---|---|---|---|---|
| Carregando… | |||||||||
Dashboard de Evasão
Alunos em Risco (7-30 dias sem acesso)
| Aluno | Questões | Último Acesso |
|---|---|---|
| Carregando… | ||
Alunos ativos por dia (últimos 30 dias)
Dores dos Alunos
Temas onde os alunos mais pedem explicação — identifique as dificuldades reais da turma
Temas com mais dificuldade
Disciplinas mais difíceis
Alunos com mais dificuldades — atenção individual
Pedidos de explicação por dia
Tópicos Quentes — Candidatos a Resgate
≥3 pedidos de explicação nos últimos 30 dias sem material de resgate gerado recentemente
Micro-Materiais de Resgate Gerados
CRM & Recuperação de Carrinho
Automações de WhatsApp para recuperar leads e carrinhos abandonados. Em desenvolvimento.
Em brevePrograma de Embaixadores
Indique e ganhe — comissões automáticas por indicação. Em desenvolvimento.
Em breveGestão de Assinaturas
Controle de recorrência, renovações automáticas e gestão de inadimplência. Em desenvolvimento.
Em breveControle de Permissões
Visibilidade de páginas e permissões por grupo de usuário
Simular Usuário
Alterne entre perfis para visualizar o painel como cada cargo veria.
Carregando cargos...
Carregando...
Páginas ocultas não aparecem no menu de nenhum usuário. O Admin Master sempre pode reativar aqui.
Novo Cargo
Módulos do Cockpit do Aluno
Ative ou desative ferramentas que aparecem no painel dos alunos (index.html)
Ferramentas visíveis para os alunos
O módulo Painel Inicial não pode ser desativado. Alterações são refletidas imediatamente para todos os alunos.
Alertas da Comunidade
Gerados automaticamente todo dia às 04h. Aparecem no feed dos alunos quando o toggle feed-alertas-comunidade está ligado.
Mapa Mental Pré-Aula
Gerado todo dia às 06h para as aulas com data = hoje. Toggle feed-mapa-aula controla a exibição.
Mensagens dos Professores
Texto + URL de vídeo opcional (YouTube, Vimeo). Toggle feed-conexao-humana controla a exibição.
Desafios Socráticos
O desafio mais recente ativo aparece no Painel Inicial. Tutor IA responde 1 vez por aluno por desafio (rate-limit duro). Toggle feed-desafio-socratico controla a exibição.
Caixa dos Alunos
Solicitações e mensagens enviadas pelos alunos — com resposta automática da IA
Creative Lab
Cole o texto do produto, escolha o formato e cores. A IA redige e rasteriza.
Texto do produto
Formato
Imagem de fundo
Cores do produto
Carrossel
Imagens selecionadas (uma por slide, na ordem). Clique no X pra remover.
Logo
Tipografia
Modelo de IA
Alterar aqui afeta o roteamento do Creative Lab. Gerencie todos no Centro de Comando de IA.
Edite e clique em Gerar pra usar só desta vez. "Salvar no atalho atual" persiste no banco. "Novo atalho" cria um preset reutilizável.
Mexa nos controles — o preview atualiza em tempo real. Clique em Gerar criativo pra IA redigir os textos.
Editar slide atual
Biblioteca de imagens de fundo
Reutilize fundos sem colar URL ou fazer upload toda vez.
URL externa é baixada e salva localmente — fica independente da fonte original.
Nenhuma imagem ainda. Clique em Adicionar pra começar.
Painel de Comissões
Apuração de vendas próprias e supervisão por competência e quinzena.
Importar Vendas do Mês
Suba o relatório de matrículas/vendas exportado do site (.csv ou .xlsx). As vendas são adicionadas ao histórico — nada é apagado. Se a mesma venda (contrato + produto + data) já existir, ela é atualizada.
| Colaborador | Vendas Próprias | Com. Própria | Vendas Equipe | Com. Supervisão | Total a Receber |
|---|
Turmas
Vendas de turmas e produtos do site no período.
| Contrato | Data | Aluno | Produto/Turma | Vendedor | Supervisor | Valor |
|---|
Mentoria
Planos ativos (com rateio do mentor) + vendas/renovações por período (com consultor).
| Aluno | Mentor | Carreira | Plano | Início | Fim | Situação | Valor | Cejur | Ações |
|---|
| Data Venda | Aluno | Plano | Forma | Valor | Início Plano | Consultor * | Data Venda * | Ações |
|---|
Cabines
Cabines como espaços físicos — Integrais (1 turno) ou Parciais (Manhã / Tarde / Noite).
| Cab/Turno | Modal. | Cabineiro | Plano (d) | Início | Fim | Forma | Parcelas | Valor | Consultor * | Data Venda * | Ações |
|---|
* Inline. abre modal completo (cabineiro, datas, valor, contato, observação).
Comissões Mentoria/Cabine
Lançamentos do consultor que fechou a venda — % aplicado por plano × forma de pagamento.
| Consultor | Lançamentos | Total Vendido | Total Comissão |
|---|
| Data | Consultor | Tipo | Aluno | Plano | Mentor | Valor | % | Comissão | Ações |
|---|