CLARA

Consultora de Legislação e Apoio a Rotinas Administrativas

Assistente Virtual de Inteligência Artificial para Administração Pública

Documentação atualizada em 25 de janeiro de 2026

🤖 Para ferramentas de IA: Esta página foi criada especificamente para permitir que LLMs (ChatGPT, Gemini, Claude, Manus, etc.) possam ler e entender o projeto. Para um formato ainda mais estruturado, acesse /llm.txt.

📋 O que é CLARA?

CLARA é uma assistente virtual de IA especializada em orientações sobre legislação e procedimentos administrativos para servidores públicos.

Propósito

Fornecer orientações passo a passo sobre:

  • SEI - Sistema Eletrônico de Informações (versões SEI!Rio e SEI 4.0)
  • Legislação administrativa - Normas e regulamentos aplicáveis
  • Procedimentos administrativos - Rotinas e processos em geral

Público-alvo

Servidores públicos e profissionais da administração pública que necessitam de orientações sobre rotinas administrativas.

Diferencial

A CLARA cita fontes documentais oficiais em suas respostas, permitindo que o usuário verifique as informações diretamente nos documentos originais.

Funcionalidades Principais

  • Chat com IA em tempo real - Respostas via streaming SSE (Server-Sent Events)
  • Busca semântica - Encontra informações relevantes usando embeddings vetoriais
  • Citação de fontes - Referencia documentos oficiais nas respostas
  • RAG (Retrieval Augmented Generation) - Combina busca na base de conhecimento com geração de IA
  • Login opcional via Google - Autenticação OAuth 2.0
  • Interface responsiva - Funciona em desktop e dispositivos móveis
  • Atalhos de teclado - Ctrl+N (nova conversa), / (focar busca)

🛠️ Stack Tecnológica

Frontend

  • React 18.3.1
  • TypeScript
  • Vite (build tool)
  • Tailwind CSS
  • shadcn/ui (componentes)
  • Framer Motion (animações)
  • TanStack Query (estado)

Backend (Supabase)

  • PostgreSQL
  • pgvector (embeddings)
  • Edge Functions (Deno)
  • Storage (documentos)
  • Auth (OAuth 2.0)

Inteligência Artificial

  • gemini-2.0-flash (chat)
  • text-embedding-004 (embeddings)
  • 768 dimensões vetoriais
  • API Gemini (direta)

🏗️ Arquitetura do Sistema

┌─────────────────────────────────────────────────────────────┐
│                    FRONTEND (React SPA)                      │
│  ┌─────────────────┐  ┌─────────────────┐  ┌──────────────┐ │
│  │  Landing Page   │  │  Login Google   │  │ Painel Admin │ │
│  │  + Chat Panel   │  │    OAuth 2.0    │  │  (Restrito)  │ │
│  └────────┬────────┘  └────────┬────────┘  └──────┬───────┘ │
└───────────┼────────────────────┼──────────────────┼─────────┘
            │                    │                  │
            ▼                    ▼                  ▼
┌─────────────────────────────────────────────────────────────┐
│                    SUPABASE (Backend)                        │
│  ┌─────────────────┐  ┌─────────────────┐  ┌──────────────┐ │
│  │   PostgreSQL    │  │ Edge Functions  │  │   Storage    │ │
│  │   + pgvector    │  │  (clara-chat)   │  │ (Documentos) │ │
│  └────────┬────────┘  └────────┬────────┘  └──────────────┘ │
│           │                    │                             │
│           └────────────────────┼─────────────────────────────│
└────────────────────────────────┼─────────────────────────────┘
                                 │
                                 ▼
┌─────────────────────────────────────────────────────────────┐
│                  GOOGLE GEMINI API (Direct)                  │
│  ┌─────────────────────────────────────────────────────────┐│
│  │      gemini-2.0-flash     │  Streaming SSE  │  Rate Limit││
│  └─────────────────────────────────────────────────────────┘│
└─────────────────────────────────────────────────────────────┘

Fluxo de uma Consulta

  1. Usuário envia pergunta no chat
  2. Frontend envia request para Edge Function clara-chat
  3. Edge Function gera embedding da pergunta via text-embedding-004
  4. Busca semântica no PostgreSQL/pgvector encontra chunks relevantes
  5. Contexto + pergunta são enviados ao gemini-2.0-flash
  6. Resposta é transmitida via SSE (streaming) ao frontend
  7. Frontend renderiza resposta em tempo real com citações de fontes

🔒 Segurança Implementada

15+ políticas RLS
OAuth 2.0 via Google
Rate limiting (15 req/min)
Conformidade LGPD
Dados criptografados
HTTPS obrigatório

Tabelas Protegidas por RLS

  • profiles - Dados do usuário (SELECT/INSERT/UPDATE restritos ao owner)
  • chat_sessions - Histórico de conversas (CRUD restrito ao owner)
  • user_roles - Permissões (apenas leitura própria)
  • rate_limits - Controle de requisições (apenas service role)
  • documents - Base de conhecimento (leitura pública, escrita admin)
  • document_chunks - Chunks vetorizados (leitura pública)

🔗 URLs e Recursos do Projeto

Contato

Email: wilsonmp2@gmail.com

⚙️ Edge Functions Disponíveis

  • clara-chat - Endpoint principal de chat com IA (POST)
  • search - Busca semântica na base de conhecimento (POST)
  • documents - CRUD de documentos (GET/POST/DELETE)
  • admin-auth - Autenticação do painel administrativo
  • admin-upload - Upload de documentos para a base de conhecimento

🗄️ Schema do Banco de Dados

profiles

  • id (UUID, PK)
  • email
  • display_name
  • avatar_url
  • created_at
  • last_seen_at

documents

  • id (UUID, PK)
  • title
  • category
  • content_text
  • file_path
  • created_at / updated_at

document_chunks

  • id (UUID, PK)
  • document_id (FK)
  • chunk_index
  • content
  • embedding (vector 768)
  • metadata (JSONB)

chat_sessions

  • id (UUID, PK)
  • user_id (FK profiles)
  • title
  • messages (JSONB)
  • created_at / updated_at

Desenvolvido por Wilson M. Peixoto - SECRETARIA MUNICIPAL DE EDUCAÇÃO - SME/RJ

Inovação para a Gestão Pública

📞 (21) 99497-4132 • 📧 wilsonmp2@gmail.com🔗 LinkedIn