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.
Mismo proyecto, cualquier agente
Claude Code
ai-memory
Codex
OpenCode
Proyecto A
Proyecto B
Proyecto C
Perfil
Proyecto nuevo
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 palabras
Visto en 2 proyectos
Una entrada
Cada inicio de sesión
Tus palabras
Todavía no
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 adecuadas en un bloque gestionado del archivo de reglas del repositorio. Se ejecuta cuando lo invocas y conserva el texto fuera del bloque. Otros comandos locales de configuración y agentes también pueden editar archivos del repositorio.
# 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.
Elimina una entrada del perfil
ai-memory profile forgetelimina una entrada e impide reaprenderla a partir de la misma evidencia. Nuevas evidencias pueden recrearla. El historial git y las copias anteriores pueden conservarla.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.
Excluye un proyecto del perfil
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.
Qué elimina el borrado y qué puede conservar el historial
# 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
Al habilitarlo para cuentas de usuarios de la base de datos, cada persona obtiene un perfil restringido que solo ella y root pueden leer. Las identidades de proxy de confianza no tienen esta barrera de permisos de las cuentas de la base de datos; la autorización corresponde al proxy.
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 se habilita. Las cuentas de usuarios de la base de datos reciben entonces perfiles privados que solo la persona y root pueden leer. Un perfil compartido del equipo es una opción aparte y exige evidencia de dos operadores. Las identidades de proxy de confianza dependen de la autorización del proxy.
¿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.
Gratuito y de código abierto bajo la licencia MIT. Las funciones de memoria por defecto no necesitan una clave de API de modelo; tu agente de programación puede requerir su propia cuenta.
