Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Catalog · How the catalog works

Random project

otaidelphi

View on GitHub

Anyone may press Interesting, signed in or not. It helps others find this project.

Member rating

No ratings yet.

Sign in to rate this project.

README

🤖 Conect IA Architect

Plugin para RAD Studio / Delphi que integra IA local (via Ollama) diretamente ao IDE, permitindo geração de código Pascal, CRUD completo e projetos inteiros por linguagem natural — sem enviar dados para a nuvem.


📸 Visão Geral

O Conect IA Architect é um pacote OTA (Open Tools API) que adiciona um painel de chat com IA ao RAD Studio. A IA roda 100% localmente usando o Ollama, garantindo privacidade total do código-fonte.

pascal
RAD Studio IDE
     ???
     ????????? Menu "Connect" ??? "Conect IA Chat"
     ???        ???
     ???        ????????? Painel WebView2 (interface HTML/JS)
     ???                  ???
     ???                  ????????? Chat livre (gera????o de c??digo Pascal)
     ???                  ????????? Gerador de CRUD (a partir de banco de dados)
     ???                  ????????? Criador de Projetos completos
     ???
     ????????? OTA (Open Tools API)
              ????????? Injeta c??digo gerado no editor
              ????????? Cria units (.pas) e forms (.dfm)
              ????????? Cria projetos (.dpr + .dproj)

✨ Funcionalidades

Funcionalidade Descrição
💬 Chat IA Conversa com modelos Ollama para gerar código Delphi/Pascal puro
🏗️ Criar Projeto Gera um projeto VCL completo com múltiplas units a partir de uma descrição
🗄️ Gerar CRUD Conecta ao banco de dados, lista tabelas e gera CRUD completo via IA
⚡ Injetar Código Insere o código gerado diretamente no editor ativo do IDE
📋 Templates Suporte a templates customizáveis para padronizar a geração de código
🔌 Multi-modelo Seleciona o modelo Ollama desejado (ex: qwen2.5-coder:3b, codellama, etc.)
🖥️ Status Ollama Monitoramento em tempo real do log do Ollama diretamente no painel

🧱 Arquitetura

Pacote Delphi (OTA)

Arquivo Responsabilidade
UConectOTARegister.pas Registra o wizard e notifier no IDE; adiciona menu "Connect → Conect IA Chat"
UConectIAChatForm.pas Form dockável com TEdgeBrowser (WebView2); gerencia toda a comunicação entre frontend e OTA
UConectOTACreators.pas Implementa IOTACreator para criação de units, forms e projetos via OTA
OtaIAdelphi.dpk Pacote de design-time que registra o plugin no RAD Studio

Frontend (HTML/JS)

Arquivo Responsabilidade
index.html Interface do chat (carregada dentro do WebView2 via NavigateToString)
templates/ Templates JSON para geração de código padronizado

Comunicação IDE ↔ Frontend

A comunicação é feita via WebView2 Web Messages (JSON):

json
// Frontend ??? IDE (exemplos de a????es)
{ "action": "requisicao_ollama", "modo": "chat", "prompt": "...", "msgId": "..." }
{ "action": "generate_crud", "connectionFile": "...", "tableName": "...", "msgId": "..." }
{ "action": "create_project", "prompt": "...", "msgId": "..." }
{ "action": "load_connections" }
{ "action": "load_models" }

📋 Pré-requisitos

  • RAD Studio (Delphi) — 10.4 Sydney ou superior recomendado
  • Ollama instalado e rodando em http://localhost:11434
  • Microsoft Edge WebView2 Runtime instalado
  • Pelo menos um modelo Ollama baixado, ex:
    bash
    ollama pull qwen2.5-coder:3b

Dependências do Pacote

pascal
rtl, designide, vcledge, dbrtl, FireDAC, FireDACCommonDriver, FireDACCommon

🚀 Instalação

1. Clone o repositório

bash
git clone https://github.com/mabreu2022/otaidelphi.git
cd otaidelphi

2. Abra e instale o pacote no RAD Studio

  1. Abra o RAD Studio
  2. Vá em Component → Install Packages...
  3. Clique em Add... e selecione OtaIAdelphi.dpk
  4. Confirme a compilação e instalação

⚠️ O pacote é de design-time (BPL). Ele aparecerá automaticamente no menu do IDE após instalação.

3. Configure o Ollama

Certifique-se de que o Ollama está rodando:

bash
ollama serve
ollama pull qwen2.5-coder:3b

4. Acesse o plugin

No RAD Studio, vá em Connect → Conect IA Chat para abrir o painel.


🎯 Como Usar

Chat Livre

  1. Abra Connect → Conect IA Chat
  2. Selecione o modelo de IA desejado
  3. Digite sua pergunta ou pedido de código
  4. Clique em Enviar — o código gerado aparecerá no chat
  5. Clique em Injetar para inserir o código no editor ativo

Gerar CRUD

  1. Selecione uma conexão FireDAC configurada no projeto
  2. Escolha a tabela desejada
  3. Selecione um template (opcional)
  4. Clique em Gerar CRUD — o assistente cria todas as layers (DAO, Model, Controller, View)

Criar Projeto Completo

  1. Selecione o modo Criar Projeto
  2. Descreva o projeto em linguagem natural
  3. A IA retorna um JSON com todas as units
  4. O plugin cria automaticamente o projeto no IDE via OTA

📁 Estrutura do Repositório

pascal
OTA IA DELPHI/
????????? OtaIAdelphi.dpk              # Pacote principal
????????? OtaIAdelphi.dproj            # Projeto do pacote
????????? UConectOTARegister.pas       # Registro OTA + menu IDE
????????? UConectIAChatForm.pas        # Form principal (WebView2 + l??gica)
????????? UConectOTACreators.pas       # Criadores OTA (units, forms, projetos)
????????? UConectIAChatForm.dfm        # Form visual
????????? index.html                   # Interface do chat (frontend)
????????? templates/                   # Templates de gera????o de c??digo
????????? Demo/                        # Projeto de demonstra????o gerado pelo plugin
???   ????????? Controller/
???   ????????? DAO/
???   ????????? DataBase/
???   ????????? Model/
???   ????????? View/
????????? documenta????o/                # Documenta????o adicional
????????? conect_ia_log.txt            # Log de intera????es com a IA

🔧 Configuração Avançada

Modelos Recomendados

Modelo VRAM Qualidade Velocidade
qwen2.5-coder:3b ~2 GB ⭐⭐⭐ ⚡⚡⚡
qwen2.5-coder:7b ~4 GB ⭐⭐⭐⭐ ⚡⚡
codellama:7b ~4 GB ⭐⭐⭐⭐ ⚡⚡
deepseek-coder:6.7b ~4 GB ⭐⭐⭐⭐ ⚡⚡

Templates

Os templates ficam em templates/ e permitem padronizar a estrutura do código gerado. O sistema lê automaticamente todos os arquivos da pasta e os disponibiliza no seletor da interface.


🤝 Contribuindo

  1. Fork o projeto
  2. Crie uma branch: git checkout -b feature/minha-feature
  3. Commit suas mudanças: git commit -m 'feat: adiciona nova funcionalidade'
  4. Push para a branch: git push origin feature/minha-feature
  5. Abra um Pull Request

📄 Licença

Este projeto está sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.


👤 Autor

Marcelo Abreu — mabreu2022

Desenvolvido com ❤️ para a comunidade Delphi brasileira.


Conect IA Architect — Porque programar com IA não precisa sair da sua IDE.