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/ko flechas para navegación,spara ciclar columna de ordenamiento,rpara invertir,Kpara matar proceso,Tabpara cambiar panel,qpara 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) ycollect(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 omnimonapuntando 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