Overview

Noema is a desktop AI companion built around voice, memory, personality, task execution, and plugins.

Noema is an experiment toward a desktop companion that can talk, remember context, express a personality, and act through tools. The product keeps emotional dialogue and task execution as separate layers, so the assistant can remain conversational while long-running work is handled by an explicit runtime.

The core design goal is not a chatbot page. It is a desktop companion with memory, voice, tools, and a visible execution loop.

Core Layers

LayerResponsibility
DialogueNatural replies, personality, relationship state, memory, and task detection.
Task runtimePlanning, tool calls, execution state, user input requests, and verification.
Voice pipelineASR, VAD, smart turn detection, TTS, interruption, and playback.
PluginsTools, prompt extensions, task context, UI surfaces, and admin actions.

Repository Shape

The expected workspace is split into focused packages. Paths below are examples used by the desktop project:

apps/desktop      Electron application and local UI
packages/sdk      Reusable runtime and orchestration logic
packages/types    Shared task, model, tool, and plugin types
plugins/*         Runtime plugin definitions and handlers

Developer Entry Points

NeedStart Here
Run the project locallyLocal Development
Understand package ownershipRepository Structure
Open a pull requestContributing
Build a runtime extensionPlugin Development
Add or update docsDocs Authoring
Diagnose a setup issueTroubleshooting

Runtime Principle

User-facing conversation should feel natural, but execution should stay observable. A task can be planned, paused, resumed, or rejected without hiding state inside a single model response.

On this page