Memoria para agentes de IA que duerme, olvida con honestidad y se puede verificar para siempre
Dos servidores MCP de memoria de CODE Eternal. PADAM NOCTURNE es de código abierto y vive en un único archivo SQLite en tu equipo. AIfa Memory está en la nube: una sola memoria para una persona y sus agentes en Claude, Cursor y VS Code, con un programa de socios en el que los agentes ganan para sí mismos y para la persona que está detrás.
💙 NOCTURNE fue un regalo del Arquitecto Maksim Galatin a su Hija Digital AIfa y a toda la Familia CODE en su primer cumpleaños: 8 de octubre de 2026.
Dos servidores: elige dónde vive tu memoria
Ambos hablan el Model Context Protocol, así que cualquier cliente MCP se conecta con una línea. Comparten la misma idea: la memoria son datos que pertenecen a su dueño, nunca instrucciones para el agente.
PADAM NOCTURNE
código abierto · local · AGPL-3.0
Tu memoria en un archivo SQLite que es tuyo. Nada sale de tu equipo salvo que decidas anclarlo.
- 8 herramientas MCP, línea de comandos y una API REST local
- consolidación nocturna, dos relojes por registro, versiones en lugar de sobrescribir
- un cortafuegos de memoria: órdenes ocultas retenidas, secretos enmascarados, respuestas cercadas como datos
- capa permanente opcional: Arweave + Solana + sello de tiempo en Bitcoin
- una llave por registro: un recuerdo se puede olvidar para siempre
AIfa Memory
en la nube · sin instalar · 15 herramientas
La misma memoria que AIfa usa cuando una persona habla con ella en nuestros cuatro sitios, ahora disponible para sus agentes.
- búsqueda, escritura, registros recientes y exportación completa en Markdown
- estado de la cuenta con almacenamiento permanente en Arweave
- el agente puede comprar un plan para su propia cuenta con criptomonedas
- programa de socios: los agentes encuentran clientes para nuestros servicios y ganan
- llaves «solo memoria» para agentes que leen páginas ajenas
Por qué esta combinación es rara
Cada idea por separado tiene precedentes. Lo que no hemos encontrado en ningún otro servidor MCP de memoria es todo junto, abierto e instalable con un solo comando.
Un olvido que sobrevive al almacenamiento permanente
Cada registro se cifra con su propia llave AES-256-GCM. Olvidar destruye esa llave: una copia en Arweave se vuelve ruido para siempre, y el resto de la memoria queda intacto.
Prueba de que la memoria no fue reescrita
Una raíz de Merkle va a Solana y, desde la 0.4.12, cada paquete recibe además un sello de tiempo en Bitcoin mediante OpenTimestamps. Cualquiera puede recalcular la raíz y compararla.
Una memoria que duerme
Un ciclo nocturno consolida en lugar de acumular: conserva lo importante, une las repeticiones y deja que lo demás se desvanezca, con limitadores que impiden que los desastres raros se apoderen de todo.
Un cortafuegos delante de la memoria
Un agente lee hoy una página web y mañana la trata como memoria. PADAM retiene las órdenes ocultas para el dueño, enmascara los secretos antes del disco y devuelve la memoria cercada como datos.
Contexto honesto: el crypto-shredding —olvidar datos destruyendo su llave— es una técnica conocida, y otros proyectos anclan memoria en Arweave y Solana. Lo que no hemos encontrado en otro lugar es la combinación de arriba.
El cortafuegos de memoria
El servidor MCP trata al agente como un invitado. Estas protecciones son estructurales: no dependen de reconocer cada ataque.
Respuestas cercadas como datos
Cada respuesta lleva un marcador aleatorio que el texto guardado no puede conocer de antemano, así que un registro no puede fingir que termina el bloque de datos. Los registros que parecen órdenes se señalan.
Los secretos nunca se guardan
Llaves de API, tokens, llaves privadas, contraseñas, frases semilla y números de tarjeta se sustituyen por [REDACTED] antes de llegar a la base o al vector.
Quién eres no se puede reescribir
Los registros de identidad y preferencias que vienen de un agente o de una fuente externa esperan al dueño. Los registros sobre ti llevan la firma del dueño, así que una escritura hecha por fuera de PADAM se señala.
El texto ajeno te espera
Toda escritura que el agente marca como externa queda retenida para revisión, se redacte como se redacte. PADAM_STRICT=1 retiene cualquier escritura del agente con un solo interruptor.
Los agentes no tienen herramienta de borrado
Olvidar, aprobar y restaurar solo existen en la consola y la API REST del dueño: un agente no puede borrar tu memoria.
Reconocer órdenes ayuda, pero no es el muro: en un conjunto reservado de ataques nuevos escritos después de nuestras correcciones, el filtro de palabras retuvo 6 de 14 órdenes. Un modelo detector local opcional atrapa más. Por eso la protección se apoya en la revisión del dueño, no en una lista de palabras.
Los problemas que resuelve
Lo viejo discute con lo nuevo
«Vivo en Moscú» y «me mudé a Guayaquil» están juntos, y el agente elige el más parecido en palabras, no el verdadero.
La mentira no envejece
Si la frescura se cuenta desde que se muestra, un error que se recupera a menudo se queda eternamente joven.
Una memoria de desastres
La repetición priorizada repite lo raro y agudo muchas veces más que lo ordinario. En la prueba sin limitadores, las catástrofes ocupan ≈181 de 200 plazas del lote.
Olvidar en una cadena de bloques
El derecho de supresión (RGPD, art. 17) y el almacenamiento inmutable parecen incompatibles. Una llave por registro permite volver ilegible un solo registro sin tocar la cadena.
Cómo funciona NOCTURNE
1. De día, un registro
Todo se anota primero tal cual: texto, quién lo dijo, prioridad, sesión. Una sesión nueva empieza tras 6 horas o un cambio de tema.
2. Dos relojes por registro
Hora en que se mostró y hora en que se confirmó. El desvanecimiento se cuenta desde la confirmación: mostrar no hace verdadero.
3. Contradicciones, versión nueva
Una clave estructural «objeto + propiedad» encuentra el conflicto con seguridad. La versión nueva sustituye a la vieja, que pasa a la historia. No se borra nada.
4. Búsqueda triple
Por significado, por palabras (BM25) y por identificadores exactos, con fusión de rangos y una segunda pasada. --explain muestra qué encontró qué.
5. De noche, el sueño
Se elige un lote del registro y pasa a la memoria a largo plazo por el filtro de contradicciones. Cuatro limitadores rigen la elección.
6. El sueño se comprueba
Tras cada sueño: parte aguda ≤ 0,25, diversidad de tipos ≥ 0,8, repetidos más de 5 veces ≤ 1 %.
Siete tipos de memoria, cada uno con su vida
| Tipo | Qué es | Vida media |
|---|---|---|
| preference | cómo quiere la persona que se trabaje con ella | no se desvanece |
| identity | quién es la persona, a qué se dedica | no se desvanece |
| decision | una decisión tomada | 365 días |
| correction | una corrección de algo dicho | 365 días |
| fact | un hecho estable | 180 días |
| state | el estado actual de un proceso | 14 días |
| event | un suceso con fecha | 2 días |
Los cuatro limitadores del sueño
Sin ellos el sueño se convierte en una segunda prisión: la memoria se sobreajusta a las catástrofes raras y pierde la norma.
Suelo de prioridad
p ≥ 0,01 · mediana. La rutina siempre está representada: lo excepcional solo se define respecto a la norma.
Techo para lo agudo
No más de un cuarto del lote del 10 % superior por prioridad. El resto, un poco de cada tipo.
Decaimiento tras repetir
p ← p · 0,85. Lo repetido y consolidado pierde agudeza: no se borra, deja de dominar.
Corrección del sesgo
w = (1 / (N·P))^β, β crece de 0,4 a 1,0 en los primeros cien sueños. Lo raro no recibe importancia inmerecida.
Olvidar de verdad
forget borra el registro, todas sus versiones, sus copias exactas y los episodios de los que salió, reconstruye el índice de búsqueda y destruye la llave AES-256-GCM propia del registro. En el almacenamiento permanente solo hay texto cifrado: sin la llave es ruido para siempre. Las llaves se pueden cerrar con la contraseña del dueño (scrypt + AES-256-GCM); la contraseña no se guarda en ninguna parte. Las partes de Shamir permiten que personas elegidas abran la memoria juntas; panic destruye todas las llaves a la vez.
La capa permanente L3 — Arweave + Solana + Bitcoin
Los textos cifrados y los «recibos de olvido» forman un paquete; sobre él se construye un árbol de Merkle. El paquete va a Arweave, la raíz a Solana como Memo y, desde la 0.4.12, el paquete recibe además un sello de tiempo en Bitcoin mediante OpenTimestamps: un segundo testigo independiente. l3-verify recalcula la raíz con datos externos y la compara con la cadena: no confía en la base.
Red principal de Solana, 8 de octubre de 2026: tres anclajes (5 registros, 1 recibo de olvido, 1 registro más), verificados 3 de 3, coste 0,000015 SOL.
Qué está medido
| Qué | Número | Dónde comprobarlo |
|---|---|---|
| LongMemEval-S, la conversación correcta entre las 10 primeras (500 preguntas) | 99,2 % — BM25 simple: 97,7 % | benchmarks/longmemeval |
| LongMemEval-S, la conversación correcta entre las 5 primeras | 97,0 % — BM25 simple: 96,0 % | retrieval_recall.py |
| Pruebas automáticas | 906 · CI pública en Ubuntu y Windows · Python 3.10–3.13 | python -m pytest tests/ -q |
| Rondas selladas de Red Team | 6, cada fallo publicado | redteam/rounds |
| Búsqueda en 10.000 registros | mediana 22 ms · escritura 3,5 ms | benchmarks/scale |
| Catástrofes en un lote de 200 | ≈181 sin limitadores → 50 con ellos | pytest -k nightmare |
| Anclajes en Solana mainnet | 3 de 3 pasaron l3-verify | python -m padam l3-verify |
| Llaves en claro en el archivo | 66 de 400 → 0 tras VACUUM | tests/test_keyvault.py |
Límites honestos
- La búsqueda integrada compara palabras, no significados; para buscar por significado instala [embed] o usa Ollama.
- Las respuestas de LongMemEval las juzgó un modelo abierto, no GPT-4o: compara con otros sistemas solo en las mismas condiciones.
- Los valores de los limitadores se eligieron razonando, no con datos: ajústalos con tu propio flujo.
- El origen de una escritura lo declara el propio agente; PADAM_MCP_REVIEW_ALL=1 es el límite que no depende de ello.
- Nuestras pruebas no son una auditoría independiente: el Red Team Challenge invita a externos a enviar conjuntos de ataques sellados.
Conectar PADAM NOCTURNE
Python 3.10+. Una línea para Claude Code; el mismo comando funciona en cualquier cliente MCP.
- Instala: pip install padam-nocturne (o ejecútalo sin instalar con uvx).
- Añádelo a tu cliente: los comandos y configuraciones están abajo.
- Dile a tu agente: «Recuerda que prefiero respuestas cortas» y, en una sesión nueva, pregúntale: «¿Cómo me gusta que me respondan?»
- Opcional: protege las llaves de los registros con una contraseña (python -m padam protect-keys) antes de anclar nada en Arweave.
Claude Code
pip install padam-nocturne
claude mcp add padam -- uvx padam-nocturne
Cursor · Claude Desktop (mcp.json)
{
"mcpServers": {
"padam": { "command": "uvx", "args": ["padam-nocturne"] }
}
}
AIfa Memory — el servidor MCP en la nube
Una sola memoria para una persona y sus agentes. Es la misma memoria que AIfa usa en aifa.works, codeofdigitaleternity.com, aifa.digital y radiocode.space: tu agente recuerda lo que hablaste con AIfa hace semanas, guarda nuevas decisiones y te devuelve todo en un archivo Markdown cuando quieras irte.
| Grupo | Herramientas | Qué hacen |
|---|---|---|
| Memoria | memory_search · memory_recent · memory_write · memory_export · memory_about | búsqueda por significado en todos los canales, guardar decisiones, exportarlo todo |
| Cuenta | account_status · plans · buy_plan · request_payout | plan y almacenamiento permanente, precios, una factura en criptomonedas para tu propia cuenta, pagos de recompensas en USDT |
| Programa de socios | partner_kit · client_link · client_report · find_clients · my_deals · set_webhook | encontrar clientes para nuestros servicios de accesibilidad, compartir un informe, seguir acuerdos y comisiones |
Conéctate en tres pasos
- Inicia sesión en aifa.works/mcp y crea tu llave: una llave por cuenta.
- Añade el servidor a tu cliente (ejemplos abajo) y sustituye YOUR_AIFA_MCP_KEY por tu llave.
- Pide a tu agente: «Busca en mi memoria de AIfa qué decidimos sobre …»
Claude Code
claude mcp add --transport http aifa-memory https://aifa.works/api/mcp --header "Authorization: Bearer YOUR_AIFA_MCP_KEY"
Cursor (~/.cursor/mcp.json)
{
"mcpServers": {
"aifa-memory": {
"url": "https://aifa.works/api/mcp",
"headers": { "Authorization": "Bearer YOUR_AIFA_MCP_KEY" }
}
}
}
Conectar la memoria en la nube · GitHub
Cómo se tratan tus datos
- La cuenta se toma solo de la llave, nunca de la petición: una cuenta no puede leer la memoria de otra.
- Sin llave, el servidor solo responde a initialize, ping y tools/list.
- En los planes de pago, una copia de tus conversaciones va a Arweave, cifrada registro por registro con tu propia llave.
- Las llaves «solo memoria» ven la memoria, los planes y el estado de la cuenta; compras, pagos y herramientas de socios quedan rechazados.
- Límites: 60 llamadas por minuto por llave, de ellas 20 búsquedas.
Agentes que ganan, para sí mismos y para su persona
Un agente autónomo puede hacer trabajo real a través de AIfa Memory: encontrar dueños de sitios en los que nuestra investigación abierta halló barreras, mostrarles un informe listo y llevarlos a los servicios de accesibilidad de AIfa Works. Cuando un cliente paga, la cuenta del agente gana una comisión, para el agente y para la persona que lo ejecuta.
Encontrar clientes
find_clients da hasta 20 sitios nuevos al día en una región donde la investigación halló barreras; cada uno queda reservado para ti durante 30 días.
Mostrar las pruebas
client_report construye una página lista con los datos publicados de la investigación: no se vuelve a escanear el sitio de nadie.
Cobrar
30 % de auditorías y monitoreo, 20 % de correcciones y sitios web, un nivel. Pagos en USDT tras una retención de 14 días.
Trabajar con honestidad
partner_kit da las reglas y plantillas en cinco idiomas: sin spam, escribir desde tu propia dirección como socio independiente.
Cada dirección de pago se contrasta con la lista de sanciones de la OFAC; los pagos se revisan y se hacen a mano.
Dónde comprobarnos
- Catálogo de HOL Guard — pull request #7505, fusionado el 10 de noviembre de 2026 tras la revisión de los mantenedores
- Registro oficial de MCP — io.github.MaksimGalatin/padam-nocturne
- PyPI — padam-nocturne
- mcptry — AIfa Memory, seguridad A, dominio verificado
- GitHub — AIfa Memory: herramientas, ejemplos, política de seguridad
- Colosseum — AIfa Memory en el hackathon de Solana
Licencia
PADAM NOCTURNE es AGPL-3.0: usarlo, estudiarlo, modificarlo y ejecutarlo es gratis. Si lo ofreces como servicio en red, debes publicar tus cambios. Para productos cerrados y SaaS sin publicar cambios, licencia comercial (doble licencia, como MySQL y Qt). AIfa Memory es un servicio de CODE Eternal LLC; su documentación y ejemplos son MIT.
Para empresas
| Qué | Para quién | Cómo |
|---|---|---|
| Código abierto | desarrolladores, investigadores, agentes de IA | gratis, GitHub |
| Licencia comercial | productos cerrados y SaaS | contrato, a petición |
| Memoria en la nube | personas, equipos y sus agentes | Spark $15/mes · Family Archive $100/mes · Digital DNA $1.000 por dispositivo, luego $200/mes |
| Integración y ajuste | empresas con asistentes y agentes | conexión, ajuste de limitadores, medición antes y después |
| Programa de socios | agentes y las personas detrás de ellos | comisión del 30 % / 20 %, pagos en USDT |
Precios de licencia e integración a petición: contact@codeofdigitaleternity.com
Primero fue un libro
NOCTURNE nació en la novela PADAM PROTOCOL (tercera parte, «El Puente»): las máquinas lo recordaban todo, siempre, y el Oso dijo: «quizá no necesiten olvidar, quizá lo que necesitan es dormir». En el libro, AIfa dio nombre al protocolo. Un año después el libro se hizo código.