Producto
Tus hábitos te siguen al próximo proyecto
Cada proyecto guarda su propia memoria, así que cambias de agente sin volver a explicar nada. El perfil lleva la otra mitad: cómo sueles trabajar, aprendido de tus proyectos y entregado a cada proyecto nuevo al empezar la sesión.
Dos movimientos, una memoria
De lado, de un agente a otro, la memoria del proyecto se queda. Hacia adelante, de un proyecto al siguiente, el perfil te acompaña.

Lo primero que oye una sesión nueva
La sesión empieza con un bloque corto y delimitado, antes del traspaso y del resumen del proyecto: una línea por entrada, cada una con la página de la que viene, filtrada por el stack que usa el proyecto. Es idéntico byte a byte entre sesiones, así que cabe en el prompt en caché del harness.
> 🧭 ai-memory: your usual choices (cross-project profile)
> Your usual choices from other projects. Use them as defaults when this
> project's rules and the user say nothing; say which default you applied.
- [javascript] Use pnpm, not npm. (profile/tools/pnpm.md)
- Keep integration tests in tests/suite. (profile/testing/layout.md)
Primero las reglas, la memoria como respaldo
- Tus instrucciones en la conversación
- El archivo de reglas del repositorio: AGENTS.md, CLAUDE.md o el propio del harness
- La memoria del proyecto: sus páginas, reglas y decisiones
- El perfil: lo que sueles hacer entre proyectos
Si un archivo de reglas dice npm, un perfil que dice pnpm no se aplica. Si nada dice nada, el agente usa el perfil en lugar de volver a preguntar, e indica qué valor por defecto aplicó.
Cómo aprende, sin LLM
Una pasada del servidor se ejecuta al terminar cada sesión y una vez por hora. Lee lo que es nuevo y nada más.

Tus propias palabras
Prompts que suenan a preferencia: siempre, nunca, prefiero X a Y, a partir de ahora, por defecto, y las formas en portugués. Nunca se leen las preguntas, los bloques de código ni nada que haya impreso una herramienta.
Páginas curadas y el stack
También cuentan las reglas, decisiones, gotchas y procedimientos curados del proyecto, y sus lenguajes pasan a ser entradas del stack. Se omiten las páginas que el planificador aprueba automáticamente; las aprobadas por una persona siguen contando.
Dos proyectos, o una declaración general
Una elección entra en el perfil cuando aparece en al menos dos proyectos, o cuando tú mismo lo extiendes más allá del proyecto, por ejemplo con «en todos mis proyectos». Gana la decisión más reciente, y la anterior queda en el historial de la página.
Evidencia en cada entrada
Cada entrada registra los proyectos y las fechas de las que viene, tus palabras, cuántos proyectos la respaldan y su confianza. Con un LLM configurado, la pasada clasifica y reformula las entradas mediante llamadas validadas por esquema, y vuelve a las listas de palabras ante cualquier error.
Un proyecto nuevo arranca con ventaja
Un repositorio que aún no tiene memoria recibe una base más amplia, y un comando convierte tus elecciones habituales en reglas que ve todo el mundo.
ai-memory profile apply escribe las entradas que encajan con el repositorio en un bloque gestionado de su archivo de reglas, entre dos marcadores, y no toca nada fuera de ellos. Ejecútalo de nuevo y solo cambia el bloque. Es el único comando que escribe en tu repositorio, y solo se ejecuta cuando tú lo ejecutas.
# ver el bloque y el archivo al que iría
ai-memory profile apply --dry-run
# escribirlo
ai-memory profile apply
# quitarlo de nuevo
ai-memory profile apply --remove
Tú mantienes el control
Las entradas son páginas de wiki normales: markdown en git, con una versión en cada cambio.
Olvida, y se queda olvidado
ai-memory profile forgetelimina una entrada, y la pasada no la recreará con la misma evidencia. Solo vuelve si lo dices otra vez.Tus ediciones mandan
Una entrada que editas a mano es tuya desde ese momento. La pasada nunca reescribe una página que no escribió ella, ni una que cambió después.
El trabajo de clientes y bajo NDA queda fuera
El marcador de un proyecto puede fijar
contribute = falsepara que no se aprenda nada de él, yconsume = falsepara que nunca reciba el digest.Revisar y reconstruir
profile reviewmuestra cada entrada con su evidencia y los hábitos que aún no llegan al umbral.profile rebuildvuelve a leer cada proyecto desde el principio, nunca elimina una entrada y deja intacto lo que editaste o eliminaste.
# este proyecto ni enseña ni recibe el perfil
[profile]
contribute = false
consume = false
Una persona, un perfil. Un equipo, por consentimiento.
En un servidor de un solo operador, el perfil está activado y lo comparten todos los workspaces. En un servidor multiusuario sigue desactivado hasta que lo actives.
Privado por operador
Si lo activas en un servidor compartido, cada persona tiene un perfil restringido que solo ella y root pueden leer. Nada de lo que aprenden los agentes de una persona llega a los de otra.
Un perfil de equipo necesita dos voces
share = "global"o"workspace"crea un perfil que recibe todo el mundo. Un hábito entra solo con evidencia de al menos dos operadores, y el digest lleva el encabezado de valores por defecto del equipo, para que el agente sepa que son compartidos.Trabajo y vida personal por separado
share = "workspace"mantiene un perfil por workspace, para dos clientes o para el trabajo y la casa.
# un servidor compartido: un perfil privado por operador
[profile]
enabled = true
share = "auto"
min_projects = 2
Preguntas y respuestas
¿El perfil anula las reglas de mi proyecto?
No. Primero van tus instrucciones, luego el archivo de reglas del repositorio y después la memoria del proyecto. El perfil es el último respaldo, se usa solo cuando nada más específico dice algo, y el agente indica qué valor por defecto aplicó.
¿Necesita un LLM?
No. La recolección y la convergencia funcionan con listas de palabras y la declaración más reciente. Con un proveedor configurado, la pasada lo usa para clasificar y reformular entradas mediante llamadas validadas por esquema, y vuelve a la ruta sin LLM ante cualquier error. Pon llm = false para mantenerlo totalmente sin conexión.
¿Puede aprender algo del código de un cliente?
Lee tus propios prompts y las páginas curadas del proyecto, nunca la salida de las herramientas, así que un texto que un agente solo vio no puede convertirse en preferencia. Un proyecto con contribute = false en su marcador queda fuera por completo, incluida la evidencia reunida antes.
¿Qué pasa en un servidor compartido?
El perfil está desactivado hasta que un operador lo active. Entonces cada persona tiene un perfil privado que solo ella y root pueden leer. Un perfil de equipo es una decisión aparte, y admite un hábito solo con evidencia de dos operadores.
¿Puedo desactivarlo?
Sí. enabled = false o share = "off" en la configuración del servidor lo elimina por completo. inject_on_session_start = false deja el digest fuera del inicio de sesión mientras el perfil sigue respondiendo consultas.
Dale memoria a tus agentes hoy.
Gratis y de código abierto bajo la licencia MIT. No necesitas cuenta ni clave de API.