Volver a proyectos

Sereno

Qué sesión trabaja, cuál espera y cuál está bloqueada

Sereno mostrando sesiones de agentes y sus estados en una interfaz de terminal
Sereno en modo demo: trabajo, comandos, espera y sesiones paradas.

En una frase

Sereno es una interfaz de terminal en un solo archivo Python que lee los historiales locales de Claude Code, Codex, Gemini, Kilo y Antigravity. Distingue sesiones que escriben, ejecutan un comando, esperan respuesta o ya están paradas, sin enviar datos fuera del equipo.

El problema

Sereno nació al intentar seguir varias sesiones de agentes a la vez. Saber que un proceso sigue abierto no aclara si está escribiendo, dentro de un comando, esperando una respuesta o parado.

Los cinco CLI guardan su actividad de forma distinta. Sereno lee sus historiales locales y devuelve estados comparables sin copiar prompts reales ni depender de un servicio remoto.

Cómo funciona

  1. Los historiales se leen donde ya existen

    Sereno recorre la cola local de transcripts de Claude Code, Codex, Gemini, Kilo y Antigravity. Cada lector traduce su formato al mismo conjunto de estados sin subir el contenido a otro servicio.

  2. El estado sale del último evento útil

    Un tool_use sin su tool_result significa que la sesión está dentro de un comando. El stop_reason y los eventos posteriores permiten separar writing, waiting y stopped.

  3. La caché sigue el mtime

    Cada transcript solo se vuelve a analizar cuando cambia su fecha de modificación. El refresco mantiene el coste acotado aunque haya muchas sesiones abiertas.

  4. La ausencia de red tiene una prueba

    La aplicación no abre conexiones. Un test sobre el AST rechaza imports de módulos de red para que esa garantía no dependa de recordar una norma al editar el archivo.

  5. La demo no toca sesiones reales

    El modo demo usa historiales sintéticos dentro de un entorno aislado. La captura pública enseña los estados sin nombres de clientes, prompts ni datos del equipo.

Dónde está el listón

  • 1 archivo Python 3.8+
  • 0 dependencias fuera de la biblioteca estándar
  • 5 CLI con estados comparables

macOS y Linux. Python 3.8+, curses y tmux. Licencia MIT; instalable con Homebrew. 100 PRs mergeados con CI en seis combinaciones, 78 tests y 176 mutantes vigilados. La demo usa datos sintéticos.

Contáctame

Los tres campos son obligatorios.