Gleam.br Wiki

🚀 GBR: AI Gleam (Agente Especialista Unificado) | Governança

Especificação técnica e manual do componente gbr_ai_gleam.

🚀 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:

  1. **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.

  2. *Modo REPL Interativo (TUI)*: - Inicializa o motor de visualização TUI (ui). - Carrega perfis de ambiente seguros utilizando envoy e cowl. - Inicializa o *Orquestrador Central* (orchestrator). - Carrega e gerencia o histórico de sessões persistido no banco de dados local *Mnesia* sob priv/mnesia. - Cria o *LLM Streamer* (llm_streamer) adaptado síncronamente via subjects e configurado para se conectar à API do Gemini (gemini-2.5-pro por 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 🏗️