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 systemsPackage Ownership
| Package | Owns |
|---|---|
apps/desktop | Electron lifecycle, local UI, preload bridge, settings, provider wiring, and plugin loading. |
packages/sdk | Sessions, task runtime, voice pipeline, memory, turn detection, prompt management, and plugin contracts. |
packages/types | Shared type definitions used by packages and plugins. |
packages/core | Core utilities shared below the SDK layer. |
plugins/* | Tool implementations, task context providers, prompt extensions, admin state, and optional UI surfaces. |
Data Flow
| Step | Description |
|---|---|
| Input | Text or speech arrives from the desktop interface. |
| Dialogue | The assistant produces a natural response or detects a task. |
| Runtime | Tasks are planned, executed, observed, and verified. |
| Feedback | Progress 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.
