CodeFire y RTK: dos enfoques para el contexto de tus agentes IA
TL;DR: El contexto de los agentes de IA tiene dos problemas distintos: el ruido que llega durante la sesión (comandos verbosos, logs kilométricos) y la memoria que se pierde entre sesiones. RTK resuelve el primero comprimiendo el output de terminal antes de que llegue al LLM. CodeFire resuelve el segundo manteniendo memoria persistente entre sesiones mediante MCP. No compiten entre sí: se complementan.
El problema del contexto tiene dos caras
Cuando un agente ejecuta cargo test y recibe 4.823 tokens de boilerplate, pierde espacio de contexto que necesita para razonar sobre tu código. Ese es un problema de ruido: output útil para un humano que mira el terminal, pero inútil para el modelo que solo necesita saber si los tests pasaron y qué falló.
El segundo problema es distinto: reinicias una sesión y el agente no sabe qué decidiste ayer, qué arquitectura elegiste, qué tareas están pendientes, ni qué ficheros tocó la sesión anterior. Empieza desde cero cada vez.
Dos problemas separados requieren soluciones separadas. RTK ataca el primero; CodeFire, el segundo. Entender la diferencia es la clave para no intentar usar uno donde debería ir el otro.
¿Qué es RTK?
RTK (Rust Token Killer) es un proxy de CLI que intercepta el output de los comandos de terminal y lo comprime antes de que llegue al contexto del LLM. Funciona como un binario único en Rust, sin dependencias externas.
La mecánica es directa: cuando ejecutas rtk cargo test, RTK lanza el comando, captura el output completo y lo filtra. En lugar de pasar 4.823 tokens de resultados de tests, pasa algo como 47 passed, 2 failed más el detalle de los fallos. La reducción media en sesiones reales es del 89% según los datos de la propia herramienta.
Desde v0.9.5, la instalación incluye un hook PreToolUse que reescribe automáticamente los comandos bash hacia sus equivalentes rtk, sin que el agente tenga que hacer nada de forma explícita. Cubro el setup completo de RTK con datos de producción en el artículo RTK: reduce tokens de terminal en Claude Code hasta un 89%, así que aquí me centro en CodeFire.
¿Qué es CodeFire?
CodeFire es una aplicación nativa para macOS que actúa como capa de memoria persistente para agentes de IA. Se conecta a tu agente de terminal mediante un servidor MCP (Model Context Protocol) y expone herramientas que el agente puede llamar activamente para guardar y recuperar contexto entre sesiones.
La diferencia conceptual respecto a un simple fichero de notas o un CLAUDE.md es que CodeFire no inyecta el contexto en cada prompt de forma pasiva: el agente lo consulta cuando lo necesita. Esto evita inflar el contexto con información irrelevante para la tarea actual.
El proyecto es open source bajo licencia MIT, sin telemetría, y está disponible en GitHub bajo websitebutlers/codefire-app. Compatible con Claude Code, Gemini CLI, Codex CLI y OpenCode.
Qué guarda CodeFire
- Tareas pendientes y completadas (tablero Kanban con prioridades y etiquetas)
- Decisiones de arquitectura y notas técnicas pinables
- Ficheros modificados y resumen de cada sesión anterior
- Historial de git, PRs, commits e issues de GitHub
- Búsqueda semántica sobre el codebase (funciones, clases, documentación) mediante vector store
Este último punto merece atención: CodeFire indexa el código fuente en un vector store local y permite al agente hacer búsquedas por significado, no solo por texto literal. Es similar en concepto al LSP en Claude Code para navegación semántica, pero orientado a contexto persistente entre sesiones en lugar de navegación en tiempo real.
Comparativa: RTK vs CodeFire
| Característica | RTK | CodeFire |
|---|---|---|
| Problema que resuelve | Ruido de output en sesión activa | Pérdida de memoria entre sesiones |
| Mecanismo | Compresión de output de comandos | MCP server con memory tools |
| Plataforma | Linux, macOS, Windows | macOS (app nativa) |
| Instalación | Binario único + hook automático | App .dmg + configuración MCP |
| Coste | Gratis (OSS) / Teams desde 15€/dev/mes | Gratis (MIT) + coste de OpenRouter API |
| Compatibilidad | Claude Code, Cursor, Codex, Gemini CLI, Aider | Claude Code, Gemini CLI, Codex CLI, OpenCode |
| Telemetría | Analytics locales opcionales (rtk gain) |
Sin telemetría |
| Ahorro de tokens | 60-90% en output de comandos | Indirecto (evita re-explicaciones) |
Instalación de CodeFire paso a paso
CodeFire requiere macOS. Si trabajas en Linux, la alternativa más cercana para memoria persistente es usar Claude Code Auto-Memory con ficheros de memoria estructurados.
Paso 1: Descargar la aplicación
# Descarga desde GitHub Releases
# Ve a: github.com/websitebutlers/codefire-app/releases
# Descarga CodeFire.dmg y mueve CodeFire.app a /Applications
Paso 2: Instalar el MCP server para Claude Code
# Opción A: instalación con un clic desde la app
# Abre CodeFire → Settings → Integrations → Claude Code → Install MCP
# Opción B: instalación manual
claude mcp add codefire ~/Library/Application\ Support/CodeFire/bin/CodeFireMCP
Paso 3: Configurar OpenRouter
CodeFire necesita una API key de OpenRouter para las funciones de IA (chat RAG, búsqueda semántica). OpenRouter agrega modelos de distintos proveedores, así que puedes usar el modelo más económico para búsquedas y uno más capaz para Q&A. El coste real depende del uso, pero para un proyecto pequeño con consultas ocasionales es difícil superar los 2-3€/mes.
# En CodeFire: Cmd + , → Settings → API Keys → OpenRouter
# Añade tu OPENROUTER_API_KEY
# El modelo para búsqueda semántica puede ser uno económico (ej: mistral-7b)
Paso 4: Verificar que el MCP está activo
# En Claude Code, verifica que CodeFire aparece como herramienta disponible
claude --list-mcp-tools | grep codefire
# Salida esperada: codefire:save_task, codefire:get_context, codefire:search_code
Paso 5: Primera sesión con contexto persistente
# Abre Claude Code normalmente
claude
# El agente puede ahora guardar contexto:
# "Guarda como tarea: implementar endpoint de autenticación JWT, prioridad alta"
# Y recuperarlo en la siguiente sesión:
# "¿Qué tareas están pendientes en este proyecto?"
# "¿Qué decisiones de arquitectura se tomaron la semana pasada?"
RTK + CodeFire: el workflow combinado
Cuando usas ambas herramientas juntas, el flujo queda así: RTK comprime el ruido de terminal en tiempo real (tests, logs, diffs), CodeFire preserva las decisiones y el estado del proyecto entre sesiones. El agente tiene más contexto útil disponible, tanto en la sesión actual como al reanudar trabajo al día siguiente.
Un patrón que funciona bien al finalizar una sesión larga: pedir al agente que guarde en CodeFire un resumen de lo que se hizo, qué ficheros se modificaron y qué sigue pendiente. En la siguiente sesión, el agente recupera ese resumen en vez de explorar el codebase desde cero.
Este enfoque complementa lo que describe el post sobre control de tokens con Statusline en tiempo real: cuando tienes visibilidad del consumo y herramientas que reducen el ruido, las sesiones duran más y cuestan menos.
En Producción
Hay algunas consideraciones que cambian entre el tutorial y el uso real continuado.
Indexación semántica: CodeFire indexa el codebase en un vector store local. En proyectos grandes (>50.000 líneas) la indexación inicial puede tardar varios minutos y consumir CPU. Lo recomendable es lanzarla fuera de horas de trabajo activo.
Coste de OpenRouter: La búsqueda semántica hace llamadas a un modelo de embeddings cada vez que el agente consulta código. Para proyectos con muchas consultas, monitoriza el gasto en el dashboard de OpenRouter. Con modelos de embeddings económicos (text-embedding-ada-002 o equivalentes open source via OpenRouter) el coste se mantiene bajo, pero es un factor a tener en cuenta.
RTK en CI/CD: RTK funciona bien en entornos locales, pero en pipelines de CI (GitHub Actions, GitLab CI) la instalación del hook no persiste entre runners. Si quieres compresión de output en CI, necesitas instalar RTK como paso explícito del pipeline o usar la versión de binario sin hook.
Rotación de contexto en CodeFire: La memoria persistente acumula contexto con el tiempo. Sin limpieza periódica, el agente puede recuperar decisiones obsoletas de proyectos anteriores. Conviene archivar o eliminar tareas completadas y notas desactualizadas cada pocas semanas.
Limitación de plataforma: CodeFire solo funciona en macOS. Si tu equipo trabaja en entornos mixtos (Mac + Linux + Windows), RTK es la herramienta que funciona en todos lados. Para la memoria persistente en Linux, la alternativa más directa es combinar Claude Code Auto-Memory con hooks de pre-compactación.
Errores comunes y soluciones
Error: codefire: command not found al verificar el MCP
Causa: El binario MCP no se instaló en la ruta esperada o Claude Code no recargó la configuración.
Solución: Reinicia Claude Code tras la instalación. Verifica que ~/Library/Application Support/CodeFire/bin/CodeFireMCP existe y tiene permisos de ejecución.
Error: RTK no comprime el output aunque el hook está instalado
Causa: El hook PreToolUse se instaló en la configuración local pero Claude Code está usando una configuración global diferente.
Solución: Ejecuta rtk init --global para instalar el hook a nivel global, o verifica el fichero ~/.claude/settings.json para confirmar que el hook está registrado.
Error: La búsqueda semántica de CodeFire devuelve resultados irrelevantes
Causa: El índice está desactualizado respecto al estado actual del codebase.
Solución: Fuerza una reindexación desde CodeFire → Settings → Reindex Project. Considera automatizar la reindexación con un hook post-commit.
Preguntas frecuentes
¿Puedo usar CodeFire sin RTK?
Sí. Son herramientas independientes que resuelven problemas distintos. CodeFire no depende de RTK ni viceversa. Si tu principal dolor es olvidar el estado del proyecto entre sesiones, CodeFire solo ya aporta valor. Si el problema es el consumo de tokens durante la sesión, RTK solo es suficiente.
¿CodeFire funciona con proyectos privados sin exponer el código?
El vector store es local (en tu máquina). El código no sale de tu entorno salvo cuando el agente hace consultas de búsqueda semántica, que envían fragmentos al modelo de embeddings de OpenRouter. Si trabajas con código confidencial, revisa las políticas de datos de OpenRouter antes de activar la indexación semántica. La memoria de tareas y notas es 100% local.
¿RTK funciona con Gemini CLI además de Claude Code?
Sí. RTK es agnóstico del agente: actúa a nivel de sistema operativo interceptando el output de comandos antes de que llegue al contexto. Funciona con Claude Code, Cursor, Gemini CLI, Codex, Aider, Windsurf y Cline. El setup de Gemini CLI con MCP nativo es compatible con RTK sin configuración adicional.
Conclusión
Tratar el contexto de los agentes como un único problema lleva a buscar una herramienta que lo resuelva todo, y esa herramienta no existe. RTK es eficaz para el ruido en sesión porque trabaja a nivel de output de comandos, donde el problema ocurre. CodeFire es eficaz para la continuidad entre sesiones porque trabaja a nivel de memoria estructurada, donde ese problema ocurre.
El setup combinado tiene sentido cuando produces código de forma continua en el mismo proyecto durante días o semanas. Si solo haces sesiones cortas y aisladas, RTK solo ya reduce el coste de API de forma significativa. Si el proyecto es complejo y las sesiones se retoman constantemente, CodeFire devuelve el tiempo que se pierde en re-contextualizar al agente.
¿Has probado alguno de los dos en proyectos reales? Si tienes experiencia con CodeFire en entornos Linux (soluciones alternativas o workarounds), me interesa en los comentarios o en Twitter @sergiomarquezp_. El siguiente tema que tengo pendiente es la orquestación multi-agente con roles diferenciados, donde la gestión del contexto compartido entre agentes añade otra capa de complejidad a todo esto.