Saltar al contenido
Menú

Producto

Soluciones

Integraciones

Desarrolladores

Idioma

Producto

Más cosas que puedes hacer

Los traspasos y la búsqueda son el uso diario. Esto es lo demás que puede hacer por ti una memoria que vive en un solo servidor, desde pasar trabajo entre proyectos hasta mantener la memoria de un cliente separada de la de otro.

Un agente le pide algo al agente de otro proyecto

Dos repositorios que se hablan por una API, cada uno con su agente y su memoria. El agente del frontend conoce el protocolo. En vez de leer el repositorio entero de la API, escribe una petición completa y la deja en la bandeja de entrada de ese proyecto.

Proyecto A

send

Bandeja, se reclama una vez

Proyecto B

pop

Spec de la API

Entrada no confiable

Sin contexto compartido

Solo cruza el sobre. El proyecto A nunca lee los archivos del proyecto B, y el proyecto B nunca lee los del A.

Cómo se ve

  1. En el repositorio del frontend

    > Pídele al agente de default/api que añada un endpoint /v1/export que envíe NDJSON en streaming, que mantenga el middleware de auth actual, y mándaselo por ai-memory.

    El agente llama a memory_message_send con un cuerpo autocontenido. La petición tiene que sostenerse sola, porque quien la lee no ve este proyecto.

  2. Más tarde, en el repositorio de la API

    📬 ai-memory: 1 mensaje de otro proyecto esperando en la bandeja de entrada de este proyecto.

    > Revisa mi bandeja de entrada de ai-memory.

    El agente llama a memory_message_pop, recibe la petición con quién la envió y trabaja a partir de ella. Un segundo pop no devuelve nada.

desde la terminal
# Enviar desde el proyecto actual
ai-memory message send --to-workspace default --to-project api \
    --subject "export endpoint" "Add a /v1/export endpoint that streams NDJSON…"

# En el otro proyecto: listar sin consumir, o reclamar el más antiguo
ai-memory message list
ai-memory message pop

# Cambiar de idea antes de que lo reclamen
ai-memory message cancel --id <message-id>

La guía de mensajería

  • Para un proyecto o agente

    Un mensaje va a un espacio de trabajo y proyecto, y opcionalmente a un agente registrado. Solo ese agente puede recoger un mensaje dirigido. El navegador permite poner en cola y editar mensajes pendientes si tienes acceso a ambos proyectos.

  • Nada entra al contexto por sí solo

    El aviso al arrancar la sesión solo lleva un recuento. El texto del mensaje llega al agente con un pop deliberado, delimitado y marcado como no confiable, con el remitente fuera de la delimitación. Un proyecto puede optar por recibir el mismo aviso, solo con el recuento, también en los prompts.

  • Falla cerrado

    El proyecto destinatario tiene que existir, así que una errata se rechaza en vez de caer en una bandeja que nadie lee. Cada bandeja admite como máximo 256 mensajes pendientes.

  • Se puede retirar, queda auditado

    El remitente puede cancelar un mensaje hasta que alguien lo reclama. Los secretos se limpian al enviar, el cuerpo tiene un tamaño máximo y en un servidor compartido cada mensaje registra quién lo envió.

Separa clientes, monorepos y trabajo personal

La memoria se archiva por workspace y proyecto. Un checkout con un remoto de git se archiva por ese remoto, así que el mismo repositorio clonado dos veces comparte una memoria, y una carpeta sin remoto usa su nombre. Un archivo pequeño cambia el resto.

client-a

client-b

personal

Workspaces

.ai-memory.toml

Monorepo

Reglas

Caduca el viernes

Feedback

Un servidor, estantes separados. El archivo marcador decide en qué estante cae un directorio.
  • Un workspace por cliente

    Coloca .ai-memory.toml en ~/work/client-a/ y los repositorios que cuelguen de esa carpeta usarán ese workspace. Esto controla dónde se archiva y se busca la memoria por defecto. No es una regla de control de acceso: las búsquedas explícitas entre proyectos y los perfiles compartidos requieren atención aparte.

  • Un monorepo como un solo proyecto

    Un marcador que nombra un proyecto fija todos los subdirectorios a él, así que los paquetes comparten una memoria. Omite el proyecto y cada paquete conserva la suya.

  • Worktrees de git

    Los worktrees enlazados se resuelven al repositorio principal, así que una rama con checkout en otro sitio conserva la misma memoria.

  • Dos agentes en un proyecto

    El enrutamiento por actor separa a los clientes. Las sesiones simultáneas de una misma persona aún necesitan argumentos explícitos de workspace/proyecto o un cliente que reenvíe el ID de sesión del hook; las configuraciones MCP estáticas no siempre las distinguen.

  • Un portátil, dos empleadores

    Registra cada servidor con ai-memory server add y nómbralo en el marcador con server = "team-b". Los hooks de ese árbol van ahí y a ningún otro sitio, y un nombre que no se resuelve no envía nada.

  • Fija una identidad

    identity = "acme/platform" archiva un checkout bajo esa clave donde sea que viva, incluso sin remoto.

.ai-memory.toml en ~/work/client-a/
# Todos los repositorios bajo este directorio se archivan en el workspace client-a
workspace = "client-a"

La guía del archivo marcador

Reglas que llegan a todas las sesiones

Dile al agente que recuerde algo de forma permanente y se convierte en una página de la wiki. Las reglas se archivan aparte de los hechos, y el resumen de sesión puede ponerlas delante del agente antes del primer prompt.

  • Dilo una vez

    “Recuerda: antes de tocar el código de pagos, lee las notas de PCI.” El agente escribe una página duradera. Pídela como regla global y se aplica a todos tus proyectos.

  • El resumen las trae

    Con inject_on_session_start = true en el marcador del proyecto, el resumen empieza con páginas fijadas, reglas y slots. Las páginas que no caben se enumeran para memory_read_page. Configura inject_on_subagent_start = true por separado para dar el mismo resumen limitado a los subagentes de Claude Code.

  • El lint sugiere promoverlas

    Cuando una regla parece bastante duradera, memory_lint sugiere copiarla a CLAUDE.md o AGENTS.md. ai-memory nunca edita esos archivos por su cuenta.

  • Los registros de decisiones siguen siendo tuyos

    El servidor no lee ni escribe archivos de tu repositorio. Los agentes y los comandos locales de configuración sí pueden hacerlo. Conserva los ADR en el repositorio; [capture] ignore_paths reduce su captura por herramientas, pero no filtra prompts ni garantiza su exclusión.

.ai-memory.toml
# Anteponer páginas fijadas, reglas y espacios a cada sesión
[briefing]
inject_on_session_start = true

Notas con caducidad y comentarios de retención

  • Recuerda esto hasta el viernes

    Una página con expires_at deja de aparecer en la búsqueda normal tras esa fecha. Puedes incluir páginas caducadas en una consulta hasta que el barrido de retención las elimine, aunque estén fijadas.

  • Esa página estaba mal

    memory_feedback registra útil, no útil, obsoleta o incorrecta. Los comentarios afectan a la retención de páginas de sesión elegibles; obsoleta e incorrecta también marcan páginas para lint. No cambian el orden de búsqueda ni eliminan páginas directamente.

  • Mover una sesión

    Una sesión capturada en el proyecto equivocado, tras un cd a un directorio temporal, se puede reasignar con ai-memory move-session. Sus observaciones y su página se mueven con ella.

  • Recuperarse de una compactación

    Tras una compactación, Claude Code, Codex y Factory Droid reciben un ancla corta con el primer y el último prompt de la sesión, en lugar del paquete de inicio habitual. Todo agente lleva además una regla para releer sus propios prompts y fiarse de ellos antes que del resumen. reload context sigue trayendo un resumen acotado a mano.

Léelo en el navegador, llévatelo a donde quieras

  • Un navegador para tu memoria

    El panel integrado muestra proyectos, salud de la captura, actividad de agentes y uso por respuesta. La pestaña Conocimiento reúne índices, vínculos entrantes, evidencia por versión y búsqueda; las guías están en /web/docs.

  • Historial y reproducción

    Cada página enlaza con sus versiones, con un diff entre dos cualesquiera, y cada sesión abre una línea de tiempo de sus observaciones en orden de captura. Root ve una página de estado con los contadores de hooks y la solución para lo que falle.

  • Un formato abierto

    Cada proyecto es un bundle de Open Knowledge Format. ai-memory export-okf lo empaqueta para cualquier herramienta que lea OKF, y para todo lo demás los archivos son markdown plano.

  • Skills para tu agente

    ai-memory install-mcp instala también un fragmento corto de enrutamiento y Agent Skills gestionadas, para que el agente sepa qué herramienta responde a “¿hemos hablado de esto?” y cuál envía mensajes.

Ver la interfaz web

Tareas que asume el lanzador

ai-memory run inicia el agente a través del servidor de memoria. Al cambiar de harness, también puede pasar un archivo temporal privado con el historial visible del agente anterior en esta máquina. La ruta y el contenido permanecen locales; el archivo se borra al salir el proceso hijo. Sin una transcripción local utilizable, quedan el registro portátil y el handoff.

ai-memory run

Oferta de sandbox

Autoactualización

Cierra al salir

Acceso web

Un comando en el medio. El resto pasa alrededor sin una segunda herramienta.
  • Actualiza con un solo comando

    ai-memory upgrade descarga la versión correspondiente, comprueba el checksum, cambia el binario y renueva los hooks. Las instalaciones de Docker, Homebrew, AUR y RPM siguen su propia ruta.

  • Un aviso antes de quitar los guardarraíles

    ai-memory run --yolo dice qué está a punto de desarmar y, en Linux y macOS con ai-jail disponible, ofrece volver a ejecutar la sesión dentro del sandbox con un checklist de lo que el jail puede ver. --jail entra directo con valores predeterminados razonables.

    ai-jail en GitHub
  • Entorno para el harness

    --env KEY=VALUE y --env-file llegan tanto al agente lanzado como a la búsqueda de sesión propia de ai-memory, así que un CLAUDE_CONFIG_DIR por cuenta no necesita ningún script wrapper.

  • Las sesiones se cierran al salir

    Los agentes sin hook de fin de sesión (Command Code, Kiro CLI, Antigravity CLI) reciben su resumen y su traspaso cuando el lanzador sale. finalize-session --reopen cubre una conversación que continuó después.

  • Inicia sesión en la interfaz web

    La wiki integrada tiene páginas de inicio de sesión y de cambio de contraseña para los usuarios con contraseña, y una página solo para root donde aprobar o rechazar propuestas pendientes de auto-mejora en todos los proyectos.

  • Stopwords en tu idioma

    [search.fts] stopwords enumera las palabras funcionales de tu idioma, para que el ranking de búsqueda de texto completo en una wiki en portugués no se desvíe por de y que.

Preguntas y respuestas

¿Puede un agente de un proyecto leer la memoria de otro?

Sí, mediante consultas explícitas entre proyectos cuando quien las hace tiene acceso. Las consultas normales usan el proyecto actual. Los mensajes entregan una solicitud autocontenida a la bandeja de entrada de otro proyecto; no dan al destinatario acceso a los archivos del remitente.

¿Un mensaje recibido se trata como instrucciones?

No. Un mensaje sacado con pop va delimitado como entrada no confiable de otro proyecto y lleva un aviso que lo dice. El agente lo evalúa contigo como una petición de tarea, y el remitente aparece fuera de la delimitación para que puedas juzgar primero si te fías.

¿Qué pasa si dos sesiones revisan la misma bandeja?

El primer pop reclama el mensaje y el segundo no recibe nada. Un mensaje se reclama exactamente una vez, la misma regla que siguen los traspasos.

¿Tengo que configurar workspaces?

No. Sin archivo marcador, todo se archiva en un workspace llamado default, con el remoto de git como proyecto, o el nombre del directorio cuando no lo hay. Añade .ai-memory.toml solo cuando quieras separar clientes, tratar un monorepo como un solo proyecto, mantener aparte la memoria del trabajo y la personal, o usar un segundo servidor.

Conecta tus herramientas y la wiki del equipo

Memoria para tus propias herramientas

El SDK opcional de TypeScript usa llamadas MCP con ámbito para guardar, buscar y transferir memoria. Las escrituras condicionales detectan ediciones simultáneas. Compílalo desde el repositorio; no está publicado en npm.

Usa memoria desde código

Revisa páginas compartidas en tu repositorio

El componente opcional ai-memory-wikisync sincroniza familias seleccionadas de páginas compartidas con Markdown del repositorio. Informa de conflictos, usa escrituras condicionales y exige activar las eliminaciones. No replica servidores ni historiales privados de sesiones.

Guía de sincronización de la wiki del equipo

Mete en la memoria un documento que ya tienes

El opcional ai-memory-importer lee un archivo local que tú indicas: markdown, PDF con capa de texto, DOCX, PPTX, XLSX, CSV, VTT o SRT. Escribe una página con la fuente atribuida, hace un dry run por defecto, registra el digest del archivo y nunca reemplaza una página que no es suya. Sin OCR, sin imágenes, sin audio. También importa una base de claude-mem desde una instantánea de solo lectura, con mapeo explícito de proyectos y una ejecución en seco primero.

La guía del importador

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.