https://github.com/regyssilveira/RadIA-Plugin
Se você desenvolve em Delphi e acompanha a jornada do RadIA — o assistente de Inteligência Artificial de código aberto acoplado diretamente à barra lateral da IDE —, prepare-se para o maior salto de produtividade e refinamento de arquitetura que já entregamos.
Nas últimas versões (da v0.0.13 à v0.0.15), o RadIA deixou de ser apenas um integrador de chat para se consolidar como uma ferramenta de automação de código de ponta e um motor flexível de inteligência coletiva.
Neste artigo, vou guiar você pela nossa mais recente trilha de evolução tecnológica: desde a geração de projetos compiláveis em segundos até o sofisticado gerenciamento de prompts em duas camadas da nova versão v0.0.15.
O Sonho do Bootstrap Instantâneo: Geração de Projetos Inteiros via IA
Até a versão v0.0.12, o RadIA interagia essencialmente com o código aberto no seu editor ativo. A partir da v0.0.13, introduzimos a funcionalidade de Geração de Projeto Completo (Prompt-Based) através do comando /createproject.
- Como Funciona: Você descreve a aplicação desejada no chat (ex: “Crie um sistema de cadastro de clientes com validação de CPF e cálculo de descontos”). A IA processa a solicitação e gera todos os arquivos físicos necessários: o arquivo do projeto (.dpr), as units de código (.pas) e os formulários VCL correspondentes (.dfm).
- Integração Transacional Própria: O RadIA valida o layout, cria a estrutura de pastas no disco e, em seguida, carrega o projeto automaticamente no Delphi. Tudo é transacional: se ocorrer qualquer erro de gravação na rede ou permissões de pasta, o RadIA realiza um rollback automático para manter seu disco limpo.
- Foco em Arquitetura Limpa (/createprojectarch): Na versão v0.0.14, refinamos esse conceito com o template de Arquitetura Limpa. O assistente cria o projeto aplicando estritamente os princípios do SOLID, isolamento de regras de negócios em classes de domínio puras, injeção de dependências via interfaces (IInterface), tratamento automático contra memory leaks com guardas try..finally e convenções estritas do guia de nomenclatura Pascal.
Prompts e Slash Commands Dinâmicos
Anteriormente, os comandos de barra do chat (como /explain ou /bugs) estavam rigidamente codificados na lógica interna do plugin. Para dar liberdade absoluta ao desenvolvedor, redesenhamos o motor de templates na v0.0.14.
- Adeus ao Hardcode: Agora, qualquer prompt registrado nas opções do plugin vira automaticamente um comando de barra no chat.
- Placeholder Parser: Criamos um interpretador dinâmico de marcadores em Pascal. Os templates podem conter placeholders inteligentes como {code} (código selecionado na IDE), {specification} (sua instrução de chat), {stacktrace} (erros do compilador) ou argumentos genéricos de digitação.
- Menu Popup de Sugestões: Ao digitar / na caixa de entrada do chat, um menu flutuante em HTML5/JS moderno é renderizado na WebView2, exibindo autocomplete interativo navegável via teclado (setas para cima/para baixo, Enter e Esc) ou cliques do mouse.
Portabilidade: Importação e Exportação de Conhecimento
Prompts refinados são ativos de propriedade intelectual. Para permitir que equipes compartilhem suas melhores instruções de IA ou façam backups de segurança de seus fluxos de trabalho, adicionamos suporte à portabilidade de templates na UI VCL.
- Validação Transacional de Esquemas: O diálogo de importação valida a estrutura JSON do arquivo importado e impede a injeção de formatos corrompidos ou maliciosos.
- Controle de Sobrescrita (Merge vs. Overwrite): Ao importar, a tela exibe uma caixa de diálogo perguntando se você deseja Mesclar os novos templates (preservando suas edições locais) ou Sobrescrever completamente a base atual.
O Desafio das Duas Camadas: Sistema vs. Usuário
Ao permitir a edição de templates na tela de opções, a comunidade esbarrou em um clássico problema de arquitetura de software: como atualizar o plugin e disponibilizar prompts padrões melhores sem sobrescrever ou apagar as customizações feitas pelos usuários em disco?
A resposta veio com a arquitetura de Templates em Duas Camadas da versão v0.0.15:
- Camada de Sistema (Nativa/Read-Only): Os prompts de fábrica do RadIA ficam embutidos e compilados de forma segura dentro da própria BPL/DLL do executável. Eles servem de fallback incondicional.
- Camada do Usuário (Overlay de Disco): Quando o usuário edita um prompt padrão de fábrica nas configurações, o RadIA cria um arquivo templates.json na pasta de AppData do usuário contendo apenas aquela modificação específica (o Overlay).
Overlays em Tempo de Execução e Restauração de Fábrica
Em tempo de execução, o RadIA mescla as duas camadas de forma inteligente. Se você alterou o prompt de review de código padrão, a sua versão modificada substitui a de fábrica (Overlay Ativo). Se você decidir que a alteração não ficou boa, o botão de exclusão muda automaticamente de “Delete” para “Restore Default”, permitindo remover a customização local do disco e restaurar a versão de fábrica instantes depois.
Auto-Migration de Templates e Higienização de Legados
Para acompanhar as inovações, na v0.0.15 adicionamos regras rígidas aos prompts de criação de projetos padrões, instruindo a IA a declarar incondicionalmente todas as cláusulas uses necessárias (como System.Generics.Collections para tipos genéricos e Vcl.Controls/StdCtrls para VCL) e a nunca utilizar coleções brutas não tipadas (como TList sem genéricos).
Para propagar essas novas regras aos usuários que já tinham templates antigos em disco gravados por versões anteriores do plugin, desenvolvemos o método de migração automática CleanRedundantUserTemplates:
- Na inicialização, o RadIA varre o arquivo JSON local. Se detectar templates com os nomes padrões (Create Project Delphi ou Create Project Delphi Architecture) que não possuam as novas palavras-chave de segurança uses e Generics, ele os descarta automaticamente do disco.
- Ao fazer isso, o RadIA força um upgrade silencioso e transparente, aplicando as novas instruções de fábrica sem que o desenvolvedor precise apagar ou reconfigurar nada manualmente.
Qualidade de Código Assegurada: 117 Testes Verdes
Como Arquiteto de Software, prezo imensamente pela confiabilidade. Toda essa lógica complexa de mesclagem de templates, migração automática de dados legados, importação/exportação de JSON e persistência segura no registro é coberta por testes automatizados.
Nossa suíte de testes de unidade baseada no DUnitX foi expandida e homologou a aprovação de 117 testes unitários verdes rodando a cada build de release. Isso garante que cada nova entrega seja segura para uso em grandes times corporativos.
Conclusão e Download
O RadIA v0.0.15 representa o auge do design de extensões Delphi, combinando a robustez do Object Pascal à flexibilidade moderna das IAs de mercado.
O projeto é mantido sob licença de código aberto (open-source) e você pode baixá-lo, testá-lo ou contribuir diretamente acessando o nosso repositório no GitHub.
Gostou das novidades da v0.0.15? Deixe seu comentário contando como o RadIA tem acelerado o seu dia a dia no Delphi e compartilhe com sua equipe!
Descubra mais sobre Régys Borges da Silveira
Assine para receber nossas notícias mais recentes por e-mail.
Bom dia, para fazer isto, precisa de Tokens, ou tudo free?
Bom dia, o plugin usa seu agent ou plano, e também local se vc instalar Ollama ou LM Studio, você configura como achar melhor, hoje praticamente todos os mais utilizados são suportados, inclusive via web login, no caso do gpt e gemini, o plugin media com sua IA e retorna totalmente integrado ao Editor do Delphi, no readme do projeto coloquei tudo sobre ele, funcionamento, features, o que está por vir, etc.