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/kor arrows for navigation,sto cycle sort column,rto reverse sort,Kto kill process,Tabto switch panels,qto 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) andcollect(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
.luafiles, 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.jsonmanifest
Global Native Distribution
- Apple notarization pipeline documentation for future code-signed releases
- Homebrew formula:
brew install omnimonpointing 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