Cómo cambiar entre Claude Code y Codex sin perder contexto
Situación conocida: estás en la terminal con Claude Code, depurando un error complicado en una cola distribuida durante una hora y media, probaste cinco hipótesis que no funcionaron, y finalmente encontraste la solución correcta. Luego la sesión crece, el contexto se comprime, o se alcanzan los límites. Cambias a Codex o OpenCode en la misma carpeta, y empieza el show. El nuevo asistente necesita que le expliques todo desde cero: por qué no puedes tocar la configuración de NGINX, qué pruebas ya fallaron, y qué estructura de base de datos elegimos hace veinte minutos.
El proyecto ai-memory busca resolver este problema de una vez por todas. Fue creado por Fabio Akita (conocido en la comunidad como AkitaOnRails). La idea es dar a los agentes de IA de consola memoria compartida a largo plazo y transferencia automática de contexto entre sesiones y diferentes modelos.
¿Cuál es el concepto
Por lo general, "memoria de IA" significa una base de datos vectorial donde los registros de diálogo sin procesar se vierten como embeddings. En la práctica, estos registros están llenos de basura: llamadas a herramientas intermedias, ejecuciones de pruebas repetidas, errores de sintaxis.
El autor de ai-memory tomó un camino diferente, inspirado en el concepto de LLM Wiki de Karpathy. Aquí, la memoria está estructurada como una wiki regular hecha de archivos Markdown en un repositorio Git. El servidor intercepta los eventos del ciclo de vida del agente, los limpia de ruido innecesario, y compila un resumen comprimido al final de la sesión: qué se hizo, qué conclusiones se alcanzaron, qué tareas quedan abiertas.
Cuando abres una nueva terminal con un agente diferente, la herramienta automáticamente le proporciona un resumen estructurado justo antes del primer prompt. Sin copiar manualmente al portapapeles.
Bajo el capó y en la terminal
El servidor está escrito en Rust. Levanta un servicio local con soporte para MCP (Model Context Protocol), hooks de ciclo de vida y una interfaz web integrada.
Es compatible con prácticamente todos los CLI de agentes actuales:
- Claude Code
- OpenAI Codex
- Command Code
- Devin CLI
- OpenCode, Cursor, Zed
- Gemini CLI, Grok Build CLI, Kimi Code, Kiro CLI, Pi / OMP
Los datos se almacenan localmente en un único directorio:
<data_dir>/
├── wiki/ # Markdown-страницы под версионным контролем Git
├── raw/ # очищенные сегменты сессий
├── db/ # SQLite с индексами FTS5, сущностями и эмбеддингами
└── logs/ # логи работы
Cada proyecto está aislado por ruta del repositorio o mediante un archivo marcador .ai-memory.toml. Si trabajas con un monorepo o múltiples worktrees de Git, se vinculan en un contexto unificado.
Características principales en la práctica
Cambio fluido entre agentes
ai-memory tiene modo de sesión administrada ai-memory run. Funciona de forma sencilla:
cd /path/to/project
ai-memory run claude
# Закончили работу в Claude Code, продолжаем задачу в Codex:
ai-memory run codex --yolo
# А потом возвращаемся к сессии через Command Code:
ai-memory run command-code
El agente lee el bloque de "por dónde quedamos" al iniciar. Contiene decisiones arquitectónicas recientes, preguntas abiertas y resultados de pruebas. Si no especificas un nombre de agente, el comando ai-memory run selecciona automáticamente la sesión activa más reciente en la carpeta actual.
El comando ai-memory continue va aún más lejos: puedes invocarlo desde cualquier carpeta, y te llevará de vuelta al proyecto en el que estabas trabajando.
Wiki en lugar de volcado de registros
Toda la base de conocimiento se almacena como texto plano. Puedes abrirla en Obsidian, leerla con grep, o navegar por ella en el navegador integrado en el puerto 127.0.0.1:49374/web.
Si quieres registrar una regla importante del proyecto, simplemente dile al agente: "guarda en memoria permanente que usamos NATS JetStream para colas." El agente llama a la herramienta MCP memory_write_page, y aparece un archivo Markdown versionado en el repositorio.
La búsqueda en la base de conocimiento es híbrida. La búsqueda de texto completo SQLite FTS5 se ejecuta primero, luego la coincidencia de entidades y las conexiones de grafo entre páginas. Si conectas un modelo de embeddings, la búsqueda vectorial también se añade.
Al mismo tiempo, ai-memory puede distinguir entre reglas arquitectónicas estables y notas de sesión temporales, priorizando las páginas estables de las carpetas _rules/ y decisions/.
Funcionamiento sin LLMs externos
Un detalle interesante: ai-memory se inicia sin ninguna clave de API de red neuronal. En modo "zero-LLM", la búsqueda funciona a través de FTS5 y entidades, y los resúmenes de sesión se ensamblan usando reglas determinísticas.
Si configuras las claves (Anthropic, OpenAI, Gemini, o local Ollama a través de un endpoint compatible), la herramienta habilita la consolidación inteligente de páginas, detección de conflictos en la base de conocimiento, y autoaprendizaje en segundo plano para el proyecto.
Inicio rápido a través de Docker
La forma más rápida de desplegar el servidor en tu estación de trabajo:
# 1. Запускаем локальный сервер
docker run -d --name ai-memory \
--restart unless-stopped \
-p 127.0.0.1:49374:49374 \
-v ai-memory-data:/data \
-e AI_MEMORY_LLM_PROVIDER=anthropic \
-e ANTHROPIC_API_KEY=sk-ant-... \
akitaonrails/ai-memory:latest
# 2. Подключаем MCP и хуки для Claude Code
ai-memory install-mcp --client claude-code --apply
ai-memory install-hooks --agent claude-code --apply
Para usuarios de Arch Linux, hay paquetes listos ai-memory-bin con unidades systemd disponibles en AUR. Los binarios nativos para Apple Silicon e Intel se publican para macOS.
Si el servidor se mueve a un servidor doméstico o red local, la seguridad se configura a través de tokens Bearer. El servidor escucha solicitudes, verifica la autorización, y separa la memoria entre múltiples desarrolladores a través de ranuras de operador.
Para qué sirve
La herramienta resuelve tres tareas específicas.
Primero — desarrollo multiagente. Es más rápido redactar una tarea en Claude, refactorizarla en Codex, y hacer revisión de código a través de Gemini. Sin una capa de memoria compartida, este flujo de trabajo se convierte en una rutina interminable de copiar contexto.
Segundo — incorporar un agente a un repositorio antiguo. El comando ai-memory bootstrap lee el historial de commits, README y documentación del proyecto, generando páginas iniciales de la base de conocimiento.
Tercero — auditoría local. En cualquier momento puedes abrir la interfaz web, revisar las notas generadas, revertir una mala edición a través de ai-memory restore-page, o limpiar datos obsoletos.
Resumen
ai-memory atrae con su enfoque pragmático. En lugar de construir otra pila pesada con bases de datos vectoriales externas, el autor tomó Rust rápido, SQLite confiable, y Git simple con Markdown.
Si usas activamente asistentes de IA de terminal y estás cansado de re-explicar el contexto del proyecto a los modelos todos los días, el repositorio definitivamente vale la pena echarle un vistazo. Empieza con una ejecución local emparejada con tu CLI agent principal para evaluar qué tan conveniente se siente la transferencia de contexto entre tareas.
Proyectos relacionados