MakerAi

MakerAi

The AI Operating System for Delphi. 100% native framework with RAG 2.0 for knowledge retrieval, autonomous agents with semantic memory, visual workflow orchestration, and universal LLM connector. Supports OpenAI, Claude, Gemini, Ollama, and more. Enterprise-grade AI for Delphi 10.3+

Stars: 125

Visit
 screenshot

MakerAI Suite v3.3 is an AI ecosystem for Delphi that goes beyond just wrapping REST calls. It provides native, provider-specific components for direct access to each provider's API, along with a complete AI application ecosystem for building production-grade intelligent systems entirely in Delphi. The suite includes RAG pipelines with SQL-like query languages, autonomous agents with graph orchestration, MCP servers and clients, native ChatTools, FMX visual components, and a universal connector for switching providers at runtime without changing application code. MakerAI covers the full stack natively in Delphi, catering to both simple one-provider integrations and complex multi-agent, multi-provider systems.

README:

MakerAI Suite v3.3 β€” The AI Ecosystem for Delphi

🌐 Official Website: https://makerai.cimamaker.com

GitHub Stars GitHub Issues License Telegram Delphi Supported Versions


MakerAI is more than an API wrapper

Most AI libraries for Delphi stop at wrapping REST calls. MakerAI is different.

Yes, MakerAI includes native, provider-specific components that give you direct, full-fidelity access to each provider's API β€” every model parameter, every response field, every streaming event, exactly as the provider defines it.

But on top of that, MakerAI is a complete AI application ecosystem that lets you build production-grade intelligent systems entirely in Delphi:

  • RAG pipelines (vector and graph-based) with SQL-like query languages (VQL / GQL)
  • Autonomous Agents with graph orchestration, checkpoints, and human-in-the-loop approval
  • MCP Servers and Clients β€” expose or consume tools using the Model Context Protocol
  • Native ChatTools β€” bridge AI reasoning with deterministic real-world capabilities (PDF, Vision, Speech, Web Search, Shell, Computer Use)
  • FMX Visual Components β€” drop-in UI for multimodal chat interfaces
  • Universal Connector β€” switch providers at runtime without changing your application code

Whether you need a simple one-provider integration or a multi-agent, multi-provider, retrieval-augmented production system, MakerAI covers the full stack β€” natively in Delphi.


πŸš€ What's New in v3.3

TAiCapabilities β€” Unified Model Configuration System

The biggest architectural change in v3.3 is the TAiCapabilities system, which replaces scattered per-provider flags with a unified, declarative model of what each model can do and what a session needs:

  • ModelCaps β€” what the model natively supports (e.g. [cap_Image, cap_Reasoning])
  • SessionCaps β€” what capabilities the current session requires
  • Gap analysis β€” when SessionCaps exceeds ModelCaps, MakerAI automatically activates bridges (tool-assisted OCR, vision bridges, etc.) without changing your code
  • ThinkingLevel β€” unified reasoning depth control (tlLow, tlMedium, tlHigh) across all providers that support extended thinking

Models Updated (February 2026)

Provider New / Updated Models
OpenAI gpt-5.2, gpt-image-1, o3, o3-mini
Claude claude-opus-4-6, claude-sonnet-4-6, claude-3-7-sonnet
Gemini gemini-3.0, gemini-2.5-flash, gemini-2.5-flash-image
Grok grok-4, grok-3, grok-imagine-image
Mistral Magistral (reasoning), mistral-ocr-latest
DeepSeek deepseek-reasoner (extended thinking)
Kimi kimi-k2.5 (extended thinking)

Agents β€” Durable Execution & Human-in-the-Loop

  • TAiFileCheckpointer β€” persists agent graph state to disk; resume workflows after crashes or restarts
  • TAiWaitApprovalTool β€” suspends a node and waits for human approval before continuing
  • TAIAgentManager.OnSuspend event for building approval UIs
  • ResumeThread(ThreadID, NodeName, Input) to continue suspended workflows

RAG β€” Graph Document Management

  • New uMakerAi.RAG.Graph.Documents.pas β€” full document lifecycle management (ingest, chunk, embed, link) directly into the knowledge graph

Cross-Provider Reasoning Fixes

  • reasoning_content is now correctly preserved and re-sent in multi-turn tool call conversations for all providers that require it (DeepSeek-reasoner, Kimi k2.5, Groq reasoning models)

Other Additions

  • TAiEmbeddingsConnection β€” abstract connector for swappable embedding providers
  • TAiAudioPushStream β€” push-based audio streaming utility
  • Demo 027 β€” Document Manager
  • Demo 012 β€” ChatWebList (chat with web-based content)

πŸ—οΈ Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  Your Delphi Application                                         β”‚
β””β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
     β”‚                  β”‚                 β”‚
β”Œβ”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ ChatUI  β”‚   β”‚ Agents             β”‚  β”‚ Design-Time               β”‚
β”‚ FMX     β”‚   β”‚ TAIAgentManager    β”‚  β”‚ Property Editors          β”‚
β”‚ Visual  β”‚   β”‚ TAIBlackboard      β”‚  β”‚ Object Inspector support  β”‚
β”‚ Comps   β”‚   β”‚ Checkpoint/Approve β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
β””β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”˜   β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
     β”‚                  β”‚
β”Œβ”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  TAiChatConnection  β€” Universal Connector                        β”‚
β”‚  Switch provider at runtime via DriverName property             β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                               β”‚
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  Native Provider Drivers  (direct API access, full fidelity)     β”‚
β”‚  OpenAI Β· Claude Β· Gemini Β· Grok Β· Mistral Β· DeepSeek Β· Kimi    β”‚
β”‚  Groq Β· Cohere Β· Ollama Β· LM Studio Β· GenericLLM                β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                               β”‚
     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
     β”‚                         β”‚                        β”‚
β”Œβ”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  ChatTools  β”‚   β”‚  RAG                β”‚   β”‚  MCP                β”‚
β”‚  PDF/Vision β”‚   β”‚  Vector (VQL)       β”‚   β”‚  Server (HTTP/SSE   β”‚
β”‚  Speech/STT β”‚   β”‚  Graph (GQL)        β”‚   β”‚  StdIO/Direct)      β”‚
β”‚  Web Search β”‚   β”‚  PostgreSQL/SQLite  β”‚   β”‚  Client             β”‚
β”‚  Shell      β”‚   β”‚  HNSW Β· BM25 Β· RRF  β”‚   β”‚  TAiFunctions bridgeβ”‚
β”‚  ComputerUseβ”‚   β”‚  Rerank Β· Documents β”‚   β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜   β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

πŸ“‘ Supported AI Providers

MakerAI gives you two ways to work with each provider, which you can mix freely:

Direct Provider Components

Full, provider-specific access to every API feature. Use when you need complete control:

Component Provider Latest Models
TAiOpenChat OpenAI gpt-5.2, o3, o3-mini
TAiClaudeChat Anthropic claude-opus-4-6, claude-sonnet-4-6
TAiGeminiChat Google gemini-3.0, gemini-2.5-flash
TAiGrokChat xAI grok-4, grok-3
TAiMistralChat Mistral AI Magistral, mistral-large
TAiDeepSeekChat DeepSeek deepseek-reasoner, deepseek-chat
TAiKimiChat Moonshot kimi-k2.5
TAiGroqChat Groq llama-3.3, deepseek-r1
TCohereChat Cohere command-r-plus
TAiOllamaChat Ollama Any local model
TAiLMStudioChat LM Studio Any local model
TAiGenericChat OpenAI-compatible Any OpenAI-API endpoint

Universal Connector

Provider-agnostic code. Switch models or providers by changing one property:

AiConn.DriverName := 'OpenAI';
AiConn.Model := 'gpt-5.2';
AiConn.ApiKey := '@OPENAI_API_KEY';  // resolved from environment variable

// Switch to Gemini without changing anything else
AiConn.DriverName := 'Gemini';
AiConn.Model := 'gemini-3.0-flash';
AiConn.ApiKey := '@GEMINI_API_KEY';

πŸ“Š Feature Support Matrix

Feature OpenAI (gpt-5.2) Claude (4.6) Gemini (3.0) Grok (4) Mistral DeepSeek Ollama
Text Generation βœ… βœ… βœ… βœ… βœ… βœ… βœ…
Streaming (SSE) βœ… βœ… βœ… βœ… βœ… βœ… βœ…
Function Calling βœ… βœ… βœ… βœ… βœ… βœ… βœ…
JSON Mode / Schema βœ… βœ… βœ… βœ… βœ… βœ… βœ…
Image Input βœ… βœ… βœ… βœ… βœ… ❌ βœ…
PDF / Files βœ… βœ… βœ… ⚠️ βœ… ❌ ⚠️
Image Generation βœ… ❌ βœ… βœ… ❌ ❌ ❌
Video Generation βœ… ❌ βœ… ❌ ❌ ❌ ❌
Extended Thinking βœ… βœ… βœ… βœ… βœ… βœ… ⚠️
Speech (TTS/STT) βœ… ❌ βœ… ❌ ❌ ❌ ⚠️
Web Search βœ… βœ… βœ… βœ… ❌ ❌ ❌
Computer Use βœ… βœ… ❌ ❌ ❌ ❌ ❌
RAG (all modes) βœ… βœ… βœ… βœ… βœ… βœ… βœ…
MCP Client/Server βœ… βœ… βœ… βœ… βœ… βœ… βœ…
Agents βœ… βœ… βœ… βœ… βœ… βœ… βœ…

Legend: βœ… Native | ⚠️ Tool-Assisted bridge | ❌ Not Supported


🧩 Ecosystem Modules

🧠 RAG β€” Retrieval-Augmented Generation

Two complementary retrieval engines with their own query languages:

Vector RAG β€” semantic and hybrid search over document embeddings:

  • HNSW index for approximate nearest-neighbor search
  • BM25 lexical index for keyword matching
  • Hybrid search with RRF (Reciprocal Rank Fusion) or weighted fusion
  • Reranking and Lost-in-the-Middle reordering for LLM context
  • VQL (Vector Query Language) β€” SQL-like DSL for complex retrieval queries:
    MATCH documents SEARCH 'machine learning'
    USING HYBRID WEIGHTS(semantic: 0.7, lexical: 0.3) FUSION RRF
    WHERE category = 'tech' AND date > '2025-01-01'
    RERANK 'neural networks' WITH REGENERATE
    LIMIT 10
  • Drivers: PostgreSQL/pgvector, SQLite, in-memory

Graph RAG β€” knowledge graph with semantic search over entities and relationships:

  • Nodes and edges with embeddings and metadata
  • GQL (Graph Query Language) β€” Cypher-like DSL:
    MATCH (p:Person)-[r:WORKS_AT]->(c:Company)
    WHERE c.city = 'Madrid' DEPTH 2
    RETURN p, r, c
  • Dijkstra shortest path, centrality analysis, hub detection
  • Export to GraphViz DOT, GraphML (Gephi), native JSON format
  • Document lifecycle management (ingest β†’ chunk β†’ embed β†’ link)

πŸ€– Agents β€” Autonomous Orchestration

Graph-based multi-agent workflows with full thread safety:

  • TAIAgentManager β€” executes directed graphs of AI nodes via thread pool
  • TAIAgentsNode β€” single execution unit; runs an LLM call, a tool, or custom logic
  • TAIBlackboard β€” thread-safe shared state dictionary between all nodes
  • Link modes: lmFanout (parallel broadcast), lmConditional (routing), lmExpression (binding), lmManual
  • Join modes: jmAny (first arrival wins), jmAll (wait for all inputs)
  • Durable execution: TAiFileCheckpointer persists state; resume after crashes
  • Human-in-the-loop: TAiWaitApprovalTool suspends execution for human approval
  • Supports any LLM provider via TAiChatConnection

πŸ”— MCP β€” Model Context Protocol

Full implementation of the MCP standard for both consuming and exposing tools:

MCP Server β€” expose Delphi functions as MCP tools, callable by any MCP client (Claude Desktop, AI agents, etc.):

  • Transports: HTTP, SSE (Server-Sent Events), StdIO, Direct (in-process)
  • Bridge TAiFunctions β†’ IAiMCPTool β€” any existing TAiFunctions component becomes an MCP server instantly
  • API Key authentication, CORS configuration
  • TAiMCPResponseBuilder for structured responses (text + files + media)
  • RTTI-based automatic JSON Schema generation from parameter classes

MCP Client β€” consume any external MCP server from your Delphi app:

  • Connect to Claude Desktop tools, filesystem servers, database tools, etc.
  • Integrated into TAiFunctions component alongside native function definitions

πŸ› οΈ ChatTools β€” AI Γ— Deterministic Capabilities

ChatTools bridge the gap between AI reasoning and real-world operations. They activate automatically based on gap analysis between SessionCaps and ModelCaps:

Tool Interface What it does Implementations
IAiPdfTool Extract text from PDFs Mistral OCR, Ollama OCR
IAiVisionTool Describe / analyze images Any vision model
IAiSpeechTool Text-to-speech / speech-to-text Whisper, Gemini Speech, OpenAI TTS
IAiWebSearchTool Live web search Gemini Web Search
IAiImageTool Generate images DALL-E 3, gpt-image-1, Gemini, Grok
IAiVideoTool Generate video Sora, Gemini Veo
TAiShell Execute shell commands Windows/Linux
TAiTextEditorTool Read/write/patch files Diff-based editing
TAiComputerUseTool Control mouse and keyboard Claude Computer Use, OpenAI

Tools follow a common pattern: SetContext(AiChat) + Execute*(). They can run standalone, as function-call bridges, or as automatic capability bridges.

🎨 FMX Visual Components

Drop-in FireMonkey components for building multimodal chat UIs:

  • TChatList β€” scrollable message container with Markdown rendering, code blocks, copy buttons
  • TChatBubble β€” individual message bubble (user / assistant / tool)
  • TChatInput β€” text input bar with voice recording, file attachment, and send button

Compatible with all providers. Works with streaming responses.

πŸ“ Design-Time Integration

Full Delphi IDE support via the MakerAiDsg.dpk design-time package:

  • DriverName property shows a dropdown of all registered providers in the Object Inspector
  • Model property lists all models for the selected provider
  • MCP Client configuration editor with transport type selection
  • Embedding connection editor
  • Version/About dialog

πŸ“¦ Installation

git clone https://github.com/gustavoeenriquez/MakerAi.git

Package Compilation Order

Compile and install in this exact order:

  1. Source/Packages/MakerAI.dpk β€” Runtime core (~100 units)
  2. Source/Packages/MakerAi.RAG.Drivers.dpk β€” PostgreSQL/pgvector connector
  3. Source/Packages/MakerAi.UI.dpk β€” FMX visual components
  4. Source/Packages/MakerAiDsg.dpk β€” Design-time editors (requires VCL + DesignIDE)

Open Source/Packages/MakerAiGrp.groupproj to compile all packages at once.

Required Library Paths

Add all of these to Tools > Options > Language > Delphi > Library:

Source/Agents
Source/Chat
Source/ChatUI
Source/Core
Source/Design
Source/MCPClient
Source/MCPServer
Source/Packages
Source/RAG
Source/Resources
Source/Tools
Source/Utils

API Keys

API keys are resolved from environment variables using the @VAR_NAME convention:

AiConn.ApiKey := '@OPENAI_API_KEY';    // reads OPENAI_API_KEY from environment
AiConn.ApiKey := '@CLAUDE_API_KEY';    // reads CLAUDE_API_KEY
AiConn.ApiKey := '@GEMINI_API_KEY';    // reads GEMINI_API_KEY
AiConn.ApiKey := 'sk-...';             // or set a literal key directly

Delphi Version Compatibility

Delphi Version Support
10.4 Sydney Minimum (core framework)
11 Alexandria Full support
12 Athens Full support
13 Florence Full support (latest tested)

πŸ—‚οΈ Demo Projects

Open Demos/DemosVersion31.groupproj to access all demos.

Demo Description
010-Minimalchat Minimal chat with Ollama and TAiChatConnection
012-ChatAllFunctions Full-featured multimodal chat (images, audio, streaming, tools)
012-ChatWebList Chat with web-based content list
021-RAG+Postgres-UpdateDB Build a vector RAG database with PostgreSQL/pgvector
022-1-RAG_SQLite Lightweight vector RAG with SQLite
023-RAGVQL VQL query language for semantic search
025-RAGGraph Knowledge graph RAG with GQL queries
026-RAGGraph-Basic Simplified graph RAG patterns
027-DocumentManager Document ingestion and management
031-MCPServer Multi-protocol MCP server (HTTP, SSE, StdIO)
032-MCP_StdIO_FileManager File manager exposed via MCP StdIO
032-MCPServerDataSnap MCP server using DataSnap transport
034-MCPServer_Http_FileManager File manager via MCP HTTP
035-MCPServerWithTAiFunctions TAiFunctions bridge to MCP
036-MCPServerStdIO_AiFunction StdIO MCP server with AI functions
041-GeminiVeo Video generation with Google Veo
051-AgentDemo Visual agent graph builder and runner
052-AgentConsole Console-based agent execution
053-DemoAgentesTools Agents with integrated tool use

πŸ”„ Changelog

v3.3 (February 2026)

  • New TAiCapabilities system (ModelCaps / SessionCaps / ThinkingLevel)
  • Models updated: OpenAI gpt-5.2, Claude 4.6, Gemini 3.0, Grok 4, Mistral Magistral, DeepSeek-reasoner, Kimi k2.5
  • Agents: durable execution (checkpoints), human-in-the-loop approval tool
  • RAG: Graph Document management (uMakerAi.RAG.Graph.Documents)
  • Fix: reasoning_content preserved in multi-turn tool calls (DeepSeek, Kimi, Groq)
  • New: TAiEmbeddingsConnection, TAiAudioPushStream
  • New demos: DocumentManager, ChatWebList

v3.2 (January 2026)

  • Native ChatTools framework (IAiPdfTool, IAiVisionTool, IAiSpeechTool, etc.)
  • Unified deterministic tool orchestration and capability bridges

v3.1 (November 2025)

  • GPT-5.1, Gemini 3.0, Claude 4.5 initial support
  • FMX multimodal UI components
  • RAG Rerank + Graph RAG engine
  • MCP Server framework (SSE, StdIO, HTTP)

v3.0 (October 2025)

  • Major architecture redesign
  • Visual FMX chat components
  • Graph-based vector database
  • Full Delphi 10.4–13 compatibility

v2.5 (August 2025)

  • MCP Client/Server (Model Context Protocol)
  • Agent graph orchestration
  • Linux/POSIX full support

πŸ’¬ Community & Support


πŸ“œ License

MIT License β€” see LICENSE.txt for details.

Copyright Β© 2024–2026 Gustavo EnrΓ­quez β€” CimaMaker

For Tasks:

Click tags to check more tools for each tasks

For Jobs:

Alternative AI tools for MakerAi

Similar Open Source Tools

For similar tasks

For similar jobs