TUI system monitor · Rust
Monitoriza tu sistema dentro de la terminal.
xtop es un monitor de sistema TUI multiplataforma escrito en Rust: renderizado con ratatui, métricas reales con sysinfo, y un kernel fino rodeado de un ecosistema modular — widgets, layouts, plugins, extensiones y efectos. El proyecto vive en la organización github.com/xtop-cli.
features
Lo que xtop mide — y cómo lo pinta
Métricas reales, sin datos inventados: si el hardware no expone una lectura, el widget muestra su estado vacío honesto. Resumen tomado de docs/features.md.
CPU
Uso por núcleo e hilo con gauges horizontales, temperatura máxima por sensores y gráfico histórico.
Memory
Gauges de RAM y Swap con gráfico de línea histórico y ventana de puntos configurable.
Network
Seguimiento RX/TX en tiempo real por interfaz, con totales y gráfico dual de serie.
Storage · Disk I/O
Gauges de uso por punto de montaje y velocidades de lectura/escritura por dispositivo en bytes/s.
Processes
Lista con búsqueda en vivo, orden por CPU/Mem/PID/Name con marcador de dirección y selección anclada a PID.
GPU · Battery
GPU por nvidia-smi (NVIDIA, cualquier SO) o sysfs en Linux; batería real en Linux, macOS y Windows.
Themes
12 temas con rol fijo por slot, contraste normalizado (WCAG) y cambio instantáneo con t/T.
Layouts
7 modos + 3 presets Detail, layouts JSONC recursivos, degradación por tamaño de terminal y full-screen.
Plugins & MCP
samurai expone 12 acciones JSON y 10 reglas de alerta; el servidor MCP las ofrece como tools a agentes de IA.
Effects
Efectos de frame sobre el buffer final: fade-in de 500 ms determinista, con contrato en xtop-effect-api.
screenshots
Así se ve en una terminal real
Capturas del repo del kernel (xtop/assets/previews). Cada layout responde al ancho y alto de tu terminal, con un suelo de 40×8.








colors
Doce paletas, un contrato de roles
Cada tema es un par background/foreground más 16 slots con rol fijo (alert, good, warn, rx, tx, accent, dim, serie). Este sitio usa X en oscuro y Madrid en claro, desde xscriptor-colors/assets.
X
#050505 / #f7f1ff · este sitio: darkMadrid
#fafafa / #1a1a1a · este sitio: lightLahabana
#19191a / #f7f1ffMiami
#000000 / #f7f1ffParis
#1a0a30 / #f7f1ffTokio
#1c1c1d / #f7f1ffOslo
#3f4451 / #abb2bfHelsinki
#f8fafe / #544d40Berlin
#000000 / #ccccccLondon
#ffffff / #333333Praha
#1a1a1a / #ffffffBogota
#200b0a / #f7f1ffReferencia completa de slots y roles en docs/colors.md.
ecosystem
Siete repos, una sola fuente de contratos
Cada repo compila standalone contra los contratos de api — nunca contra el kernel. Documentación completa, espejada desde cada repositorio, en /docs/es.
xtop
kernelLa aplicación en sí: un monitor de sistema TUI multiplataforma escrito en Rust. Kernel de un solo crate con renderizado ratatui, providers de sysinfo y la superficie de comandos (config, temas, layouts, plugins, widgets, MCP).
api
contractsCrates de contratos puros: xtop-plugin-api, xtop-widget-api, xtop-effect-api y xtop-extension-api. Aquí vive el modelo de datos compartido (SystemSnapshot, AlertThresholds); el resto de repos solo depende de este.
widgets
renderersPacks de widgets (renderers) contra xtop-widget-api: el pack por defecto (11 widgets) más el pack blocks — un crate por widget, con el motor compartido xtop-widget-core.
layouts
arrangementEl crate xtop-layout: modelo de layout guiado por datos, loader JSONC, modos de layout y degradación por tamaño de terminal. Incluye 7 layouts de modo + 3 presets detail y la carpeta de layouts de la comunidad.
plugins
functionalityImplementaciones de plugins contra xtop-plugin-api. Primer miembro: xtop-plugin-samurai — un plugin consciente de IA con 12 acciones JSON y 10 reglas heurísticas de detección de amenazas.
extensions
kernel hooksExtensiones de tipo servidor contra xtop-extension-api. Primer miembro: xtop-extension-mcp — un servidor del Model Context Protocol sobre stdio que expone xtop y sus plugins alojados como tools MCP.
effects
animationEfectos de frame contra xtop-effect-api. Primer miembro: xtop-effect-fade — funde el frame renderizado desde negro en 500 ms, determinista y sin configuración.
install
En marcha en un minuto
install.sh detecta la distro, instala Rust si falta, compila en release y deja el binario en /usr/local/bin. Guía completa en docs/installation.md.
curl -fsSL https://raw.githubusercontent.com/xtop-cli/xtop/main/install.sh | bashirm https://raw.githubusercontent.com/xtop-cli/xtop/main/install.ps1 | iexcargo install --git https://github.com/xtop-cli/xtop --all-featuresgit clone https://github.com/xtop-cli/xtop.git
cd xtop
cargo run --release▲ Uninstall
Linux: curl -fsSL …/install.sh | bash -s -- --uninstall · Windows: irm …/uninstall.ps1 | iex. La configuración de usuario se conserva.
● Primera ejecución
Al salir con q se guarda config.json y se siembran los 12 temas y 10 layouts en el directorio de configuración de tu plataforma.
usage
Teclas esenciales
Todo es reasignable en config.json. La lista completa está en docs/usage.md y dentro de la app con ?.
¿Quieres aportar código?
Cada área es un repo independiente: widget packs, layouts, plugins, efectos o extensiones se contribuyen sin tocar el kernel. Empieza por CONTRIBUTING y el roadmap.