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
| Layer | Responsibility |
|---|---|
| Dialogue | Natural replies, personality, relationship state, memory, and task detection. |
| Task runtime | Planning, tool calls, execution state, user input requests, and verification. |
| Voice pipeline | ASR, VAD, smart turn detection, TTS, interruption, and playback. |
| Plugins | Tools, 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 handlersDeveloper Entry Points
| Need | Start Here |
|---|---|
| Run the project locally | Local Development |
| Understand package ownership | Repository Structure |
| Open a pull request | Contributing |
| Build a runtime extension | Plugin Development |
| Add or update docs | Docs Authoring |
| Diagnose a setup issue | Troubleshooting |
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.
