🚀 GBR: AI Gleam (Agente Especialista Unificado) | Governança
🚀 GBR: AI Gleam (Agente Especialista Unificado)
Bem-vindo ao **gbr_ai_gleam**! Esta é a aplicação principal e ponto de entrada (main) do Agente Especialista em Gleam do monorepo *gleam-lang-br* (conhecido na CLI como gbr_gleam_ai).
🎯 Motivo de Existir
O desenvolvimento moderno de software com agentes de IA exige alta responsabilidade de concorrência, recuperação de contexto em tempo real (RAG) e orquestração de processos complexos. O gbr_ai_gleam foi criado para *centralizar e unificar* todas essas ferramentas sob o ecossistema BEAM/OTP.
Em vez da IDE precisar gerenciar e conversar com múltiplos servidores MCP (Model Context Protocol) separados, o gbr_ai_gleam atua como um *Proxy MCP Unificado e Orquestrador*. Ele inicia e se comunica com os sub-servidores MCP especializados como subprocessos controlados (Erlang Ports), expondo uma única interface e agregando todas as ferramentas disponíveis no monorepo para uso da IDE ou do desenvolvedor de forma interativa.
🏗️ Como Funciona (Arquitetura & Fiação)
O gbr_ai_gleam é construído sobre o ecossistema resiliente do BEAM e a robustez dos atores de gleam_otp:
-
**Proxy Unificado Headless (
--mcp-server)*: - Inicializa 4 sub-servidores MCP locais como subprocessos (via Erlang Ports): - ⚙️ *gbr-bpm** (apps/gbrmcpbpm) - 🔍 **gbr-semantic** (apps/gbrmcpsemantic) - 🛠️ **GleamErlArchitect** (aponta para o novo **gbr_mcp_gleam** em Gleam puro) - 🧠 **GleamLspBrain** (aponta para o novo **gbr_mcp_lsp_gleam** em Gleam puro) - Realiza o handshake síncrono inicial com cada um para consultar suas ferramentas. - Traduz dinamicamente os esquemas de entrada/saída de cada ferramenta. - Expõe uma única interface MCP stdio para a IDE e encaminha de forma transparente as chamadas de ferramentas aos subprocessos corretos. -
*Modo REPL Interativo (TUI)*: - Inicializa o motor de visualização TUI (
ui). - Carrega perfis de ambiente seguros utilizandoenvoyecowl. - Inicializa o *Orquestrador Central* (orchestrator). - Carrega e gerencia o histórico de sessões persistido no banco de dados local *Mnesia* sobpriv/mnesia. - Cria o *LLM Streamer* (llm_streamer) adaptado síncronamente via subjects e configurado para se conectar à API do Gemini (gemini-2.5-propor padrão) ou do Groq via HTTPS (httpc_gun).
💻 Como Utilizar
Certifique-se de estar na raiz do diretório apps/gbr_ai_gleam para executar os comandos abaixo.
🔌 1. Modo Headless (MCP Server Proxy para IDEs) Para utilizar este projeto como um servidor MCP unificado na sua IDE (como VS Code, Cursor ou Windsurf):
gleam run -- --mcp-server
*(O duplo hífen -- instrui o Gleam a repassar a flag --mcp-server para o binário da aplicação).*
💬 2. Modo Interativo (REPL/TUI no Terminal) Para interagir diretamente com o agente no terminal usando a interface TUI integrada:
gleam run
⚙️ 3. Seleção de Perfis
Você pode especificar qual perfil de ambiente definido em .gbr_envs deve ser carregado (por padrão, usa o perfil default):
gleam run -- --profile meu_perfil_personalizado
🧪 Rodando Testes e Validações
Para rodar a suíte de testes de integração do projeto:
gleam test
E para verificar a sintaxe e tipagem sem gerar os binários finais:
gleam build
🏗️ Arquitetura de Atores
Para compreender a topologia de concorrência baseada em portas (Erlang Ports) que conectam os servidores MCP, bem como os proxies de streaming e a fiação de sujeitos (Subjects) OTP, consulte o documento de arquitetura: - ARCH.md 🏗️