releasetuipluginsperformance

OmniMon v6.0.0 - Real-Time TUI & Embedded Lua Plugin Ecosystem

v6.0.0 is a major release: full htop/btop-style TUI mode (omnimon tui), embedded Lua plugin ecosystem with sandboxed VMs, AI chat in terminal, and global native distribution.

OmniMon v6.0.0

A major release that brings OmniMon to the terminal and opens the door to user-defined extensibility. 6 commits, 2,900+ lines added across 2 feature branches introducing a full TUI crate and an embedded Lua plugin engine.

Real-Time TUI Mode

OmniMon now includes a full terminal UI invoked via omnimon tui, built with ratatui and crossterm:

  • 3-region layout: 5-line header with CPU/MEM gauges + NET/SYS summary, 55% process table, 40% AI chat panel
  • Keyboard controls: j/k or arrows for navigation, s to cycle sort column, r to reverse sort, K to kill process, Tab to switch panels, q to quit
  • AI chat in terminal: type questions in the chat panel - queries dispatch on background threads with automatic provider resolution: Ollama → Anthropic → OpenRouter → OpenAI
  • <2 MB RAM target: zero-alloc refresh via Vec clear+extend, viewport clipping, pre-allocated String buffers
  • Color-coded metrics: CPU values colored green (<30%), yellow (<80%), red (>80%)
  • Shares the same Arc<RwLock<SystemState>> as the desktop app - same watcher, same data

Embedded Lua Plugin Ecosystem

A full plugin system allowing users to extend OmniMon’s metrics with custom Lua scripts:

  • Sandboxed VMs: 1 MiB memory limit per VM, 150ms execution timeout (instruction hook every 10K instructions), no FFI/shell/network access
  • Plugin contract: scripts export manifest() (name/version/description) and collect(ctx) (returns { metrics = [...] })
  • Rich context: plugins receive timestamp_ms, CPU/memory/swap/network stats, and the top 24 processes by memory
  • Limits: 32 plugins max, 256 KiB per script, 64 metrics per plugin, 12 tags per metric
  • Full GUI: upload .lua files, activate/disable/remove, see per-plugin status (ok/error/disabled), metrics display with values/units/tags, auto-refresh every 4 seconds
  • Example Lua script shown in empty state for easy onboarding
  • Persistence via app_data_dir/plugins/index.json manifest

Global Native Distribution

  • Apple notarization pipeline documentation for future code-signed releases
  • Homebrew formula: brew install omnimon pointing at v6.0.0
  • Cross-platform packages: DMG (macOS), MSI/MSIX (Windows), .deb/.rpm/AppImage (Linux)

Install

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

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

# Windows
winget install chochy2001.omnimon

# TUI mode (any platform)
omnimon tui

Full changelog on GitHub