What KDCube Is

KDCube is a self-hosted platform and SDK for packaging AI applications into deployable apps and running them in isolated environments. tenant/project is one environment, one environment can host many apps, and one app is one end-to-end application unit that can combine backend logic, APIs, widget UI, main UI, agents, tools, ISO runtime execution, scheduled work, named-service providers, and scene surfaces. Many apps use the built-in ReAct subsystem with tools, skills, continuous conversations, a sources pool, ANNOUNCE, a signals board, and an event timeline. The platform then provides the core services that run that model: Ingress (API gateway, auth, SSE emitter) and Processor/Proc (app execution, queue worker, integrations API).

App UI surfaces are served by KDCube the same way app APIs and MCP endpoints are served. An app can expose widget UI and/or main UI; a frontend may display those surfaces directly or embed them, for example in the KDCube control plane. The iframe is only one display mechanism, not a separate app concept.

i
Terminology: the public term is app. Internal descriptors and APIs still use the historical name bundle, so examples may include bundle_id, bundles.yaml, @bundle_entrypoint, or /bundles/....

The newer layer is the object ecosystem: apps can expose objects through named-service namespaces, emit external events, provide block production/rendering policies, and join an interactive scene with chat, canvas, memory, tasks, or other surfaces. See Object Ecosystem & Ontologic Contracts.

System at a Glance

System architecture overview diagram
System Architecture Overview Platform architecture showing Ingress and Processor services with client, app, and storage interactions User Browser / App SSE + REST SSE/WS REST /bundles/{t}/{p}/{b}/operations/{op} Ingress Auth & Rate Limit App Routing SSE Emitter Task Enqueueing enqueue Redis Queue Task Buffer dequeue Processor (proc) App Loader LangGraph Exec Communicator (async) Operations API (REST) GET/POST /bundles/{t}/{p}/{b}/operations/{op} invoke YOUR BUNDLE Entrypoint Workflow Tools Skills ReAct Agent Widgets / UI Storage · Config · Economics Communicator Firewall Settings spawns ISO Runtime (Docker / Fargate) Supervisor (networked) All app tools network · provider Communicator → Redis Pub/Sub → SSE (same path as proc) ↔ Unix socket Executor (no network) LLM-gen code tool_call() → Unix socket ✗ no network ✗ no secrets SSE stream Communicator (async streaming → client) PostgreSQL Conversations Redis Props / Cache S3 / Local FS Artifacts / Files Platform-managed persistence layer

Key Terms

TermDescription
AppPackaged KDCube application registered internally with @bundle_entrypoint. It contains agent logic, tools, skills, widget UI, main UI, operations, named-service providers, and optional public endpoints.
Named serviceNamespace-owned object provider. It can publish about/schema metadata, search scopes, object actions, default open effects, and block production/rendering policies.
SceneInteractive host that composes chat, canvas, memory, task widgets, and other surfaces through context pins and object actions.
Event bus / Data busEvent bus delivers live and recorded UI-visible events. Data bus carries typed subsystem payloads and coordination messages between platform and app surfaces.
Block policyProvider-owned rule for producing or rendering bounded timeline blocks from external objects and events.
IngressAPI gateway service: auth, SSE streaming, task enqueueing, rate limiting. Handles all inbound traffic before the app sees it.
Processor / ProcQueue worker: executes apps, hosts the Operations REST API. Loads app singletons and calls execute_core() per turn.
TimelineRolling cross-conversation context persisted as artifact:conv.timeline.v1. Ordered blocks (oldest → newest) streamed as SSE events. Grows across turns; compacted when context budget is reached. The turn log is the per-turn portion appended each turn.
ReAct AgentAutonomous timeline-first loop with bounded iterations. Plan is a tool — not a separate component. No coordinator needed.
Tenant / ProjectMulti-tenancy units. All data, config, apps, and budgets are scoped to tenant + project. Each tenant gets an isolated schema in PostgreSQL.

Supported Providers

🔌
Transports: SSE · Socket.IO · REST  |  LLMs: OpenAI · Anthropic · Gemini · OpenRouter  |  Search: Brave · DuckDuckGo  |  Auth: Cognito · SimpleIDP · Delegated