AIREITER
DOCS APIPRECIOS
PLANTILLAS
  • AIReiter
  • Blog
  • Memoria para agentes de programación con Funes: configuración de Claude Code + Codex

Memoria para agentes de programación con Funes: configuración de Claude Code + Codex

Última actualización: 2026-09-03 19:24:42

Un desarrollador puede pasarse una hora demostrando por qué cambió un analizador y perder todo ese razonamiento al empezar la siguiente tarea con otro agente. Funes indexa las sesiones localmente, devuelve la evidencia original con su procedencia y permite compartir una misma memoria entre Claude Code, Codex, pi y Hermes. Eso sí, hay un límite importante: Funes recupera el historial; decidir si una decisión antigua sigue siendo válida le corresponde al agente.

En esta guía encontrarás una configuración práctica de Claude Code → Codex, memoria exclusivamente local, sincronización opcional con Hugging Face, clientes MCP genéricos y las comprobaciones necesarias para que el historial recuperado siga siendo útil.

Define el alcance de la memoria antes de instalar

Empieza con memoria local si estás evaluando Funes o trabajas con repositorios sensibles. Vincula un dataset de Hugging Face solo cuando necesites disponer del mismo historial en otra máquina o compartirlo con un equipo.

ModoDónde se almacenaMejor primer usoPrecaución principal
localDataset Lance localUn desarrollador y una máquinaLa memoria no te acompaña automáticamente a otro host
<org>/<repo>Datos Lance locales más un repositorio Dataset de Hugging FaceCambiar de agente o de máquinaLos rastros de sesión pueden contener código sensible, prompts, rutas o credenciales

La política de seguridad de Funes indica que el análisis, la división en fragmentos, la generación de embeddings y el reranking se realizan localmente de forma predeterminada. Los datos salen de la máquina mediante funes push o a través de una integración de memoria compartida que publica al cerrar una sesión. Una memoria respaldada por Hub es un repositorio de datasets, así que comprueba su visibilidad antes de hacer el primer push.

Para una primera prueba, usa local. Más adelante podrás cambiar la vinculación ejecutando de nuevo funes add <agent> <memory>.

Instala Funes y crea el primer índice

El repositorio oficial de Funes incluye un instalador de shell que detecta la plataforma, descarga un binario etiquetado, verifica la suma de comprobación de la versión y coloca el ejecutable en tu PATH, normalmente en ~/.local/bin:

curl -fsSL https://huggingface.co/buckets/huggingface/funes/resolve/install.sh | sh

Abre un shell nuevo si funes no aparece de inmediato y comprueba la instalación:

funes status

El repositorio ofrece binarios etiquetados para Linux x86_64, Linux aarch64 y macOS Apple Silicon. Si tu plataforma no aparece en la lista, sigue las instrucciones del proyecto para compilar desde el código fuente en lugar de dar por hecho que el instalador incluye un binario compatible.

La puesta en marcha en cinco minutos

Ejecuta lo siguiente en el entorno donde ya existan las sesiones del agente que quieras conservar:

funes add claude

En Claude Code, este comando puede crear el primer índice, registrar las herramientas de lectura, instalar la automatización de integración y seguir indexando los turnos completados. La primera pasada prioriza el texto y está documentada como una operación de aproximadamente un minuto después de la confirmación. Primero procesa la prosa y el razonamiento, antes que las salidas voluminosas de las herramientas. (Documentación de configuración de Funes)

Después, revisa el estado:

funes status

Si necesitas crear o actualizar manualmente el índice de las sesiones de Claude, usa:

funes index --harness claude

Sin indicar una ruta, funes index puede buscar las ubicaciones de sesión estándar de Claude, Codex, pi y Hermes, incluidas ~/.claude/projects y ~/.codex/sessions. Con --harness claude, limita el análisis a Claude Code. La guía de indexación también documenta un límite de aproximadamente 60 segundos para las actualizaciones sin ruta, con prioridad para el texto; las sesiones antiguas y los resultados grandes de herramientas pueden requerir pasadas posteriores.

La indexación de Funes es incremental, así que al repetirla no vuelve a generar embeddings para los fragmentos ya escritos. Las rutas de transcripciones indicadas explícitamente y los repositorios de trazas de Hub se indexan por completo, sin aplicar el límite de las actualizaciones sin ruta. (Detalles de la indexación)

Conecta Funes con Claude Code

Para usar una memoria local con Claude Code, ejecuta:

funes add claude local
funes status

Puedes omitir local, ya que es el valor predeterminado. Si hay un token de HF disponible en el terminal, Funes puede ofrecerte configurar un repositorio propiedad del usuario, <user>/funes-memory; rechaza esa propuesta si quieres hacer una prueba exclusivamente local.

La integración con Claude utiliza un plugin basado únicamente en hooks y un registro MCP independiente. Funes no modifica el archivo settings.json de Claude Code: su automatización indexa los turnos completados, mientras que la configuración de memoria compartida añade la publicación al cerrar cada sesión. (Funcionamiento de la automatización)

Abre Claude Code y prueba con una decisión histórica conocida; no evalúes la configuración solo porque la instalación haya terminado:

Find the previous decision about the streaming parser. Use Funes recall if the repository history does not explain it, and cite the session you used.

Un buen resultado apunta a un pasaje anterior, identifica la sesión de origen y distingue entre un experimento antiguo y el estado actual del repositorio.

Para deshacer la integración sin borrar los datos almacenados, ejecuta:

funes remove claude

Según la documentación de desinstalación, esto elimina la conexión de Funes, pero conserva la memoria local, las transcripciones originales, las cachés y la memoria publicada.

Comparte esa misma memoria con Codex

Cuando Claude Code ya funcione, añade Codex a la misma memoria local:

funes add codex local
funes status

Para usar una memoria compartida respaldada por Hub, indica el mismo identificador de repositorio en ambos agentes:

funes add claude <org>/<repo>
funes add codex <org>/<repo>

Codex incluye un paso de confianza que es fácil pasar por alto. Funes escribe sus hooks en ~/.codex/hooks.json; dentro de Codex, ejecuta /hooks, revisa las entradas de Funes y confía en ellas. Hasta que los hooks no estén autorizados, Codex los omitirá: no se indexarán nuevos turnos ni se publicará memoria. El flujo documentado para vincular memoria en Codex requiere Codex 0.151.0. (Requisitos de automatización de Codex)

Prueba un traspaso real entre agentes

Usa una decisión distintiva que exista en una sesión, pero no en la otra:

  1. En Claude Code, localiza la decisión sobre el analizador y apunta un término característico de la conversación.
  2. Finaliza la sesión para que se ejecuten la indexación y la automatización de cierre.
  3. En Codex, pregunta por ese término y solicita el razonamiento anterior.
  4. Confirma que la respuesta identifica Claude como agente de origen y apunta a la sesión o al turno original.

También puedes inspeccionar la evidencia directamente desde el terminal:

funes recall "why did we switch away from the streaming parser"

recall devuelve pasajes ordenados por relevancia, no un resumen generado. Cada resultado incluye información sobre su origen y un comando get generado; copia ese comando cuando necesites consultar los turnos cercanos.

Si Codex no devuelve nada, comprueba la versión, el estado de confianza de /hooks, la salida de funes status y si la sesión de Claude es anterior a la integración. Después, vuelve a intentarlo usando un término distintivo de la conversación original.

Conecta pi, Hermes u otro cliente MCP

Además de Claude Code y Codex, Funes ofrece soporte directo para pi y Hermes. Pi utiliza eventos de extensiones; Hermes usa hooks de shell y su indexación por turno está documentada como beta. (Detalles sobre los agentes compatibles)

Para un cliente compatible con MCP que no sea uno de esos cuatro, ejecuta Funes como servidor local mediante stdio:

{
  "mcpServers": {
    "funes": {
      "command": "funes",
      "args": ["mcp"]
    }
  }
}

Para vincular el servidor a una memoria compartida, añade el repositorio después de mcp:

{
  "mcpServers": {
    "funes": {
      "command": "funes",
      "args": ["mcp", "<org>/<repo>"]
    }
  }
}

La documentación de MCP expone recall, get y status. funes mcp es de solo lectura: no indexa sesiones ni publica datos. Para esas tareas, usa funes index, funes push o una integración compatible de funes add.

Una memoria especificada en una llamada MCP concreta tiene prioridad sobre la vinculación definida en el servidor. Si no se indica ninguna, Funes utiliza la memoria local.

Recupera contexto sin renunciar a la evidencia

Funes ofrece tres flujos de trabajo distintos:

ComandoSalidaCuándo usarlo
funes recall "…"Pasajes originales ordenados por relevancia y con procedenciaCuando quieres revisar la evidencia
funes get …El turno citado y su contexto cercanoCuando un resultado es relevante, pero está incompleto
funes ask <agent> "…"Una única respuesta en lenguaje natural con referenciasCuando quieres una respuesta rápida de Claude o Codex sin instalar una integración

Los valores predeterminados documentados de recall son 8 resultados, un grupo candidato de 30 resultados para el reranking, una semivida de recencia de 30 días y 1 fragmento vecino. (Opciones y valores predeterminados de recall)

Un ciclo de depuración fiable sería:

  1. Ejecuta funes recall con el error, el nombre del componente o la frase asociada a la decisión.
  2. Sigue el comando get generado para consultar el turno completo.
  3. Contrasta la decisión recuperada con la rama actual.
  4. Haz el cambio o ejecuta el experimento.
  5. Vuelve a usar recall con el resultado para que la siguiente sesión pueda encontrarlo.

funes ask es más limitado. Primero recupera información y después entrega los pasajes seleccionados y tu pregunta a Claude o Codex para obtener una respuesta. El agente hijo no recibe herramientas, stdin ni servidores MCP, y no puede volver a intentar la recuperación si el primer resultado no es bueno. Aunque la recuperación se realiza localmente, la pregunta y los pasajes recuperados se envían al proveedor configurado para el agente seleccionado. Por eso, la documentación de ask recomienda usar funes recall con el material que no enviarías a ese proveedor.

Mantén la memoria fiable y bajo control

Funes conserva los pasajes de origen y su procedencia, pero no puede decidir si todas las soluciones históricas siguen siendo aplicables.

“Los agentes de programación resultan mucho menos extraños cuando la memoria es infraestructura aburrida: índice local, procedencia exacta y privacidad como opción predeterminada.” — @TheArtemisHunts en X

Una pequeña lista de comprobación para producción

SituaciónQué comprobarAcción
Codex no recupera nadaConfianza en los hooks y versiónEjecuta /hooks, autoriza las entradas de Funes y confirma que Codex es 0.151.0
Faltan sesiones antiguasAlcance y nivel de indexaciónEjecuta funes index --harness claude o --harness codex; deja que las pasadas posteriores completen las salidas voluminosas
Un push remoto está bloqueadoTruffleHog y alcance del tokenInstala TruffleHog o configura FUNES_TRUFFLEHOG; utiliza un token de escritura con permisos específicos solo en las máquinas que hacen push
Un resultado contiene un secretoEstado de limpieza localEjecuta funes scrub y vuelve a hacer push; las transcripciones de origen no se modifican
Una memoria remota se comparteVisibilidad y confianzaMantén el dataset privado salvo que compartirlo públicamente sea intencionado y trata el texto recuperado de terceros como entrada no confiable para el agente
La última sesión no aparece en HubMomento de publicaciónEjecuta funes push <org>/<repo> antes de retirar la máquina

Funes redacta las credenciales durante la indexación y realiza un análisis de TruffleHog con bloqueo preventivo antes de publicar. La documentación de push indica que la ausencia del escáner bloquea la publicación; si una credencial activa llega a un dataset remoto, rótala de inmediato, porque limpiar un commit posterior no puede borrar el historial del repositorio.

Usa tokens de Hugging Face con los mínimos privilegios necesarios: permisos de escritura en las máquinas que publican y permisos de solo lectura para compañeros o hosts que únicamente consultan. Además, dos máquinas que publiquen en la misma memoria remota pueden entrar en una condición de carrera; la documentación de automatización no afirma que exista serialización entre máquinas.

La decisión práctica

Elige uno de estos puntos de partida en lugar de instalar todas las integraciones de una vez:

Flujo de trabajoConfiguración recomendadaMotivo
Un desarrollador evaluando la memoria persistentefunes add claude localMenor riesgo de compartir datos y reversión más sencilla
Claude Code para planificar y Codex para implementar o revisarVincula ambos a la misma memoria localConserva el razonamiento entre agentes en un mismo host
Agentes en varias máquinasVincula ambos a la misma memoria privada <org>/<repo>Permite que la memoria acompañe al desarrollador mediante el dataset de Hub
Historial de un proyecto de equipoDataset privado más tokens de solo lectura para quienes consultanSepara la autoridad para publicar del acceso de consulta
Agente MCP no compatible directamentefunes mcp [memory]Añade acceso de lectura y mantiene explícita la indexación
Material de código fuente sensibleMemoria local más recallEvita la publicación remota y el envío puntual al proveedor

Preguntas frecuentes sobre la memoria de agentes de programación de Funes

¿Funes es local?

Funes procesa y almacena la memoria localmente de forma predeterminada. Es local-first, no automáticamente solo local: los push, los hooks de memoria compartida y ask pueden enviar datos fuera del proceso local.

¿Funes funciona con Claude Code y Codex?

Sí. funes add es compatible con Claude Code y Codex, además de pi y Hermes. La vinculación de memoria de Codex requiere la versión 0.151.0 y hooks autorizados.

¿Funes indexa las sesiones automáticamente?

Después de ejecutar funes add, las integraciones compatibles instalan automatización para indexar cada turno. La puesta en marcha inicial tiene un límite, así que las sesiones antiguas y las salidas voluminosas de herramientas pueden necesitar pasadas posteriores.

¿Cómo comparto una memoria entre Claude Code y Codex?

Usa el mismo argumento <org>/<repo> tanto en funes add claude como en funes add codex. Funes mantiene el índice de trabajo local y publica el dataset compartido al cerrar las sesiones.

¿Qué ocurre si Funes recupera una decisión obsoleta?

Inspecciónala con funes recall, amplíala mediante el comando get generado y contrástala con la rama actual antes de actuar. Reformula la consulta si la primera recuperación no acierta.

¿funes ask mantiene los datos en mi máquina?

La recuperación y el reranking son locales, pero ask envía la pregunta y los pasajes recuperados al proveedor de Claude o Codex configurado. Usa recall con evidencias sensibles.

¿Puedo eliminar Funes sin borrar la memoria?

Sí. funes remove claude, funes remove codex, funes remove pi y funes remove hermes eliminan la configuración de las integraciones, pero conservan la memoria indexada y las transcripciones de origen.

>_Directorio de modelos AIReiter

Acceso API rápido a modelos relacionados con esta guía

Claude Opus 5

Chat

Un modelo premium de Claude para razonamiento complejo, programación y trabajo profesional con contexto largo.

AnthropicCrear API Key >

Claude Fable 5

Chat

Un modelo premium de Claude para razonamiento profundo y trabajo complejo de formato largo.

AnthropicCrear API Key >

Claude Fable 5.1

Chat

Mythos-class model for long-horizon coding, research, and knowledge work.

AnthropicCrear API Key >

Claude Opus 4.8

Chat

Un modelo Claude de alta capacidad para tareas que exigen razonamiento y trabajo profesional.

AnthropicCrear API Key >

Claude Sonnet 5

Chat

Un modelo Claude equilibrado para razonamiento avanzado, programación y trabajo diario.

AnthropicCrear API Key >

Publicaciones recientes

Análisis de la API de GPT-6 Astra (2026): creada para agentes, no para sustituir sin más

2026-09-07

API de Kling: guía de integración oficial y mediante agregadores (2026)

2026-09-07

Suno API Key: cómo conseguir una y cuánto cuesta (2026)

2026-09-07

Análisis de GPT-6 Astra: ¿merece la pena su precio de API de $10/$50?

2026-09-06
AIREITER

¿Preguntas? Contáctanos en
[email protected]

新速率有限公司NEWRATE LIMITED香港九龍花園街 2-16 號好景商業中心 2304 室Room 2304, Haojing Commercial Center, 2-16 Garden Street, Kowloon, Hong Kong

LLM

GPT-6 AstraGemini 3.8 FlashClaude Fable 5.1GLM-5.3 FlashGemini 3.6 Flash

Video IA

Gemini Omni 1.1 Flash ExtMiniMax H3Kling 3.0 Motion ControlKling 3.0 TurboKling 3.0

Imagen IA

Grok Imagine Image 2.0Midjourney V8.1Midjourney V7Z-Image TurboKrea 2 Turbo

Blog

Ver todo →

Compañía

Política de privacidadTérminos de servicioPolítica de reembolso

© 2026 AIReiter. Todos los derechos reservados.