releasetuipluginsperformance

OmniMon v6.0.0 - TUI en Tiempo Real y Ecosistema de Plugins Lua Embebido

v6.0.0 es un release mayor: modo TUI completo estilo htop/btop (omnimon tui), ecosistema de plugins Lua embebido con VMs en sandbox, chat IA en terminal y distribución nativa global.

OmniMon v6.0.0

Un release mayor que lleva OmniMon a la terminal y abre la puerta a extensibilidad definida por el usuario. 6 commits, +2,900 líneas en 2 ramas de features que introducen un crate TUI completo y un motor de plugins Lua embebido.

Modo TUI en Tiempo Real

OmniMon ahora incluye una UI de terminal completa invocada vía omnimon tui, construida con ratatui y crossterm:

  • Layout de 3 regiones: header de 5 líneas con gauges CPU/MEM + resumen NET/SYS, 55% tabla de procesos, 40% panel de chat IA
  • Controles de teclado: j/k o flechas para navegación, s para ciclar columna de ordenamiento, r para invertir, K para matar proceso, Tab para cambiar panel, q para salir
  • Chat IA en terminal: escribe preguntas en el panel de chat - las consultas se despachan en hilos en segundo plano con resolución automática de proveedor: Ollama → Anthropic → OpenRouter → OpenAI
  • Objetivo <2 MB RAM: refresco sin asignaciones vía Vec clear+extend, clipping de viewport, buffers String pre-asignados
  • Métricas con código de color: valores CPU coloreados verde (<30%), amarillo (<80%), rojo (>80%)
  • Comparte el mismo Arc<RwLock<SystemState>> que la app de escritorio - mismo watcher, mismos datos

Ecosistema de Plugins Lua Embebido

Un sistema de plugins completo que permite a los usuarios extender las métricas de OmniMon con scripts Lua personalizados:

  • VMs con sandbox: 1 MiB de límite de memoria por VM, 150ms de timeout de ejecución (hook de instrucciones cada 10K), sin acceso FFI/shell/red
  • Contrato de plugin: los scripts exportan manifest() (nombre/versión/descripción) y collect(ctx) (retorna { metrics = [...] })
  • Contexto enriquecido: los plugins reciben timestamp_ms, estadísticas de CPU/memoria/swap/red y los 24 procesos principales por memoria
  • Límites: 32 plugins máx, 256 KiB por script, 64 métricas por plugin, 12 tags por métrica
  • GUI completa: sube archivos .lua, activa/desactiva/elimina, ve estado por plugin (ok/error/desactivado), display de métricas con valores/unidades/tags, auto-refresco cada 4 segundos
  • Script Lua de ejemplo mostrado en estado vacío para fácil onboarding
  • Persistencia vía manifiesto app_data_dir/plugins/index.json

Distribución Nativa Global

  • Pipeline de notarización Apple documentado para futuros releases con firma de código
  • Fórmula Homebrew: brew install omnimon apuntando a v6.0.0
  • Paquetes multiplataforma: DMG (macOS), MSI/MSIX (Windows), .deb/.rpm/AppImage (Linux)

Instalar

# macOS
brew tap chochy2001/omnimon && brew install --cask omnimon

# Linux
curl -fsSL https://get.omnimon.com.mx | bash

# Windows
winget install chochy2001.omnimon

# Modo TUI (cualquier plataforma)
omnimon tui

Changelog completo en GitHub