CHATGPT
Lazarus component for CHATGPT
- Active · last change 11-5-2026
- ★ 10 on GitHub
README
# TCHATGPT — AI Component Suite for Lazarus / Free Pascal
🌐 Idiomas / Languages
Português • English • Español • Français • Italiano • العربية • 中文 • Русский • 日本語
🎯 1. Objetivo do Projeto
O TCHATGPT (desenvolvido por Maurinsoft) é uma suíte modular de componentes visuais e não visuais em Object Pascal (Free Pascal / Lazarus) para integração direta e nativa de Inteligência Artificial moderna, Visão Computacional, Processamento de Voz, Agentes Autônomos, Automação Industrial, Hardware e Gerenciamento de Projetos.
O foco central da suíte é permitir que desenvolvedores desktop e embarcados integrem capacidades avançadas de IA diretamente em código nativo, com:
- Controle Total e Baixa Latência: Sem depender de servidores web intermediários ou frameworks pesados de frontend.
- Conectividade Híbrida: Suporte tanto a LLMs em nuvem (OpenAI, Claude, Gemini, Ollama) quanto a inferência local e 100% offline via
llama.cpp. - Agentes Autônomos e Ferramentas: Arquitetura de agentes capazes de executar código, interagir com bancos de dados, consultar arquivos, controlar robôs e comunicar-se entre si via protocolos A2A e MCP.
- Interação com o Mundo Físico: Dispositivos USB, portas seriais, sensores Kinect, joysticks, CLPs Modbus, brokers MQTT e emulação de firmware Marlin CNC/impressora 3D.
📦 2. Catálogo de Pacotes: Finalidade, Componentes e Documentação
Abaixo é apresentada a finalidade conceitual de cada pacote (o que ele manipula, processa ou controla), links diretos para a documentação e código de cada componente, e seu status factual:
| Pacote Lazarus | Pasta Fonte | Finalidade (O que manipula / faz) | Componentes & Links de Documentação | Status Atual |
|---|---|---|---|---|
openai_core.lpk |
pacote/AI/ |
Conecta a APIs de LLMs (OpenAI, Claude, Gemini, Ollama), gerencia tokens, prompts, modelos e fornece as classes base. | • TAIBaseComponent (código) |
|
• TCHATGPT (código) |
||||
• TAICodeAssistant (código) |
||||
• TAIPromptBuilder (código) |
||||
• TAIModelRegistry (código) |
||||
• TTokenList (código) |
Stable / Beta | |||
openai_python.lpk |
pacote/python/ |
Integra runtimes externos Python para executar modelos de deep learning (YOLOv8, CNNs e LSTMs) acoplados ao Lazarus. | • TPythonConnector (código) |
|
• TYoloDetect (código) |
||||
• TFaceDetection (código) |
||||
• TCNNClassifier (código) |
||||
• TLSTMPredictor (código) |
Stable / Beta | |||
openai_ml.lpk |
pacote/AI Math/ |
Executa algoritmos clássicos de machine learning (redes neurais, perceptrons, mapas SOM) e álgebra matricial em Pascal puro. | • TNeuralNetwork (código) |
|
• TPerceptron (código) |
||||
• TSOMMap (código) |
||||
• TAIDatasetGenerator (código) |
||||
• numps |
Stable / Beta | |||
openai_graph.lpk |
pacote/AI Graph/ |
Constrói, analisa e visualiza grafos de dependências lógicas, redes de conhecimento e mapas viários GeoJSON. | • TAIGraphMap (código) |
|
• TAIDependencyGraph (código) |
||||
• TAIGraphVisualizer (código) |
||||
• TAIDatasetAnalyzer (código) |
||||
• TAITrainingReport (código) |
||||
• TAITrainingExporter (código) |
Stable / Beta | |||
openai_files.lpk |
pacote/AI Files/ |
Faz inventário, varredura e indexação de diretórios de arquivos no disco, gerando conjuntos de dados para IA. | • TAIDiskTreeScanner (código) |
Stable / Beta |
openai_output.lpk |
pacote/AI Output/ |
Gera documentos formatados Word (DOCX/OpenXML), planilhas Excel (XLSX), PDFs, texto puro, JSON e cupons térmicos POS. | • TAIWordOutput / TAIWordDocument |
|
• TAIExcelOutput / TAIXlsxWriter |
||||
• TAIPDFOutput |
||||
• TAITXTOutput |
||||
• TAIOutputDocs |
||||
• TAIPosPrinter |
Stable / Beta | |||
openai_input.lpk |
pacote/AI Input/ |
Captura dados do mundo exterior: joysticks XInput/WinMM, assinaturas de voz, câmeras, sensores Kinect, portas seriais e sockets. | • TAIJoystick (código) |
|
• TAISpeakerSession (código) |
||||
• TAIKinectSensor |
||||
• TAIKinectSkeleton |
||||
• TAISerial |
||||
• TAISocketTCP |
Stable / Beta | |||
openai_vision.lpk |
pacote/AI Vision/ |
Processa fluxos de vídeo e imagens via OpenCV ou métodos nativos: detecta rostos, rastreia movimento e poses humanas. | • TAIOpenCV (código) |
|
• TAIFaceTracker (código) |
||||
• TAIFaceRecognition (código) |
||||
• TAIMotionTracker (código) |
||||
• TAIFrameBuffer (código) |
||||
• TAIFrameDiff (código) |
||||
• TAIFrameProcessor (código) |
||||
• TAIHumanPoseDetector (código) |
||||
• TAINativeImageFilter (código) |
||||
• TAIImageInfo (código) |
Stable / Beta | |||
openai_image.lpk |
pacote/AI Image/ |
Aplica filtros e manipulações gráficas em imagens diretamente em Pascal nativo, sem exigir bibliotecas externas. | • imagefilters |
Stable / Beta |
openai_voice.lpk |
pacote/AI Voice/ |
Processa áudio falado: converte texto em fala (TTS), transcreve voz em texto (STT) e aplica filtros acústicos. | • TAIVoiceSynthesizer |
|
• TAISpeechRecognizer |
||||
• TAIVoiceClone |
Stable / Beta | |||
openai_simulation.lpk |
pacote/AI Simulation/ |
Executa simulações computacionais 2D baseadas em regras celulares, filas de atendimento e movimentação de robôs. | • TAISimulationEngine |
|
• TAIGridWorld |
Stable / Beta | |||
openai_industrial.lpk |
pacote/AI Industrial/ |
Comunica com equipamentos industriais via Modbus TCP/RTU, broker MQTT, pinmap Arduino e braços robóticos. | • TAIModbus |
|
• TAIMQTT |
||||
• TAIArmRobot |
Stable / Beta | |||
openai_graphic.lpk |
pacote/AI Graphic/ |
Manipula gráficos 3D OpenGL, avatares virtuais com animação labial, esqueletos e cenas físicas. | • TAI3DModelViewer (código) |
|
• TAIModel3D (código) |
||||
• TAIAvatar3D (código) |
||||
• TAIAvatarController (código) |
||||
• TAISkeletonRig (código) |
||||
• TAIScene3D (código) |
||||
• TAITripo3DClient (código) |
Stable / Beta | |||
openai_agent.lpk |
pacote/AI Agent/ |
Orquestra agentes autônomos, chamadas de ferramentas (tool calling), memória factual e guardrails de segurança. | • TAIAgent (código) |
|
• TAIAgentSafety (código) |
||||
• TAIAgentExecutor (código) |
||||
• TAIMultiAgentMemory (código) |
||||
• TAISourceActions (código) |
||||
• TAIPipeline (código) |
||||
• TAIWizardConfig (código) |
Stable / Beta | |||
openai_project.lpk |
pacote/AI Project/ |
Renderiza interfaces visuais de gerenciamento: Diagramas de Gantt interativos, redes PERT/CPM, Kanban e recursos. | • TAIProject (código) |
|
• TAIGanttView (manual) |
||||
• TAINetworkView |
||||
• TAIBoardView |
||||
• TAIResourceView |
Stable / Beta | |||
openai_project_core.lpk |
pacote/AI Project Core/ |
Executa cálculos matemáticos de cronograma: calcula caminho crítico (CPM), valida grafos e gerencia calendários úteis. | • TAICPMScheduler (manual) |
|
• TAITaskGraph |
||||
• TAIWorkCalendar |
Stable / Beta | |||
openai_hardware.lpk |
pacote/AI Hardware/ |
Coleta telemetria e métricas do sistema operacional e hardware: consumo de CPU, memória RAM, discos, GPUs e processos. | • TAICPU |
|
• TAIMemory |
||||
• TAIDisk |
||||
• TAIGPU |
||||
• TAISO |
Stable / Beta | |||
openai_marlin.lpk |
pacote/AI Simulation/AIMarlin/ |
Emula o firmware de impressoras 3D e máquinas CNC Marlin, interpretando comandos G-Code e fornecendo portas seriais virtuais. | • TAIMarlinSimulator |
|
• TAIGCodeParser |
Stable / Beta | |||
openai_a2a.lpk |
pacote/AI A2A/ |
Padroniza a comunicação e troca de mensagens estruturadas diretamente entre diferentes agentes em rede (Agent-to-Agent). | • TAIA2AClient |
|
• TAIA2AServer |
Stable / Beta | |||
openai_mcp.lpk |
pacote/AI MCP/ |
Implementa o padrão aberto Model Context Protocol (Anthropic/OpenAI) como cliente e servidor JSON-RPC para exposição de ferramentas. | • TAIMCPClient |
|
• TAIMCPServer |
Stable / Beta | |||
openai_llamacpp.lpk |
pacote/AI LlamaCpp/ |
Executa modelos de linguagem (LLMs) localmente no computador via biblioteca llama.cpp x64 em formato GGUF sem internet. |
• TAILlamaCppRuntime |
|
• TAILlamaCppModel |
Stable / Beta | |||
openai_rag.lpk |
pacote/AI RAG/ |
Realiza busca semântica e recuperação aumentada (RAG), indexando acervos de documentos para alimentar o contexto das LLMs. | • TAIRAG |
|
• TAIRetrieval |
Stable / Beta | |||
openai_dbase.lpk |
pacote/AI DBase/ |
Conecta a bancos relacionais para salvar histórico de conversas, logs de auditoria e memória de longo prazo com ZeosLib. | • TAIDBase |
Stable / Beta |
openai_aidbase.lpk |
pacote/AI DBase/ |
Extrai dicionários de dados e metadados de tabelas SQL para que modelos de IA compreendam a estrutura do banco. | • TAIDBDictionary |
Stable / Beta |
openai_observability.lpk |
pacote/AI Observability/ |
Monitora o comportamento das IAs: rastreia chamadas (spans/traces), calcula latência, registra custos de tokens e alerta falhas. | • TAITrace |
Stable / Beta |
openai_evaluation.lpk |
pacote/AI Evaluation/ |
Avalia a acurácia de respostas geradas por IA utilizando juízes automatizados (LLM-as-a-judge) e relatórios de regressão. | • TAIEvalJudge |
Stable / Beta |
openai_integration.lpk |
pacote/AI/ |
Conecta múltiplos componentes em pipelines de processamento unificados e executores encadeados. | • TAIIntegration |
Stable / Beta |
openai_webrtc.lpk |
pacote/AI Communication/ |
Estabelece canais de dados ponto-a-ponto de baixa latência (WebRTC DataChannel) usando a biblioteca libdatachannel. | • TAIWebRTCClient |
Stable / Beta |
📂 3. Organização das Pastas do Repositório
Abaixo é apresentado o propósito de cada pasta do projeto, o que existe dentro dela e sua finalidade prática:
| Pasta | Propósito do Diretório | O que existe dentro | Para que serve (Finalidade Prática) |
|---|---|---|---|
pacote/AI/ |
Base e infraestrutura central | Classes fundamentais (aibase.pas, aiconfig.pas), clientes de LLMs (chatgpt.pas, aiclaude.pas, aigemini.pas, aiollama.pas), tokenizers e roteadores. |
Centraliza a comunicação HTTP/REST com provedores de IA e fornece a arquitetura base compartilhada por todos os componentes. |
pacote/AI Agent/ |
Orquestração de Agentes Autônomos | Módulos de agentes (aiagent.pas), memória determinística, mapas mentais, guardrails de segurança e automação de correção de fontes. |
Permite criar agentes que resolvem objetivos em múltiplos passos, decidindo quando chamar funções Pascal ou consultar dados. |
pacote/AI A2A/ |
Protocolo Agent-to-Agent | Protocolo de comunicação e mensageria entre agentes de IA (aia2a_client.pas). |
Permite que múltiplos agentes colaborem, deleguem tarefas e troquem contexto estruturado em rede. |
pacote/AI MCP/ |
Model Context Protocol | Implementação de cliente e servidor MCP sobre JSON-RPC (aimcp_client.pas, aimcp_server.pas). |
Permite que LLMs interajam diretamente com os dados e ferramentas do sistema através da especificação aberta MCP. |
pacote/AI Input/ |
Dispositivos e Fontes de Entrada | Joysticks (aijoystick.pas), áudio (aispeakersignature.pas), Kinect (aikinectsensor.pas), USB, Serial, Sockets, Servidor Web e leitores de documentos (PDF, DOCX, XLSX). |
Captura e normaliza entradas do mundo exterior (sensores, rede, teclado/joystick, arquivos) para alimentar os fluxos de IA. |
pacote/AI Output/ |
Geração de Saídas Estruturadas | Geradores de relatórios e documentos Word (aiworddocument.pas), Excel (aixlsxwriter.pas), impressoras térmicas POS (aiposprinter.pas) e formatadores JSON. |
Produz saídas físicas (impressoras fiscais/não fiscais) ou arquivos digitais formatados com as respostas da IA. |
pacote/AI Vision/ |
Visão Computacional | Conector OpenCV (aiopencv.pas), rastreador facial (aifacetracker.pas), detector de movimento (aimotiontracker.pas), estimativa de pose humana (aihumanposedetector.pas) e processamento de frames. |
Analisa fluxos de vídeo de webcams e arquivos para reconhecimento visual e detecção de objetos/pessoas. |
pacote/AI Voice/ |
Voz, Reconhecimento e Síntese | Sintetizador de voz TTS (aivoicesynthesizer.pas), reconhecimento STT (aispeechrecognizer.pas), assistente de voz e clones vocais. |
Permite que a aplicação fale audivelmente com o usuário e entenda comandos falados via microfone. |
pacote/AI Project Core/ |
Motor Matemático de Projetos | Escalonador CPM (aicpmscheduler.pas), grafo acíclico de tarefas (aitaskgraph.pas), calendário de trabalho (aiworkcalendar.pas) e nivelamento de recursos. |
Calcula cronogramas, folgas e caminho crítico de forma pura, servindo tanto para o Lazarus quanto para serviços de console/servidor. |
pacote/AI Project/ |
Visualizações de Projetos LCL | Vistas visuais: Diagrama de Gantt (aiganttview.pas), Rede PERT (ainetworkview.pas), Quadro Kanban (aiboardview.pas) e Histograma de Recursos (airesourceview.pas). |
Renderiza controles gráficos de interface com o usuário para planejamento de tarefas e projetos. |
pacote/AI Industrial/ |
Automação e Redes Industriais | Cliente Modbus TCP/RTU (aimodbus.pas), cliente MQTT (aimqtt.pas), controle de braço robótico (aiarm_robot.pas) e mapeamento de pinos Arduino. |
Integra aplicações Lazarus ao chão de fábrica, lendo registradores de CLPs e controlando atuadores físicos. |
pacote/AI Simulation/ |
Simulação 2D e Emulação Marlin | Motor de simulação celular em grade (aisimulationengine.pas), filas de atendimento, emulador de firmware Marlin G-code (aimarlinsimulator.pas). |
Simula cenários logísticos e valida códigos de máquinas CNC antes da execução em maquinário real. |
pacote/AI Graphic/ |
Gráficos 3D e Avatares | Visualizador 3D OpenGL (ai3dmodelviewer.pas), avatares com sincronização labial (aiavatar_lipsync.pas), esqueleto rig e cliente Tripo3D API. |
Manipula e renderiza modelos 3D, personagens virtuais e animações na interface. |
pacote/AI Hardware/ |
Telemetria de Hardware | Leitores de CPU (aicpu.pas), Memória RAM (aimemory.pas), Disco (aidisk.pas), GPU (aigpu.pas) e SO (aiso.pas). |
Fornece métricas de uso de hardware para diagnóstico e balanceamento dinâmico de recursos. |
pacote/AI Graph/ |
Grafos e Rotas Geográficas | Grafo de dependências (aidependencygraph.pas), visualizador de grafos (aigraphvisualizer.pas), cálculo de rotas GeoJSON (airoutecalculator.pas). |
Constrói e desenha redes nodais, fluxos de dependência e trajetos em malhas viárias. |
pacote/AI LlamaCpp/ |
Inferência LLM Local | Conector de API e runtime para llama.cpp x64 (aillamacppruntime.pas), quantização e LoRA. |
Permite que a aplicação execute modelos de IA de forma totalmente privada e offline no computador do usuário. |
pacote/AI Math/ |
Matemática e Machine Learning | Biblioteca de álgebra linear NUMPS (numps.pas), redes neurais perceptron e mapas auto-organizáveis (SOM). |
Executa cálculos matemáticos de vetores/matrizes e treinamento de redes neurais sem bibliotecas externas. |
pacote/AI RAG/ |
Busca Semântica e RAG | Recuperação aumentada por geração (airag.pas), extratores de texto e indexação em lote. |
Localiza passagens relevantes em grandes volumes de documentos para responder perguntas com precisão. |
pacote/AI DBase/ |
Bancos de Dados e Metadados | Dicionários de esquemas relacionais (aidbdictionary.pas), persistência de histórico ZeosLib. |
Mapeia tabelas de bancos de dados para que os agentes de IA possam formular consultas SQL com exatidão. |
pacote/AI Observability/ |
Observabilidade de IA | Coletor de traces e métricas (aitrace.pas). |
Registra auditoria de chamadas, contagem de tokens gastos e tempo de processamento de cada requisição de IA. |
pacote/AI Evaluation/ |
Avaliação e Benchmarking | Juiz de avaliação com LLMs (aieval_judge.pas). |
Testa e pontua automaticamente a assertividade das respostas de prompts contra critérios objetivos. |
pacote/packages/ |
Pacotes de Instalação Lazarus | 28 arquivos .lpk configurados. |
Permite instalar os componentes na paleta do Lazarus conforme a área de interesse do projeto. |
pacote/samples/ |
Projetos de Demonstração | Mais de 95 exemplos completos com formulários e código-fonte (pacote/samples/README.md). |
Serve como guia prático e documentação funcional de uso para cada componente da suíte. |
DOC/components/ |
Manuais Específicos dos Componentes | Documentações individuais de cada componente (DOC/components/). |
Manuais detalhados de referência para desenvolvedores. |
tests/ |
Testes Automatizados | Projetos console .lpr executáveis via Free Pascal. |
Garante a integridade e regressão zero dos algoritmos matemáticos e componentes da biblioteca. |
🧭 4. Como Navegar na Documentação e Exemplos
Para explorar a fundo cada subsistema:
- Consulte o Guia Geral de Samples para ver a lista de todos os 95+ exemplos práticos com fotos e explicações funcionais.
- Acesse a documentação técnica detalhada de cada componente em
DOC/components/. - Acesse a pasta do módulo que deseja explorar (ex.:
pacote/AI Input/) para entender os componentes contidos nele e suas unidades.pas. - Para cada sample, consulte o manual de instruções com as Propriedades, Métodos e Eventos detalhados em seu respectivo
README.md(por exemplo: Manual do Sample de Joystick e Manual da Demonstração de Projetos).
🛠️ 5. Requisitos e Instalação
- Compilador: Free Pascal (FPC) versão 3.2.2 ou superior.
- IDE: Lazarus versão 3.0 ou superior (32-bit ou 64-bit).
- Instalação dos Pacotes:
- No Lazarus, acesse o menu
Package->Open Package File (.lpk).... - Navegue até a pasta
pacote/packages/. - Comece abrindo e compilando o pacote base
openai_core.lpk. - Clique em
Compilee, se desejar os componentes na paleta da IDE, clique emUse->Install. - Instale os demais pacotes conforme a necessidade da sua aplicação.
- No Lazarus, acesse o menu
📄 6. Licença
Este projeto é distribuído sob os termos da licença GPL v3. Consulte o arquivo LICENSE para mais detalhes.
Exemplos complementares e validação local
Os nove exemplos adicionados para completar as demonstrações estão em pacote/samples/NEW_SAMPLES.md. Eles cobrem catálogo de modelos, prompts, exportação, relatórios, wizard, Chrome Speech, continuidade de assunto, sessões por pessoa e agente de apresentação.
Na compilação local de 04/11/2026, anterior à integração das atualizações do
remoto, 140 dos 144 projetos compilaram com Lazarus 4.4/FPC 3.2.2 em Win32.
Os nove novos exemplos compilaram e executaram em modo local/simulado.
Permaneceram quatro falhas conhecidas em agent_task_memory_action_demo,
chromium_capture_demo, avatar_demo e pose_animation_demo.
Essa evidência não valida execução de hardware ou serviços externos e não deve
ser confundida com um resultado da árvore após a integração. O inventário
atual está em tests/samples_inventory.json; confira-o com
python tests/ci_validate_samples.py e execute as regressões locais com
python tests/run_pascal_regressions.py e python tests/run_missing_samples.py.

