← EasyTool.me

Ratty:GPU 渲染的终端模拟器 内联 3D 图形与隐藏的 3D 世界

Published: 2026-05-11 Reading: 8 min Tech

终端模拟器几十年来几乎没什么变化。你输入命令,输出文本。然后 Ratty 来了 — 一个用 Rust 构建的 GPU 渲染终端模拟器,在你的终端窗口背后藏了一个完整的 3D 世界。按下 Ctrl+Alt+Enter,终端的外壳就会溶解,露出旋转的 3D 物体、可自定义的老鼠光标模型,以及一个通过 Bevy 和 wgpu 实时渲染的场景。

Ratty 由 Orhun Parmaksız多个热门 Rust 工具的作者)创建,在 Hacker News 上 3 小时内获得 201 分热度。它不仅仅是一个噱头 — Ratty 是一个真正的终端模拟器,具备 GPU 加速渲染、基于 Ratatui 的 UI、Kitty 图形协议支持,以及一种全新的终端设计理念。

Ratty 有什么不同

大多数终端模拟器使用 CPU 光栅化或基本的 GPU 加速来渲染文本和滚动。Ratty 采用了完全不同的方法:它使用 Bevy(Rust 游戏引擎)和 wgpu 作为渲染后端。每个字符单元格、每次光标闪烁、每张内联图像都通过一个原本为游戏设计的 GPU 管线渲染。

这种架构选择解锁了传统终端无法实现的能力:

安装方法

Ratty 用 Rust 编写,可以通过 Cargo 安装。你需要一个支持 GPU 的系统(Vulkan、Metal 或 DirectX 12,取决于平台)。

# 从 crates.io 安装
cargo install ratty

# 或者克隆源码编译
git clone https://github.com/orhun/ratty.git
cd ratty
cargo build --release

# 运行
./target/release/ratty

系统要求:

3D 模式:终端背后的秘密世界

Ratty 的标志性功能是它的 3D 模式。按下 Ctrl+Alt+Enter,终端窗口变得透明,露出背后渲染的 3D 场景。场景中包含各种可以交互的 3D 物体 — 就像揭开终端的表面,看到底层的引擎。

3D 世界不仅仅是视觉效果。它展示了 Ratty 的核心架构优势:因为一切都通过 Bevy 的 ECS(实体组件系统)渲染,在终端管线中添加 3D 对象就像在任何游戏场景中添加新组件一样自然。终端文本、3D 物体和光标模型共享同一个 GPU 渲染管线。

要退出 3D 模式回到正常终端视图,再次按下 Ctrl+Alt+Enter

旋转老鼠光标

默认情况下,Ratty 的光标是一个小的 3D 老鼠模型,打字时会轻轻旋转。这是一个有趣的细节,完美体现了项目的精神 — 严肃的终端功能包裹在俏皮的外观中。

你可以通过提供自己的 3D 模型文件来自定义光标:

在 Ratty 的配置文件中设置自定义模型。你可以用任何 3D 模型替换老鼠 — 茶壶、猫、骷髅,随你喜欢。

内联 3D 对象与 Kitty 图形

Ratty 支持 Kitty 图形协议,这意味着你可以在终端输出中内联显示图片。chafakitten icat 或任何兼容 Kitty 图形协议的应用程序都可以直接使用。

除了图片,Ratty 的 GPU 管线还支持在终端输出中内联 3D 对象。想象一下运行一个命令,它不仅打印文本,还渲染一个你正在处理的数据的旋转 3D 模型。这是 Ratty 架构真正闪光的地方 — "终端输出"和"3D 场景"之间的边界变得模糊。

基于 Ratatui 的 UI

Ratty 使用 Ratatui 作为终端 UI 框架。Ratatui 是用于构建丰富终端用户界面的现代 Rust 库 — 它是 tui-rs 的继任者,已成为 Rust TUI 应用的标准。

这意味着 Ratty 的 UI 具有:

Ratatui 处理文本布局加上 Bevy/wgpu 处理 GPU 渲染,让 Ratty 两全其美:一个真正的终端模拟器加上游戏引擎级别的图形。

源码与社区

Ratty 完全开源。以下是相关链接:

项目正在积极开发中,接受贡献。如果你是对终端模拟器、GPU 渲染或游戏引擎架构感兴趣的 Rust 开发者,Ratty 是一个非常值得探索的代码库。

为什么这很重要

Ratty 不仅仅是一个新奇玩意。它代表了一个真正的架构实验:当你在游戏引擎之上构建终端模拟器时会发生什么?答案出奇地令人信服。

GPU 优先的方法意味着 Ratty 可以做到传统终端力所不及的事情:任意速度的平滑滚动、无需协议 hack 的内联图片、硬件加速的文本渲染,以及 — 是的 — 终端中的 3D 对象。随着显示器刷新率越来越高,GPU 越来越普及,GPU 渲染终端的理由只会越来越充分。

这也契合了一个更大的趋势:Rust 驱动的终端工具在重新思考基础假设。Zed(GPU 渲染代码编辑器)、Alacritty(GPU 渲染终端),以及现在的 Ratty,都在证明 GPU 加速不仅仅是为了游戏 — 它适用于每一个需要快速和美观的界面。

快速上手

如果你想尝试 Ratty,最快的路径是:

  1. 通过 rustup.rs 安装 Rust
  2. 运行 cargo install ratty
  3. 在终端中启动 ratty
  4. Ctrl+Alt+Enter 查看 3D 世界
  5. 在配置文件中自定义你的光标模型

GitHub 上给仓库点 Star,为 bug 或功能请求提交 issue,如果你有 Rust 经验可以考虑贡献代码。Orhun 围绕他的项目建立了一个友好的社区。

总结

Ratty 是一个 GPU 渲染的终端模拟器,将游戏引擎技术带到了命令行。用 Rust 构建,使用 Bevy/wgpu 渲染和 Ratatui UI,它具有通过 Ctrl+Alt+Enter 访问的隐藏 3D 世界、可自定义的旋转 3D 老鼠光标、内联 3D 对象和 Kitty 图形协议支持。它开源、积极开发,在 Hacker News 上爆火是有道理的 — 这是多年来人们对终端模拟器最有趣的体验。

无论你是 Rust 爱好者、终端重度用户,还是只是想要一个真的在旋转的老鼠光标,Ratty 都值得一试。