| Otros idiomas: English | Deutsch | 中文 | 日本語 |
Memoria portable, auditable y local-first para Codex, Claude y flujos con agentes de programacion en local o mediante CLI de terceros.
codex-agent-mem conserva memoria duradera fuera del runtime del modelo, comprime continuidad en packs mas chicos, y arrastra estado operativo para que Codex retome con menos repeticion, menos cierres falsos y mas control sobre lo que entra en contexto.
Todo se guarda y procesa localmente en este MCP: base SQLite, indice FTS, snapshots, metadata de telemetria y UI opcional de inspeccion. codex-agent-mem no envia tu memoria, datos del proyecto, prompts ni telemetria a ningun servidor externo.
codex-agent-mem nacio para Codex y flujos GPT-5.x, pero evoluciono como una capa portable de memoria MCP para runtimes compatibles con MCP como Codex CLI, Codex Desktop, Gemini CLI con Gemini 3.1 Pro, Claude Code con Opus 4.7 o Sonnet 4.6, Qwen Code con modelos locales Qwen 3.6 / Qwen 3.5 via Ollama, DeepSeek-V3.2 y Minimax M2.5 via Ollama Cloud, y agentes locales personalizados. En evaluacion continua: Kimi Code CLI, GLM-5, Kimi K2.5 y Kimi K2.6. Kimi Code CLI conecta con el servidor MCP codex-agent-mem via stdio; la validacion live completa con tool-calls del modelo se mide por separado antes de publicarse como validada. Tambien fue auditado externamente a nivel de protocolo para compatibilidad con Grok / xAI y orquestadores MCP tipo DeepSeek.
codex-agent-mem vive en local, mantiene la memoria auditable y bajo demanda, y no envia tu memoria almacenada a ningun servicio externo.
Distincion de alcance: la validacion en Codex CLI y Codex Desktop no equivale a una validacion de conector ChatGPT web/app, y la validacion en Claude Code no equivale a una validacion de Claude web / claude.ai. ChatGPT web/app y Claude web quedan como superficies de integracion futuras separadas, no como runtimes validados en v1.0.
Baseline publica. Construida en slices chicos y verificables, todavia en evolucion, pero ya pensada para uso real.
minimal, standard y full--read-only real para bloquear tools mutantes y evitar escrituras lateralesstructuredContentknown_pack_hash / not_modified para no reenviar packs de continuidad sin cambios| Releases visibles: v1.0.0 Low-Impact Runtime | v0.9.0 Governance + Runtime Hardening |
| Escenario | Perfil | Tokens fuente | Tokens pack | Ahorro | not_modified |
Tools | Lazy init | Read-only |
|---|---|---|---|---|---|---|---|---|
| Small project continuity | minimal |
1,841 | 216 | 88.27% | true | 4 | false->true | true |
| Medium agent workflow | minimal |
4,855 | 233 | 95.20% | true | 4 | false->true | true |
| Large repeated audit | minimal |
9,731 | 232 | 97.62% | true | 4 | false->true | true |
| Sub-agent handoff example | minimal |
6,523 | 239 | 96.34% | true | 4 | false->true | true |
En estos fixtures reproducibles, el contexto operativo repetido se redujo de ~22,950 tokens fuente a ~920 tokens de pack, una reduccion aproximada de 96.0%. No es una garantia universal; muestra el efecto cuando el agente normalmente reenviaria la misma continuidad del proyecto.
Tools=4 corresponde al perfil minimal usado en estos fixtures. El perfil standard expone 17 tools para recuperacion, gobernanza y auditoria mas amplias.
| Runtime | Configuracion | Metricas observadas | Resultado |
|---|---|---|---|
| Codex Desktop | Codex Desktop usando GPT-5.4 en este entorno Codex, razonamiento xhigh, fixtures sinteticos v1.0 | ~22,950 tokens fuente -> ~920 tokens de pack, ~96.0% menos contexto repetido, not_modified=true en packs repetidos |
Verificacion publica reproducible |
Codex CLI / codex exec |
Ruta MCP stdio de Codex CLI, ejecucion corta / efimera | mismo servidor MCP local y estilo de config que Desktop; el lifecycle corto de CLI fue validado por separado del comportamiento del host largo-vivo de Desktop | Ruta Codex CLI validada |
| Gemini CLI | Gemini 3.1 Pro, MCP stdio codex-agent-mem, standard, read-only, compact |
proceso estable, contador de requests subio como se esperaba, mem_search devolvio raiz objeto {items, count} con count=2 |
Validacion live aprobada |
| Claude Code | Claude Opus 4.7, solo MCP stdio codex-agent-mem, standard, read-only, compact |
requests 3 -> 8, lazy init false -> true, same_db_process_count=2 con un host Claude Code activo, spawn_storm_warning=false, mem_search count=2 |
Validacion live aprobada |
| Qwen Code | Qwen Code 0.15.0, Ollama local, qwen3.6:latest, standard, read-only, compact |
llamadas MCP reales a mem_context_pack, mem_search, mem_open_work, mem_completion_check, mem_health_runtime; requests 8, lazy init true, spawn_storm_warning=false, not_modified=true |
Validacion live local aprobada |
| Smokes de modelos Qwen locales | Qwen Code 0.15.0 con modelos Ollama qwen3.6:35b-a3b-q8_0 y qwen3.5:9b |
ambos modelos respondieron smoke CLI e invocaron mem_health_runtime via MCP stdio; requests 4, read_only=true, cierres limpios por stdin_eof |
Smokes live locales aprobados |
| DeepSeek-V3.2 | Qwen Code 0.15.0, deepseek-v3.2:cloud via Ollama Cloud, standard, read-only, compact |
llamadas MCP reales a mem_context_pack, mem_search, mem_health_runtime; requests 6, spawn_storm_warning=false, not_modified=true |
Validacion MCP live cloud-backed aprobada |
| Minimax M2.5 | Qwen Code 0.15.0, minimax-m2.5:cloud via Ollama Cloud, standard, read-only, compact |
llamadas MCP reales a mem_context_pack, mem_search, mem_health_runtime; requests 6, not_modified=true |
Validacion MCP live cloud-backed aprobada |
| Kimi Code CLI | Kimi Code CLI 1.38.0, MCP stdio codex-agent-mem, standard, read-only, compact |
kimi mcp test codex-agent-mem conecto y listo 17 tools; la validacion completa con tool-calls de Kimi K2.5 / Kimi K2.6 sigue en evaluacion continua |
Conexion MCP validada; no se afirma validacion del modelo |
| Grok / xAI | Auditoria externa de modelo/runtime; no hay Grok CLI local disponible | compatible por protocolo mediante un orquestador MCP stdio o un wrapper JSON-RPC stdio fino | Auditado externamente; no validado live local |
Grok es auditoria externa, no una sesion CLI live local en esta maquina. Qwen Code ya fue validado localmente con modelos Ollama y MCP stdio. DeepSeek-V3.2 y Minimax M2.5 fueron validados live con modelos cloud-backed de Ollama, no con inferencia local. Kimi Code CLI ya quedo conectado al MCP, mientras que la validacion a nivel modelo con Kimi K2.5 / Kimi K2.6 sigue como evaluacion continua porque los modelos completos requieren una via runtime separada. En general, codex-agent-mem es agnostico al modelo en la capa MCP; la tabla lista los pares modelo/runtime ya medidos en vivo, y se agregan nuevos pares a medida que se capturan sus mediciones live. Para hosts sin cliente MCP nativo, la via esperada es un wrapper fino JSON-RPC stdio o un orquestador compatible con MCP.
codex-agent-mem incluye un sandbox reproducible de verificacion y un export publico de evidencia para v1.0.0.
La corrida publica actual fue ejecutada con Codex Desktop usando GPT-5.4 en este entorno Codex, razonamiento xhigh sobre fixtures sinteticos. Mide compresion de contexto, evitacion de reenvio con known_pack_hash, inicializacion lazy, perfil minimo de tools, seguridad read-only, response diet, telemetria local, control de cierre y un ejemplo con sub-agentes. Es una validacion de Codex Desktop, no una validacion de conector ChatGPT web/app.
Ver: Verification Evidence y v1.0.0 Results.
codex-agent-mem funciona en Claude Code como servidor MCP stdio estandar. No instala hooks de inicio de sesion, hooks de cierre ni resumen automatico post-turno. La memoria se recupera bajo demanda con tools MCP como mem_context_pack, mem_search, mem_open_work y mem_completion_check.
Si ya usas claude-mem, ambas herramientas pueden coexistir tecnicamente. Para flujos de menor overhead y menor latencia, conviene usar una sola capa de memoria activa a la vez. En validacion local con un host Claude Code activo, codex-agent-mem solo mantuvo el runtime compacto (same_db_process_count=2, spawn_storm_warning=false). Al correrlo junto a claude-mem, la superficie visible subio a 61 tools, se agrego un bloque de inicio de sesion de unos 6,995 tokens y aparecieron demoras post-turno por stop hooks. Esto no rompe codex-agent-mem, pero hace mas dificil comparar resultados y puede aumentar overhead y latencia.
Usa codex-agent-mem si prefieres memoria local-first, auditable, pull-based, con recuperacion explicita y cierre determinista. Usa plugins de memoria adicionales solo cuando busques intencionalmente su comportamiento automatico basado en hooks.
Para flujos Claude Code sensibles a tokens, codex-agent-mem esta pensado para ser barato por defecto: sin inyeccion al inicio de sesion, sin resumen por stop hook, respuestas compactas, presupuestos explicitos y atajo pack_hash / not_modified cuando el pack no cambio.
AGENTS.md solo cuando realmente convienenotify, MCP stdio, sincronizacion opcional de AGENTS.md y cierre defensivo del runtimemem_open_work y mem_completion_check hacen que el trabajo abierto pese mas que un viejo “done”Sirve para auditorias largas, continuidad de proyectos complejos y sesiones donde el problema no es solo recordar decisiones, sino no perder alcance ni dar por terminado algo que sigue abierto.
1.0.0 es la release base actual.
Hoy funciona:
notify de Codex sobre agent-turn-completesession_summary, decision, objective, constraint, pending_item, completed_item, blocker y completion_claimproject_dod, mission_dod y session_dodmicro, normal y fullAGENTS.md con --sync-project-doc cuando el pack es realmente mas chico que el contexto fuentemem_open_work y mem_completion_checkmem_recent_changesmem_scope_guardbudget=automem_provenancemem_healthmem_health_runtimemem_snapshot_create, mem_snapshot_list y mem_snapshot_restoremem_policy_validate, mem_policy_add, mem_policy_list y mem_policy_removemem_inheritance_add, mem_inheritance_list y mem_inheritance_removemem_repair_propose y mem_repair_apply/ui, incluyendo cambios recientes, scope guard, provenance, health, snapshots y estado de gobernanzacodex-agent-mem-policymem_searchmem_getmem_recentmem_project_briefmem_open_workmem_completion_checkmem_recent_changesmem_scope_guardmem_context_packmem_provenancemem_healthmem_health_runtimemem_snapshot_listmem_snapshot_createmem_snapshot_restoremem_policy_listmem_policy_validatemem_policy_addmem_policy_removemem_inheritance_listmem_inheritance_addmem_inheritance_removemem_repair_proposemem_repair_applyLo que todavia queda fuera de alcance a proposito:
Codex hoy no instala herramientas MCP arbitrarias desde una URL de GitHub en un solo paso.
El camino soportado sigue siendo:
notify y mcp_servers de Codex a los comandos instaladosEste repositorio esta preparado para que ese flujo sea limpio y repetible.
pipx desde GitHubInstala directo desde la URL del repositorio:
pipx install "git+https://github.com/MarceloCaporale/codex-agent-mem.git"
codex-agent-mem-smoke
codex-agent-mem-bootstrap-codex --db-path C:\Users\YOU\.codex_agent_mem\codex_agent_mem.db
git clone https://github.com/MarceloCaporale/codex-agent-mem.git
cd codex-agent-mem
python -m venv .venv
.\.venv\Scripts\Activate.ps1
pip install -e .[dev]
pytest -q
codex-agent-mem-smoke
Genera un snippet listo para pegar:
codex-agent-mem-bootstrap-codex --db-path C:\Users\YOU\.codex_agent_mem\codex_agent_mem.db
Eso imprime el bloque notify, el bloque [mcp_servers."codex-agent-mem"], un idle timeout explicito para stdio y las aprobaciones read-only de las tools MCP para pegar en ~/.codex/config.toml.
Si tambien quieres reinyeccion automatica en AGENTS.md, agrega --sync-project-doc al comando notify.
Una vez configurado, el agente debe usar codex-agent-mem de forma proactiva cuando la continuidad importa. No deberias tener que repetir “usa el MCP de memoria” cada pocos turnos.
Patron recomendado:
mem_context_pack cuando puedan importar decisiones previas, trabajo pendiente, blockers, restricciones o estado del proyectoknown_pack_hash en chequeos repetidos para que los packs sin cambios devuelvan not_modified en vez de reenviar contextomem_search solo cuando el pack compacto no alcancemem_open_work y mem_completion_check en tareas de implementacion, validacion, publicacion, migracion o documentacionDe ahi sale el ahorro practico de tokens: continuidad compacta primero, expansion puntual solo cuando hace falta, y no reenviar el mismo pack si nada cambio.
Tambien hay ejemplos en examples/codex.
Levanta la API de inspeccion:
codex-agent-mem-api --db-path C:\Users\YOU\.codex_agent_mem\codex_agent_mem.db
Luego abre:
http://127.0.0.1:37770/ui
Levanta el servidor MCP:
codex-agent-mem-mcp --db-path C:\Users\YOU\.codex_agent_mem\codex_agent_mem.db
Corre el smoke test:
codex-agent-mem-smoke --db-path C:\Users\YOU\.codex_agent_mem\codex_agent_mem.db
Eso inserta un turno de ejemplo, extrae observaciones y verifica recuperacion reciente y generacion de project_brief.
En lenguaje simple: esto busca reducir la cantidad de contexto repetido que hay que volver a pasarle a Codex. No lo elimina por completo, pero si puede recortarlo de forma util.
Lo que hoy podemos decir honestamente a partir de validaciones locales:
96.0% en ese escenario controlado88% y 97% de reduccionEjemplos del sandbox publico v1.0:
1,841 -> 216 tokens aproximados4,855 -> 233 tokens aproximados9,731 -> 232 tokens aproximados6,523 -> 239 tokens aproximadosImportante: no es una garantia fija por prompt. Si el pack generado no es realmente mas chico que el contexto fuente, codex-agent-mem no lo reinyecta y evita fingir un ahorro que no existe.
Este repositorio incluye:
pyproject.toml instalable