What KDCube Is
KDCube is a self-hosted platform and SDK for packaging AI applications into deployable bundles and running them in isolated environments. tenant/project is one environment, one environment can host many bundles, and one bundle is one end-to-end application unit that can combine backend logic, APIs, widget UI, main UI, agents, tools, ISO runtime execution, and scheduled work. Many bundles 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 (bundle execution, queue worker, integrations API).
Bundle UI surfaces are served by KDCube the same way bundle APIs and MCP endpoints are served. A bundle 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 bundle concept.
System at a Glance
Key Terms
| Term | Description |
|---|---|
| Bundle | Python package registered with @agentic_workflow. The unit of AI application deployment — contains agent logic, tools, skills, widget UI, main UI, operations, and optional public endpoints. |
| Ingress | API gateway service: auth, SSE streaming, task enqueueing, rate limiting. Handles all inbound traffic before the bundle sees it. |
| Processor / Proc | Queue worker: executes bundles, hosts the Operations REST API. Loads bundle singletons and calls execute_core() per turn. |
| Timeline | Rolling 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 Agent | Autonomous timeline-first loop with bounded iterations. Plan is a tool — not a separate component. No coordinator needed. |
| Tenant / Project | Multi-tenancy units. All data, config, bundles, and budgets are scoped to tenant + project. Each tenant gets an isolated schema in PostgreSQL. |