La ronda de finales de julio cerró con "agosto ya está en marcha". Se quedó corta. Veintidós días después la cuenta va por cuarenta y nueve releases en ocho repos — más cuatro lanzamientos de productos que aún no se habían anunciado cuando salió aquel post.
Cada uno de los cuatro lanzamientos ya tuvo su presentación completa, así que este post no los va a relanzar: Octoweb, un navegador AI keyboard-first; Synx, sincronización de archivos en tiempo real para desarrollo remoto; Pulsora, una base de datos de series temporales para datos de mercado; y OctoHub, un proxy LLM que por fin te enseña cada petición que hacen tus agentes. Como siempre, esta ronda recoge todo lo demás — y traza los hilos.
El hilo de la ronda pasada era la verificación: el stack aprendió a comprobar su propio trabajo. Esta ronda el stack miró hacia fuera. Casi todas las releases de abajo van de salir a tu encuentro donde trabajas de verdad — en tu branch de git, en tu máquina de build remota, en tu navegador, detrás de tu load balancer, incluso en tu gestor de paquetes. Menos "las herramientas se volvieron más listas", más "las herramientas se presentaron donde estás".
Cuatro lanzamientos en tres semanas
La versión corta de cada uno, para las conexiones que vamos a necesitar más abajo:
Octoweb 0.10.0 — un navegador WebKit escrito en Rust, sin Electron, construido keyboard-first: paleta de comandos, slots de acceso rápido, bindings readline por todas partes. El ángulo AI corre en ambas direcciones — un agente impulsado por Octomind vive en la barra lateral y ve lo que tú ves, y el navegador expone un servidor MCP eficiente en tokens para que tus agentes puedan manejarlo. Pasó de 0.9.0 → 0.10.0 dentro de esta ventana: fijar y desfijar pestañas, un tope de pestañas abiertas, refresco automático de la cuota de la cuenta y dos arreglos de estabilidad — procesos de agente huérfanos y leaks de memoria de Objective-C — que importan cuando el navegador es tu herramienta de diario a jornada completa. Que, para nosotros, lo es — cinco meses ya.
Synx 0.1.2 — sincronización bidireccional de directorios por SSH para la división más vieja del desarrollo remoto: editas en el portátil, el trabajo corre en la máquina de sesenta y cuatro núcleos. Un comando, sin daemons, sin servicio que instalar en el servidor — el mismo binario corre en los dos extremos, y el cliente lanza el lado remoto por SSH por ti. Ya va por la 0.1.2, que añadió una comprobación de seguridad que verifica el baseline de git antes de cualquier operación de borrado — el tipo de paranoia que quieres en una herramienta que toca dos copias de tu árbol de código.
Pulsora — una base de datos de series temporales en Rust, nacida porque un firehose de ticks de mercado desbordó todo lo que probamos. Bloques columnares, compresión consciente del tipo en el linaje de Gorilla, y un índice que escala con los bloques escritos, no con las filas — así que el coste de almacenamiento por fila tiende a cero.
OctoHub 0.7.3 — la puerta de entrada autoalojada para cada llamada LLM: un solo endpoint, alias de modelos, balanceo de carga y una fila en la base de datos por cada petición que fue upstream, lo que costó y quién respondió. Sacó ocho releases dentro de esta ventana, alrededor y después del post de lanzamiento: streaming SSE emulado para chat completions (0.7.0), comprobaciones de compatibilidad de modalidades entre lo que envía una petición y lo que soporta el modelo (0.6.4), y refinamientos de health checks. Si leíste nuestro análisis a fondo de observabilidad de agentes, OctoHub es la última sección hecha permanente.
Octocode 0.19.0 → 0.21.0 — el grafo aprende docs, branches y estructura en vivo
github.com/muvon/octocode · 0.19.0 → 0.21.0 · 17 de agosto
Tres releases de features, una dirección: el grafo de conocimiento dejó de ser una instantánea y empezó a ser una imagen del proyecto tal y como está ahora mismo.
El markdown se unió al grafo (0.20.0) — post completo aquí. Los docs se vuelven nodos en el mismo grafo de conocimiento GraphRAG que el código, y los enlaces entre documentos se vuelven relaciones tipadas references que un asistente puede recorrer. Tu README explica la arquitectura; ahora el grafo lo sabe. La misma release deduplicó las relaciones al cargar — de 575K aristas a 288K únicas en nuestro proyecto de prueba — y arregló lotes de relaciones que se perdían en silencio en repos grandes.
La indexación se volvió consciente de branches (0.20.1). El índice ahora sabe qué branch de git refleja, y el servidor MCP detecta el contexto de branch por su cuenta — así que los resultados de búsqueda siguen la branch en la que estás de verdad. Nota de release pequeña, cambio de calidad de vida grande si cambias de branch a menudo.
El grafo se puso en vivo (0.21.0). El titular es un constructor de grafo estructural en runtime: un grafo estructural respaldado por Tree-sitter que está siempre disponible, con el enriquecimiento persistido superpuesto cuando has indexado. Junto a él, extracción de nodos a nivel de símbolo con procedencia — nodos del grafo al nivel de funciones y tipos, cada uno sabiendo de dónde salió — y tipos de símbolo específicos por lenguaje, para que los símbolos se clasifiquen en el vocabulario propio de cada lenguaje en vez de en un único conjunto genérico. Un par de arreglos del indexador mantiene los recuentos honestos: la inflación de símbolos y la explosión de rutas ahora se evitan.
El punto que conectar: el post del markdown de la 0.20.0 defendía que la estructura de un proyecto — código y docs — es un mapa que las herramientas deberían leer. La consciencia de branches y el grafo en vivo son el mismo argumento aplicado al tiempo: el mapa debería ser el de hoy, no el de la indexación del martes pasado.
cargo install octocode --version 0.21.0
# o, nuevo esta ronda — sin necesidad de toolchain de Rust:
npm install -g @muvon/octocode
Octofs 0.5.2 → 0.10.0 — se acabó lo aburrido
github.com/muvon/octofs · 0.5.2 → 0.10.0 · 15 de agosto
La ronda pasada escribimos que la capa de filesystem "vuelve a ser aburrida, que es su trabajo". Sacó la 0.6.0 a la mañana siguiente y no paró durante seis releases. Hasta ahí llegó lo de aburrida.
El filesystem se fue a remoto (0.8.0). Octofs ahora habla SSH y SFTP: apúntalo a un host remoto y tu agente tiene en el servidor las mismas herramientas de filesystem seguras y estructuradas que tiene en local — con verificación de host keys de SSH, soporte de SSH agent incluido Windows, y los hints de shell afinados para sesiones remotas. Aquí está el hilo de esta ronda en su versión más clara: Synx existe porque tú trabajas en dos máquinas. Octofs 0.8.0 existe porque tu agente también.
Se acabó fiarse de los números de línea (0.9.0) — post completo aquí. Cada línea se direcciona ahora como N:hh — posición más un hash del contenido — y cada herramienta de edición verifica el hash antes de escribir un solo byte. Un objetivo de edición obsoleto falla de forma ruidosa, con el contenido fresco en el error, en vez de aterrizar en la línea equivocada. str_replace ganó replace_all y matching seguro con CRLF en la misma release. Si el tema de la ronda pasada era la verificación, esto es la verificación aplicada a la operación más peligrosa que realiza un agente.
El resto de la racha:
- Protección contra escrituras obsoletas e historial (0.6.0) — la misma honestidad de "el archivo puede haber cambiado desde que lo leíste", a granularidad de archivo completo, más historial de ediciones y el ruido de terminal eliminado de la salida de shell.
- Directorios de trabajo por sesión y enforcement de hints (0.7.0) — el servidor MCP mantiene un workdir por sesión, y los empujoncitos que apartan a los agentes del shell crudo hacia las herramientas precisas se volvieron configurables, desde hints suaves (el default desde la 0.8.1) hasta el rechazo duro del mal uso del shell (0.9.0).
- La búsqueda se hizo mayor (0.10.0) — matching de globs al estilo ripgrep, búsqueda de contenido multi-ruta separada por pipes, y validación de patrones endurecida en todos los frentes.
cargo install octofs --version 0.10.0
# o:
npm install -g @muvon/octofs
Octobrain 0.9.4 → 0.11.0 — la memoria gana contexto de sesión, y le pide markdown a la web
github.com/muvon/octobrain · 0.9.4 → 0.11.0 · 17 de agosto
Tres releases en la capa de memoria, cada una pequeña, cada una claramente de cara al usuario:
- Contexto de sesión (0.10.0). El servidor MCP ahora gestiona el contexto de conversación por sesión, así que las operaciones de memoria saben a qué sesión de trabajo pertenecen en vez de tratar cada llamada como a un desconocido.
- Más rápido por debajo (0.10.1). La estrategia de compactación de la base de datos de conocimiento se rehízo — mejor rendimiento y eficiencia de memoria en bases de conocimiento de larga vida.
- Negociación de contenido (0.11.0). Cuando la herramienta de conocimiento de Octobrain descarga una URL, ahora envía una cabecera
Acceptpidiendotext/markdown. Los sitios que sirven un gemelo en markdown de sus páginas le entregan al agente texto limpio en vez de un DOM que raspar. Y aquí un punto de muy cerca de casa: este blog empezó a hacer exactamente eso este mes — pide cualquier post conAccept: text/markdowny recibes la fuente markdown prerenderizada. Octobrain pregunta; muvon.io responde. Si publicas docs o un blog, plantéate sumarte — es una sola función de middleware.
La config en la 0.10.0 también se pasó a un sistema de migraciones versionado — más sobre ese patrón abajo, porque no se originó aquí.
cargo install octobrain --version 0.11.0
# o:
npm install -g @muvon/octobrain
Octolib 0.26.1 → 0.32.1 — catorce releases, cinco proveedores nuevos, un contador honesto
github.com/muvon/octolib · 0.26.1 → 0.32.1 · 17 de agosto
La capa LLM que hay debajo de todo tuvo su mes más movido hasta la fecha — catorce releases en veintidós días. Tres tramas:
El roster explotó. Cinco proveedores nuevos: xAI, Alibaba Model Studio (con visión y vídeo para los modelos Qwen), Hetzner, OpenCode y Google AI Studio — la integración de Google se separó limpiamente en Vertex AI y AI Studio, con las thought signatures de Gemini preservadas entre llamadas. Los modelos nuevos siguieron el ritmo: GLM-5.3, inkling-small, soporte de reasoning para Kimi K3 en Moonshot — y la salida de reasoning de Kimi ahora sobrevive incluso servida vía Ollama. Si un framework de agentes es un restaurante, este es el mes en que la carta se duplicó.
El contador se volvió honesto, otra vez. Los tokens de lectura cacheada ahora cuentan en los cálculos de coste, las tarifas de pricing de DeepSeek se corrigieron y se arregló un error en la facturación de tokens de prompt, y el pricing de hora punta y hora valle de DeepSeek ahora está modelado — tu batch de las 2 de la madrugada es genuinamente más barato, y ahora la contabilidad lo sabe. Es el mismo tambor de cada ronda: si Octolib reporta un número, queremos que sea el número de la factura.
La config se volvió una cosa versionada y migrable (0.29.0). Un sistema de migraciones TOML versionado — los backups de config ganaron nombres basados en el digest del contenido en la 0.30.3 — y en la misma semana, Octocode 0.20.0 y Octobrain 0.10.0 tiraron su propio manejo de config y lo adoptaron. Eso es el stack funcionando como fue diseñado: el patrón aterriza una vez en la capa compartida, y cada herramienta hereda para siempre las actualizaciones automáticas de config.
También en el montón: llamadas de herramientas en paralelo para los proveedores OpenAI, sampling condicional para endpoints compatibles con OpenAI, imagen y vídeo multimodal en OpenAI, y un ajuste de keepalive que evitó que las conexiones de larga vida murieran detrás de load balancers de red.
Un mismo movimiento en tres repos: la toolchain está en npm
Octocode, Octobrain y Octofs añadieron publicación en npm a sus workflows de release esta ronda. El significado práctico: instalar el stack ya no requiere una toolchain de Rust.
npm install -g @muvon/octocode @muvon/octobrain @muvon/octofs
Las mismas herramientas, nueva puerta de entrada. Si tu equipo vive en Node y añadir cargo al doc de onboarding era la fricción que dejaba la búsqueda semántica de código o la memoria de agentes fuera de tu setup — esa fricción ya no existe. cargo install y los binarios de las releases de GitHub siguen funcionando exactamente igual que antes.
Octomind 0.39.0 → 0.44.2 — cubierto en octomind.run
El runtime de agentes sacó diez releases en esta ventana, y merecen más espacio del que da una ronda — por eso lo tienen en octomind.run. La versión en un párrafo: las sesiones ganaron títulos y un selector interactivo con edición readline, la compresión de contexto se volvió adaptativa, aterrizó el soporte de Agent Plugins 1.0.0, y el trabajo de verificación del supervisor fue aún más hondo — un registro de evidencias persistido, procedencia de verificación sobre el ground truth, y detección de planes obsoletos. Si leíste el hilo de la verificación de la ronda pasada y te preguntabas hacia dónde iba: hacia allí.
Aguantando, a propósito
Vext aguanta en 1.3.0 — el rediseño glass y la diarización a nivel de palabra de julio se están asentando entre los usuarios. Timex aguanta en 1.2.0 y TypeTab en 1.1.0. Después de un mes de cuarenta y nueve releases en el resto, tres apps de Mac calladas resultan casi un descanso.
Cómo encajan
El stack, tal y como queda después del mes en que miró hacia fuera:
- Octolib 0.32.1 — cada llamada LLM, cinco proveedores más, cada token con su precio honesto
- OctoHub 0.7.3 — una sola puerta de entrada y un solo log para cada modelo que llaman tus agentes
- Octobrain 0.11.0 — memoria persistente con contexto de sesión, hablando markdown con la web
- Octofs 0.10.0 — acceso seguro al filesystem, ahora también en tu máquina remota
- Octocode 0.21.0 — búsqueda de código con un grafo en vivo de código, docs y branches
- Octomind 0.44.2 — el runtime, verificando más fuerte que nunca
- Octoweb 0.10.0 — el navegador donde el agente es un ciudadano más
- Synx 0.1.2 — tu árbol de código, en las dos máquinas, continuamente
- Pulsora — el firehose, almacenado y consultable
Binarios únicos, Apache-2.0, todos ellos — y tres ya a un npm install de distancia.
La ronda pasada el stack aprendió a comprobar su propio trabajo. Esta ronda salió de casa: tu branch, tu servidor, tu navegador, tu registry. Si hay un sitio donde todavía no aparece y debería, abre un issue — así es como estas rondas siguen consiguiendo sus titulares.
— Don



