Skip to content

yangstafiltra/yvex_cli

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

VEX - Linux System Dashboard

Rust License: MIT Platform

A beautiful terminal-based system monitor for Linux

English | 中文


English

This project was developed with AI assistance. If you encounter any issues, please feel free to report them.

Overview

YVEX is a real-time Linux system monitoring dashboard with a beautiful terminal UI. It provides comprehensive system information including CPU, memory, disk, network, processes, GPU, battery, weather, and usage statistics.

Features

  • System Overview - Hostname, OS version, kernel, uptime, CPU info, memory, load average
  • CPU Monitor - Global usage and per-core utilization with visual progress bars
  • Memory Monitor - RAM and swap usage statistics
  • Disk Monitor - Storage usage for all mounted disks
  • Network Monitor - Process I/O statistics, interface data, real-time ping latency graph
  • Process Manager - Sortable process list with CPU/memory usage, process kill support
  • GPU Monitor - NVIDIA GPU support via nvidia-smi (usage, temperature, power, VRAM)
  • Battery Monitor - Battery status, capacity, health, voltage, power draw
  • Weather Widget - Auto-detected location with current weather conditions
  • Usage Statistics - Hourly session time and per-application usage tracking

Screenshots

 ██╗   ██╗██╗   ██╗███████╗██╗  ██╗
 ╚██╗ ██╔╝██║   ██║██╔════╝╚██╗██╔╝
  ╚████╔╝ ██║   ██║█████╗   ╚███╔╝
   ╚██╔╝  ╚██╗ ██╔╝██╔══╝   ██╔██╗
    ██║    ╚████╔╝ ███████╗██╔╝ ██╗
    ╚═╝     ╚═══╝  ╚══════╝╚═╝  ╚═╝

YVEX Screenshot YVEX Screenshot

Installation

Prerequisites

  • Rust toolchain (1.70+)
  • Linux system
  • Optional: nvidia-smi for GPU monitoring
  • Optional: xdotool for GUI application tracking

Build from Source

# Clone the repository
git clone https://github.com/yangstafiltra/yvex_cli.git
cd yvex_cli

# Build release version
cargo build --release

# Run
./target/release/yvex

Keyboard Shortcuts

Key Action
1-9, 0 Switch to panel (1-9, 0=Usage)
/k, /j Navigate menu
q / Ctrl+C Quit

Process Panel:

Key Action
/ or k/j Move cursor
Enter Select process
s Sort by CPU/Memory
K Kill selected process
Esc Cancel selection

Network Panel:

Key Action
Enter Change ping target

Dependencies

  • tokio - Async runtime
  • crossterm - Terminal control
  • sysinfo - System information
  • chrono - Date/time handling
  • reqwest - HTTP client (weather API)
  • serde_json - JSON parsing
  • anyhow - Error handling
  • ctrlc - Signal handling

Project Structure

yvex/
├── Cargo.toml
├── Cargo.lock
├── src/
│   └── main.rs          # Single-file application
└── README.md

Notes

  • This project was developed with AI assistance
  • GPU monitoring requires NVIDIA drivers and nvidia-smi
  • Weather data requires internet connection
  • Process killing requires appropriate permissions
  • Application usage tracking works best with X11 and xdotool

License

MIT License

Contributing

Issues and pull requests are welcome! Since this is an AI-assisted project, feedback is especially valuable.


中文

本项目由 AI 辅助开发,如有问题请及时提出。

简介

YVEX 是一个美观的终端式 Linux 系统监控仪表盘,提供实时系统信息展示,包括 CPU、内存、磁盘、网络、进程、GPU、电池、天气和使用统计等功能。

功能特性

  • 系统概览 - 主机名、操作系统版本、内核、运行时间、CPU 信息、内存、负载均衡
  • CPU 监控 - 全局使用率和每个核心的利用率,带可视化进度条
  • 内存监控 - RAM 和交换空间使用统计
  • 磁盘监控 - 所有挂载磁盘的存储使用情况
  • 网络监控 - 进程 I/O 统计、网卡数据、实时 Ping 延迟图表
  • 进程管理 - 可排序的进程列表,支持 CPU/内存排序,可终止进程
  • GPU 监控 - 通过 nvidia-smi 支持 NVIDIA GPU(使用率、温度、功耗、显存)
  • 电池监控 - 电池状态、电量、健康度、电压、功耗
  • 天气小部件 - 自动检测位置,显示当前天气状况
  • 使用统计 - 每小时使用时长和各应用程序使用时长追踪

截图

 ██╗   ██╗██╗   ██╗███████╗██╗  ██╗
 ╚██╗ ██╔╝██║   ██║██╔════╝╚██╗██╔╝
  ╚████╔╝ ██║   ██║█████╗   ╚███╔╝
   ╚██╔╝  ╚██╗ ██╔╝██╔══╝   ██╔██╗
    ██║    ╚████╔╝ ███████╗██╔╝ ██╗
    ╚═╝     ╚═══╝  ╚══════╝╚═╝  ╚═╝

YVEX Screenshot YVEX Screenshot

安装

环境要求

  • Rust 工具链 (1.70+)
  • Linux 系统
  • 可选:nvidia-smi 用于 GPU 监控
  • 可选:xdotool 用于 GUI 应用程序追踪

从源码构建

# 克隆仓库
git clone https://github.com/yangstafiltra/yvex_cli.git
cd yvex_cli

# 构建 release 版本
cargo build --release

# 运行
./target/release/yvex

键盘快捷键

按键 功能
1-9, 0 切换到对应面板 (1-9, 0=使用统计)
/k, /j 导航菜单
q / Ctrl+C 退出

进程面板:

按键 功能
/k/j 移动光标
Enter 选择进程
s 按 CPU/内存排序
K 终止选中的进程
Esc 取消选择

网络面板:

按键 功能
Enter 修改 ping 目标地址

依赖项

  • tokio - 异步运行时
  • crossterm - 终端控制
  • sysinfo - 系统信息获取
  • chrono - 日期时间处理
  • reqwest - HTTP 客户端(天气 API)
  • serde_json - JSON 解析
  • anyhow - 错误处理
  • ctrlc - 信号处理

项目结构

yvex/
├── Cargo.toml
├── Cargo.lock
├── src/
│   └── main.rs          # 单文件应用程序
└── README.md

注意事项

  • 本项目由 AI 辅助开发
  • GPU 监控需要 NVIDIA 驱动和 nvidia-smi
  • 天气数据需要网络连接
  • 终止进程需要相应权限
  • 应用程序使用追踪在 X11 环境和 xdotool 下效果最佳

许可证

MIT 许可证

贡献

欢迎提交 Issue 和 Pull Request!由于这是 AI 辅助开发的项目,您的反馈尤为重要。

BILIBILI账号

https://space.bilibili.com/3493091671542072?spm_id_from=333.1007.0.0


Made with AI assistance | 由 AI 辅助开发

About

YVEX 是一个美观的终端式 Linux 系统监控仪表盘,提供实时系统信息展示,包括 CPU、内存、磁盘、网络、进程、GPU、电池、天气和使用统计等功能。 YVEX is a real-time Linux system monitoring dashboard with a beautiful terminal UI. It provides comprehensive system information including CPU, memory, disk, network, processes, GPU, battery, weather

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages