metropolis

5c0MIT更新放缓

用 Rust 和 Ratatui 打造的赛博朋克风终端系统监控,把内核指标变成动态城市天际线,让看 CPU、内存等数据不再枯燥。

A cyberpunk system monitor that transforms kernel metrics into a living terminal skyline. Built with Rust & Ratatui.

v0.1.3发布于 2026-05-17 05:51 UTC298star15fork同步于 2026-11-07 07:33 UTC

怎么上手

由 README 提炼,执行前请确认
curl -fsSL https://raw.githubusercontent.com/5c0/metropolis/main/install.sh | bash
cargo install metropolis-tui
硬件要求按 README 说明

README 未说明硬件要求,仅要求能运行终端;提供 Linux、macOS、Windows 安装方式,未提及 GPU 或显存。

下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

由 README 自动翻译提炼

把内核指标渲染成赛博朋克城市天际线的终端系统监视器

用 Rust 和 Ratatui 打造的赛博朋克风终端系统监控,把内核指标变成动态城市天际线,让看 CPU、内存等数据不再枯燥。

核心能力

  • 用霓虹招牌展示 CPU 占用最高的进程
  • CPU 高负载触发 Rush Hour 车流与行人密度上升
  • 磁盘 I/O 繁忙时出现重型工业穿梭机
  • 内存占用决定建筑亮灯率与霓虹光晕
  • 支持主题切换与雨雪天气开关,可写自定义主题

容易踩的坑

首次运行会在系统配置目录自动生成 config.toml,改配置要去对应路径找;自定义主题需把 .toml 放进配置文件同级的 themes/ 目录;从源码构建需先装好 Rust 和 cargo。

内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README

最近发版

4 个版本v0.1.3
  1. v0.1.3Release v0.1.3最新正式版2026-05-17 · 2026-05-17 05:51 UTC

    Metropolis: The city is breathing. 🌇

  2. v0.1.2Release v0.1.22026-03-23 · 2026-03-23 08:29 UTC
    查看更新说明

    Metropolis: The city is breathing. 🌇

  3. v0.1.1Release v0.1.12026-03-21 · 2026-03-21 07:24 UTC
    查看更新说明

    Metropolis: The city is breathing. 🌇

  4. v0.1.02026-03-21 · 2026-03-21 05:45 UTC
    查看更新说明

    Metropolis: A cyberpunk system monitor that transforms kernel metrics into a living terminal skyline. Built with Rust & Ratatui.

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    🌃 Metropolis

    The City Powered by Your Kernel

    Rust License Version AUR

    "The year is 20XX. Your processes aren't just rows in a table. They're the residents. Your CPU isn't just silicon. It's the infrastructure. And the city? The city is breathing."

    Features • Usage • Controls • Architecture


    Metropolis is a high-performance, narrative-driven system monitor built for the terminal. It transcends traditional hardware monitoring by transforming raw kernel metrics into a living, breathing Cyberpunk Skyline.

    Every flicker of a neon sign, every shuttle streaking across the sky, and every drop of rain is a direct reflection of your system's heartbeat.

    Demos

    🌃 Night

    Metropolis demo

    ☔ Rain

    Metropolis rain demo

    ❄️ Snow

    Metropolis snow demo


    Features

    • Dynamic Branding: The central monolith automatically detects your OS and brands itself accordingly (or override it with your own).
    • CPU (The Heartbeat): High utility triggers "Rush Hour"—flooding sky-lanes with high-speed traffic and increasing pedestrian density.
    • Disk I/O (Logistics): Intense activity triggers Heavy Industrial Shuttles. Watch long-haulers move "physical data" across the district.
    • RAM (Illumination): Memory usage dictates the overall occupancy and glow of the city's monoliths.
    • Neon Signage: Secondary buildings display your Top CPU Processes as vibrant neon signs.
    • Dynamic Pursuits: Random high-stakes police chases streak across the skyline. Look for the Red Fugitive and Interceptor units.
    • Procedural Night: Window patterns and traffic cycles are session-unique.
    • Fully Customizable: Swap themes, toggle weather, and fine-tune simulation density via a simple config.toml or CLI flags.

    Installation

    One-Line Install (Linux / macOS)

    curl -fsSL https://raw.githubusercontent.com/5c0/metropolis/main/install.sh | bash
    

    Crates.io

    cargo install metropolis-tui
    

    Arch Linux (AUR)

    yay -S metropolis
    

    Homebrew (macOS)

    brew install 5c0/tap/metropolis
    

    Windows (winget)

    winget install 5c0.Metropolis
    

    Nix / NixOS (Flake)

    Run directly without installing:

    nix run github:5c0/metropolis
    

    Or add to your flake.nix inputs:

    inputs.metropolis.url = "github:5c0/metropolis";
    

    Then add to environment.systemPackages:

    environment.systemPackages = [
      inputs.metropolis.packages.${system}.default
    ];
    

    Build from Source

    Requires Rust and cargo to be installed.

    git clone https://github.com/5c0/metropolis.git
    cd metropolis
    cargo run --release
    

    Controls

    KeyAction
    qEscape the city (Quit)
    rAtmospheric Shift (Toggle Rain)
    sCryo Shift (Toggle Snow)
    dCore Diagnostics (Debug Overlay)

    Configuration

    Metropolis automatically creates its default config.toml on first run:

    OSConfig Path
    Linux~/.config/metropolis/
    macOS~/Library/Application Support/Metropolis/
    Windows%APPDATA%\Metropolis\

    You can customize almost everything:

    • Themes: Switch between built-in themes (matrix, cyberpunk, sin_city, dracula, synthwave) or write your own.
    • The Monolith: Override the OS detection to force a specific logo, or change the neon text.
    • Environment: Force rain, snow, or clear skies, and toggle terminal transparency.
    • Simulation: Tune the maximum number of vehicles, pedestrians, and weather density.

    For a full list of options, check assets/config_template.toml. You can also override any of these settings at runtime with flags (e.g., --theme matrix). Run metropolis --help for the full list.

    Custom Themes

    You can build your own themes to customize the entire color palette—from the main building's neon signs to the street lamps, weather particles, shuttle traffic, and much more.

    Drop custom .toml files into the themes/ directory next to your config file. Share your city in the Theme Gallery!


    Built With

    • Rust: For sub-millisecond, zero-overhead rendering.
    • Ratatui: The backbone of our terminal metropolis.
    • Sysinfo: Our direct link to the kernel.

    ⭐ Drop a star if you're enjoying the view.