Skip to main content
AI Platform is required infrastructure in 5.5+. At startup, the integration-designer core service unconditionally opens gRPC channels to the Agent Builder (flowx.agent-builder.host/flowx.agent-builder.port) and Knowledge Base RAG (flowx.kb-rag.host/flowx.kb-rag.port) services β€” there is no @ConditionalOnProperty flag to skip them. These properties default to the in-cluster service names (ai-platform-agent-builder, ai-platform-knowledgebase-rag), so the service starts out of the box, but AI workflow nodes and knowledge-base retrieval fail at runtime unless those services are reachable.To run FlowX without AI features, you still need to deploy the AI Platform chart (or point the env vars at reachable stub endpoints). Hiding AI surfaces (the AI floating action button, Chat UI component, AI agents) is controlled separately and has two paths:
  • Globally β€” deployment-level kill switch. Point the AI service-name properties on the admin service at services that are not deployed in your environment. The /api/init response then reports the corresponding flag as false under environmentConfiguration.admin-mngt, and the Designer hides the matching AI surfaces for everyone regardless of role. This is the right option for deployments that do not use AI at all.
  • Per-user β€” role permissions. Strip the AI permission keys (aiagent_edit, org_ai_providers_*, wks_ai_models_*) from specific roles via the role-mapper. See the Complete roles & permissions matrix.
Both gates apply: an AI surface appears only when its availability flag is true and the user has the matching permission.
Starting with FlowX.AI 5.9.1, AI availability is split into two independent flags so you can enable runtime AI and build-time AI separately. The single aiServiceName property (and its ai-is-enabled flag) is replaced by:
Property (on admin)/api/init flagGoverns
flowx.feature-availability.aiRuntimeServiceNameai-runtime-is-enabledRuntime AI: AI workflow nodes, conversational workflows, evaluations
flowx.feature-availability.aiDevtimeServiceNameai-devtime-is-enabledBuild-time AI: AI Designer, Agent Builder, AI Assistant/Analyst/Developer, AI-assisted code generation
Point a property at a service that is not deployed to turn off that group of AI surfaces. To turn off all AI, set both.

Overview

The AI Platform consists of two layers:
  • Python services β€” AI agent and orchestration services for planning, code generation, analysis, design, knowledge retrieval, and embeddings (REST + gRPC)
  • Event-driven workers β€” Background services consuming Kafka topics for knowledge-base indexing
All inter-service communication uses gRPC with Protobuf contracts, except the config-time agents (AI Developer, AI Analyst, AI Designer) and Agent Builder, which expose REST endpoints.

Infrastructure requirements

Qdrant

Vector database for embeddings. Cluster mode recommended for production.

S3-compatible storage

Object storage for binaries and files. Any S3-compatible provider works (MinIO, AWS S3, etc.).

Kafka

Message broker for event-driven communication. KRaft mode supported.

Keycloak

Identity provider for OAuth2 authentication across all services.

SpiceDB

Fine-grained authorization system for access control.

Service architecture

The AI Platform is a set of Python services. In Kubernetes, every service listens on port 9100 (set via the SERVICE_PORT variable).
Service (Kubernetes name)ProtocolPurpose
ai-platform-plannergRPCGenerates execution plans from user prompts (intent understanding and orchestration)
ai-platform-agent-buildergRPCConfiguration and runtime for low-code AI nodes
ai-platform-knowledgebase-raggRPCRetrieval-augmented generation over the knowledge base
ai-platform-embeddergRPCEmbedding generation (also consumes durable embedding jobs from Kafka)
ai-platform-knowledgebase-indexer-v2Kafka workerGenerates retrieval vectors; event-driven, consumes the knowledge-base index-request topic
ai-platform-kb-enrichmentgRPC + Kafka workerDesign-time document intelligence over knowledge-base documents (replaces di-platform); consumes the enrichment-request topic
ai-platform-ai-analystHTTPProcess-design expertise (config-time agent)
ai-platform-ai-assistantHTTPFlowX.AI documentation assistant
ai-platform-ai-designerHTTPUI design and implementation expertise (config-time agent)
ai-platform-ai-developerHTTPCoding expertise (config-time agent)
The Designer AI chat surface routes through the ai-gateway service (part of the core services), which calls ai-platform-planner and the agent services. The evals-judge worker, deployed alongside the AI Platform, consumes ai.flowx.ai-platform.evals-judge.job.request.v1 for evaluations.

Per-service setup guides

Most AI Platform services deploy as subcharts with no standalone configuration and are covered by this guide. Services with their own operator-facing setup β€” external dependencies, secrets, storage, ports, or tunables β€” have a dedicated setup guide, grouped by the same deployment tiers as the deployment guidelines:
TierServiceSetup guide
AI BaseQdrant (vector database)Qdrant setup
AI BaseDocument ParserDocument Parser setup
AI RuntimeSpeech-to-TextSpeech-to-Text setup
AI RuntimeWeb CrawlerWeb Crawler setup
AI Dev TimeAI GatewayAI Gateway setup
AI Dev TimeKB EnrichmentKB Enrichment setup
AI ExtensionsModPodModPod setup
AI ExtensionsObservatoryObservatory setup
All other AI services (embedder, knowledgebase-rag, knowledgebase-indexer-v2, planner, agent-builder, the config-time agents, data-privacy, doc-converter, evals-judge) are pure subcharts configured through this guide. flowx-docs (the in-product documentation host) also deploys as a subchart with no operator-facing configuration.

KB Enrichment

ai-platform-kb-enrichment (new in 5.9.1) replaces di-platform for design-time document intelligence. It deploys as a subchart but has extra requirements β€” a dedicated kbenrichment PostgreSQL database, an object-storage bucket, a Hugging Face model download on first start, doc-parser enabled, and an organization TEXT_GENERATION LLM capability. See the KB Enrichment setup guide for the full steps. The Qdrant collection knowledgebases_design is auto-created by the embedder service.

Environment variables

These variables control how services locate each other within the cluster:
Environment VariableDescriptionDefault Value
GRPC_HOST_RESOLVERService discovery methodk8s
GRPC_HOST_RESOLVER_HELM_CHARTHelm chart name for K8s service resolutionβ€”
GRPC_HOST_RESOLVER_FIXED_IPFixed IP/hostname when using host resolverai-platform
SERVICE_PORTPort the service listens on9100 (production)
Kubernetes deployment:
GRPC_HOST_RESOLVER=k8s
GRPC_HOST_RESOLVER_HELM_CHART=ai-platform
Docker Compose / local deployment:
GRPC_HOST_RESOLVER=host
GRPC_HOST_RESOLVER_FIXED_IP=localhost

Agent Builder configuration

Environment VariableDescriptionDefault Value
AGENT_BUILDER_MAX_TOOL_CALLSMaximum number of tool calls an agent can make in a single workflow execution20

Kafka topics

The AI Platform uses the following internal Kafka topics:
TopicPartitionsPurpose
ai.flowx.ai-platform.knowledgebase.store-entry.index-request.v11Indexing requests consumed by Knowledgebase Indexer v2
ai.flowx.ai-platform.knowledgebase.store-entry.index-response.v11Indexing results produced by Knowledgebase Indexer v2
ai.flowx.ai-platform.knowledgebase.internal.enrichment-request.v13Enrichment requests from Knowledgebase Indexer v2 to KB Enrichment
ai.flowx.ai-platform.evals-judge.job.request.v13Judge job requests from integration-designer to evals-judge
ai.flowx.ai-platform.evals-judge.job.response.v13Scored responses from evals-judge back to integration-designer
ai.flowx.ai-platform.evals-judge.job.dlq.v13Dead-letter queue for unscored judge jobs (manual operator review)
For production environments, create these topics manually with appropriate replication factors. For development, Kafka auto-topic creation handles them automatically.

Deployment

The AI Platform ships as an umbrella Helm chart aggregating all microservices and infrastructure dependencies.Install or upgrade:
helm dependency update deployment/helm/ai-platform
helm upgrade --install ai-platform deployment/helm/ai-platform \
  --set global.aiPlatformVersion=<version>
After deployment, initialize the platform:
make initialize-platform

Key Helm values

Replica counts:
ServiceDefault Replicas
Planner2
AI Developer2
AI Analyst2
AI Designer2
Agent Builder2
Knowledgebase RAG2
Embedder2
Global configuration:
global:
  flowx:
    idp:
      provider: keycloak
      keycloak:
        hostname: <your-keycloak-host>
        realm: <your-realm>
  telemetry:
    prometheus: enabled
    otelCollector: enabled

Storage requirements

ComponentDefault Persistent VolumeNotes
Qdrant data30GiVector embeddings
Qdrant snapshots30GiBackup snapshots
MinIODistributed across 4 nodesConfigured per deployment
Kafka1Gi minimumAdjust based on message volume

Troubleshooting

Kubernetes DNS resolution:
# Verify AI Platform services are running
kubectl get services -l app=ai-platform

# Check Helm deployment
helm list -n ai-platform

# Test DNS resolution
nslookup ai-platform-planner.default.svc.cluster.local
Common causes:
  • Incorrect GRPC_HOST_RESOLVER_HELM_CHART value
  • Services not in the same namespace
  • DNS not resolving due to CoreDNS issues
Qdrant health check:
curl http://<qdrant-host>:6333/healthz
Common causes:
  • Missing QDRANT_CONNECTION_API_KEY
  • Qdrant cluster not fully initialized
Verify broker availability:
kafka-broker-api-versions --bootstrap-server <kafka-host>:9092
Verify topics exist:
kafka-topics --bootstrap-server <kafka-host>:9092 --list | grep ai-platform
Common causes:
  • Wrong KAFKA_BOOTSTRAP_SERVERS address
  • Topics not auto-created and not manually provisioned
  • Security mode mismatch (KAFKA_SECURITY_MODE)
Verify Keycloak connectivity:
curl https://<keycloak-host>/auth/realms/<realm>/.well-known/openid-configuration
Common causes:
  • Incorrect SECURITY_OAUTH2_BASE_SERVER_URL
  • Realm name mismatch
  • Client ID not registered in Keycloak
  • SpiceDB token expired or misconfigured
If AI nodes fail with model-related errors:
  • Verify that an AI provider is configured at Organization Settings β†’ AI Settings β†’ Model Providers with a successful connection test
  • Check that models are enabled in the provider’s whitelist
  • Verify that workspace-type model assignments are set for the relevant AI capability (text generation, image understanding, embeddings, document/OCR) under AI Settings β†’ Defaults & Fallbacks
  • Ensure FLOWX_LIB_SECURITY_ORGANIZATION_MANAGER_BASE_URL is set on all Python AI services and points to a reachable Organization Manager instance
See the AI providers and model configuration page for setup details.

AI in FlowX

Overview of config-time and business AI agents

Agent Builder

Build custom AI agents with the no-code agent builder

Deployment guidelines v5.9.1

Component versions and upgrade instructions
Last modified on June 15, 2026