https://github.com/regyssilveira/RadIA-Plugin
Se você acompanha o desenvolvimento do RadIA — o assistente de inteligência artificial open-source integrado diretamente à IDE do Delphi — sabe que o nosso objetivo é transformar a experiência de desenvolvimento Object Pascal. Desde o nosso último post, a base de código do RadIA passou por uma evolução fantástica.
Neste artigo, vou detalhar as principais novidades implementadas nas versões mais recentes, trazendo recursos avançados de conectividade corporativa, suporte a múltiplos ambientes, maior controle de prompts e novos provedores.
1. Conexão Híbrida e a Economia do Web Login
Uma das características mais fortes do RadIA é a flexibilidade de conexão. Além de permitir que você traga sua própria chave de API (BYOK – Bring Your Own Key) para consumo por tokens, o RadIA consolidou seu recurso de Web Login.
- Como Funciona: Com o Web Login, você se conecta diretamente às suas contas pessoais/corporativas de consumo do ChatGPT Plus/Pro e Gemini Advanced através de uma tela de login oficial integrada no WebView2.
- Economia Real: Isso significa que você pode interagir com o assistente na IDE de forma ilimitada, usando a assinatura web que você já paga, sem gastar um único centavo com créditos de API.
- Inteligência em Segundo Plano: O segredo dessa conexão híbrida está na nossa ponte JS-Delphi. Ao enviar um prompt, o RadIA injeta o texto no DOM do chat oficial, clica no botão de envio, monitora dinamicamente a resposta gerada e transmite o stream token-a-token de volta para o editor de código da IDE. Nas versões recentes, aprimoramos o evento de sincronização
login_complete, garantindo que o chat seja liberado automaticamente assim que o WebView2 conclui a autenticação oficial do provedor.
2. System Prompt Otimizado Padrão
Para quem está iniciando o uso do RadIA, a configuração padrão do assistente agora está muito mais refinada e inteligente.
- Respostas mais Objetivas: Injetamos um System Prompt padrão estruturado de fallback que instrui a IA a responder sempre no mesmo idioma do desenvolvedor e a focar apenas em trechos específicos e limpos de código Pascal. Isso evita aquelas respostas extremamente longas que trazem uma unit inteira da IDE quando você solicitou apenas a correção de um método.
- Respeito às suas Configurações: Esse comportamento funciona apenas como valor padrão na inicialização do assistente (default). O RadIA respeita estritamente as configurações que você já personalizou e gravou no Registro do Windows, garantindo que seu prompt personalizado nunca seja substituído ou alterado de forma oculta.
3. Conexão Nativa com GitHub Copilot
Anteriormente, para rodar o Copilot, era necessário configurar um proxy local (OpenAI-compatible) para intermediar as chamadas. Agora isso é coisa do passado!
O RadIA conta com suporte oficial e nativo ao GitHub Copilot remoto na nuvem.
- Autenticação Descomplicada (Device Flow): Adicionamos o fluxo de autenticação por código PIN. Ao tentar conectar nas opções do plugin, o RadIA gera um PIN de dispositivo, abre a página oficial de ativação do GitHub no seu navegador padrão e conclui o vínculo de forma nativa e segura.
- Importação em Um Clique: Se você já usa o VS Code com o Copilot ativo na mesma máquina, o RadIA pode ler o arquivo de credenciais (
hosts.json) e importar as chaves em apenas um clique. - Gerenciamento de Sessão: O plugin gerencia o ciclo de vida dos tokens em background de forma totalmente assíncrona, renovando as sessões temporárias automaticamente junto às APIs do GitHub.
4. AWS Bedrock e o Desafio da Criptografia SigV4
Para ambientes corporativos que demandam privacidade extrema de dados e usam a infraestrutura da Amazon, integramos o suporte nativo ao AWS Bedrock.
Essa integração trouxe dois grandes desafios de arquitetura resolvidos inteiramente em Pascal Puro:
- Assinatura AWS Signature Version 4 (SigV4): A AWS exige que toda requisição de API seja assinada criptograficamente usando chaves públicas/privadas em um formato de cabeçalho complexo e baseado em hashes HMAC-SHA256 ordenados por data e escopo. Desenvolvemos o utilitário
TAwsSigV4Signerpara realizar esse cálculo de forma transparente. - Parser EventStream Binário: As respostas em streaming do AWS Bedrock não usam texto SSE simples, mas sim um formato binário proprietário chamado EventStream. Desenvolvemos o
TAwsEventStreamParserpara extrair incrementalmente os caracteres das respostas em tempo real à medida que os bytes chegam da rede, sem congelar a tela da IDE.
Agora você pode rodar os modelos da família Claude (Anthropic), Llama (Meta) e Titan (Amazon) rodando na sua própria nuvem AWS.
5. Instalador Multi-IDE Inteligente
Para quem mantém mais de uma versão do Delphi instalada no Windows (como Sydney, Alexandria, Athens e o recém-lançado Florence), o processo de compilação e registro do plugin ficou muito mais simples.
Nosso script PowerShell de build (build.ps1) foi redesenhado:
- Autodetecção do Registro: Ele varre automaticamente as subchaves do Delphi no registro do Windows (
Software\Embarcadero\BDS). - Console Interativo: Se detectar mais de uma IDE instalada, o terminal exibe um menu enumerado interativo para você escolher em qual versão deseja compilar e registrar o plugin.
- Ajustes de Codificação: Ajustamos o terminal para evitar erros de renderização e caracteres corrompidos nas mensagens de compilação em diferentes localizações do Windows.
6. Novos Provedores de IA Integrados (BYOK) (v0.0.8 e v0.0.11)
Ampliamos drasticamente o ecossistema de provedores suportados no plugin de forma nativa, trazendo abas dedicadas em Tools -> Options e links diretos para facilitar a obtenção de chaves:
- LM Studio (Local): Suporte nativo para rodar modelos locais no LM Studio de forma offline. O painel se adapta e o provedor só aparece na lista do chat se a porta padrão estiver ativa em segundo plano, evitando poluir sua interface.
- Azure OpenAI: Suporte robusto para instâncias privadas corporativas do Azure, permitindo customizar a versão da API do Azure e mantendo as credenciais salvas com segurança no Windows via DPAPI.
- Alibaba Qwen (ModelStudio): Acesso nativo aos poderosos modelos Qwen 2.5 Coder, excelentes para tarefas de programação e desenvolvimento.
- Mistral AI: Integração com as APIs oficiais do ecossistema Mistral.
- Ordenação Inteligente: Os provedores locais como Ollama e LM Studio agora ficam sempre organizados ao final da listagem do combobox do chat, deixando a lista limpa e legível.
7. Estabilidade Interna e Suite de Testes
Toda essa evolução foi sustentada por melhorias profundas de arquitetura:
- Adeus aos Enums Estáticos (v0.0.5): Removemos acoplamentos herdados. Agora o plugin utiliza strings dinâmicas no registro e na troca de provedores de IA, permitindo criar novos provedores ou modelos sem necessidade de alterar as estruturas centrais de dados.
- Prevenção de vazamentos (v0.0.3): O ciclo de vida das configurações do RadIA (
TRadIAConfig) foi refatorado para evitar Access Violations e memory leaks ao descarregar a BPL na finalização da IDE. - Robustez: Nossa suite de testes unitários automatizados foi expandida usando DUnitX, alcançando a marca de 112 testes automatizados validados com sucesso a cada build.
Como Testar ou Contribuir?
O RadIA é um projeto livre e comunitário. Se você quer experimentar o assistente ou contribuir com o código, acesse o nosso repositório oficial no GitHub! Toda ajuda para evolução do ecossistema Delphi com IA é extremamente bem-vinda.
Gostou das novidades? Deixe seu comentário e compartilhe no seu time de desenvolvimento Delphi!
Descubra mais sobre Régys Borges da Silveira
Assine para receber nossas notícias mais recentes por e-mail.
Dê-nos sua opinião, seu comentário ajuda o site a crescer e melhorar a qualidade dos artigos.