Architecture

The high-level system shape behind dialogue, voice, memory, task execution, and plugins.

Noema is organized around a simple boundary: conversation remains conversational, execution remains explicit.

System Layers

desktop app
  -> dialogue layer
  -> memory and personality context
  -> task runtime
  -> plugin tools and external systems

Package Ownership

PackageOwns
apps/desktopElectron lifecycle, local UI, preload bridge, settings, provider wiring, and plugin loading.
packages/sdkSessions, task runtime, voice pipeline, memory, turn detection, prompt management, and plugin contracts.
packages/typesShared type definitions used by packages and plugins.
packages/coreCore utilities shared below the SDK layer.
plugins/*Tool implementations, task context providers, prompt extensions, admin state, and optional UI surfaces.

Data Flow

StepDescription
InputText or speech arrives from the desktop interface.
DialogueThe assistant produces a natural response or detects a task.
RuntimeTasks are planned, executed, observed, and verified.
FeedbackProgress returns through the dialogue layer.

Extension Boundary

Plugins should extend the runtime through hooks and tools. Core logic should not need plugin-specific branches.

For implementation details, see Plugin Development and Runtime Reference.

On this page