Saltar al contenido
Menú

Producto

Soluciones

Integraciones

Desarrolladores

Idioma

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

Las páginas del proyecto se quedan en su proyecto. Al perfil solo llegan las preferencias permanentes que se ven en varios proyectos.

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.

al empezar la sesión
> 🧭 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

  1. Tus instrucciones en la conversación
  2. El archivo de reglas del repositorio: AGENTS.md, CLAUDE.md o el propio del harness
  3. La memoria del proyecto: sus páginas, reglas y decisiones
  4. 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

Un hábito visto en un solo proyecto sigue siendo asunto de ese proyecto hasta que un segundo proyecto lo muestre, o tú lo declares como regla general.
  • 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.

dentro del repositorio nuevo
# 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 forget elimina 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 = false para que no se aprenda nada de él, y consume = false para que nunca reciba el digest.

  • Revisar y reconstruir

    profile review muestra cada entrada con su evidencia y los hábitos que aún no llegan al umbral. profile rebuild vuelve 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

.ai-memory.toml en el repositorio de un cliente
# 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.

configuración del servidor
# un servidor compartido: un perfil privado por operador
[profile]
enabled = true
share = "auto"
min_projects = 2

Lee la guía completa del perfil

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.