Tres formas de construir
Mnemosyne OS abre tres puertas. Transportes distintos, manifests distintos, bibliotecas distintas. Elige la tuya primero.
| Quieres construir | Usa | Se ejecuta |
|---|---|---|
| Una ventana dentro del canvas de Mnemosyne: una herramienta, un panel, una app en MnemoHub | Cartucho | como iframe sandboxeado dentro de la app |
| Un programa tuyo: un servicio Node, un agente, una app de escritorio o web aparte | App Layer 2 | como proceso propio, por WebSocket local |
| Acceso a la memoria para un asistente de IA que ya usas (Claude, Cursor, Hermes) | Servidor MCP | como servidor MCP que lanza tu asistente |
Píxeles dentro de Mnemosyne: cartucho. Tu propio proceso: Layer 2. Un agente de IA: MCP.
Cartucho
Una app React o Vite cargada en un iframe sandboxeado dentro de la ventana de
Mnemosyne. Sin Node, sin Electron, sin sistema de archivos. Cada llamada al OS
es un postMessage asíncrono a través del SDK.
- Biblioteca:
@mnemosyne_os/cartridge-sdk - Manifest:
mnemo-plugin.json - Permisos:
vault:read,vault:write,model:infer,dialog:open,metrics:read,settings:read,settings:write,scout:run. Tú los declaras, el usuario los concede. - Distribución: MnemoHub, o un repo público desde el que se instala directamente.
- Empieza aquí: Tu primer cartucho.
App Layer 2
Un programa autónomo que se conecta al OS en marcha en ws://127.0.0.1:7799.
Tu código corre fuera, la memoria se queda en la máquina.
- Biblioteca:
@mnemosyne_os/sdk(MnemoClientBrowserpara navegador y renderers de Electron,MnemoClientpara Node) - Manifest:
app.manifest.json - Ámbitos: por bóveda y por intención, como
vault:read:DEV,vault:write:SOCIAL,llm:query. Verificados del lado servidor. - Genera el proyecto con un comando:
npm create @mnemosyne_os/app my-app
import { MnemoClientBrowser } from '@mnemosyne_os/sdk';
const client = await MnemoClientBrowser.connect();
await client.register(manifest); // la forma de app.manifest.json
const hits = await client.query('decisiones del refactor JWT', 'DEV', 10);
Servidor MCP
Ni una línea de código. Apunta Claude Desktop, Claude Code, Cursor o Hermes a
@mnemosyne_os/mcp y tu
asistente consulta y escribe tus bóvedas como herramientas.
Instalación, un bloque de config por cliente: Conectar Claude a Mnemosyne.
No mezcles los dos SDK
@mnemosyne_os/sdk y @mnemosyne_os/cartridge-sdk son bibliotecas distintas
para raíles distintos. El SDK Layer 2 dentro de un cartucho te da un cliente
WebSocket que el sandbox jamás dejará conectarse.
La app lo detecta: una carpeta con un app.manifest.json se rechaza, con un
mensaje que dice que un cartucho requiere mnemo-plugin.json.
La pasarela siempre está abierta
Ningún interruptor. Mientras Mnemosyne OS esté abierto, el puerto 7799
escucha. Cierra la app y las superficies externas callan.