大家好,我是何三,独立开发者
每天对着黑底白字写代码,你有没有想过——终端的另一边是什么?
Ratty 说,是3D世界。
这不是科幻。GitHub 上一个叫 Ratty 的开源项目,做出了一个能渲染3D图形的终端模拟器。按下 Ctrl+Alt+Enter,你的终端瞬间从平面变成三维空间,连光标都是一只在转圈的3D老鼠。
近500 Star,Rust 写的,二进制不到20MB。在终端里显示3D模型——这件事本身,就足够离谱。

Orhun Parmaksız 这个名字你可能不熟。但在 Rust 社区,这家伙是个狠人。
他是 Ratatui(Rust 最火的 TUI 框架,20.3k Star)的核心维护者,还搞了 git-cliff(11.8k Star)、binsider(4.2k Star)一大堆项目。用他自己的话说——"I don't have a rat under my hat"(我帽子里没有老鼠),然后他写了一个叫 Ratty(小老鼠)的终端。

挺会玩梗的。
按他的说法,Ratty 的灵感来自 TempleOS——Terry Davis 那个疯子和天才并存的操作系统。TempleOS 的终端可以直接渲染图形,Orhun 觉得"凭什么现代终端不行?"
于是他用 Rust 造了一个。

技术细节听起来有点绕,我给你拆开说。
一般的终端模拟器怎么工作的?接收字符流,渲染成文本,黑底白字,完事。
Ratty 不一样。它内部搭了三层结构。

第一层,还是用 Ratatui 处理传统的 TUI 界面,也就是你熟悉的那些命令行 UI 组件。
第二层,它用 Parley/Vello 这套 GPU 渲染管线来处理文本——对,文本渲染走 GPU,不是 CPU。这意味着你在终端里敲代码的时候,每帧画面都是显卡在画,CPU 闲得很。
第三层,最骚的部分。它嵌入了 Bevy 引擎——一个 Rust 写的游戏引擎来做3D场景渲染。当你按下 Ctrl+Alt+Enter,Bevy 接管屏幕,把你刚才的终端文本"贴"到一个三维曲面上,然后在旁边渲染3D模型。
说白了,你在终端里敲了个 ls,然后切到3D模式一看,这行 ls 漂浮在3D空间里。
嗯。
说实话,这块我也没完全搞懂具体怎么实现的——尤其是 CPU 读回那一步的优化策略,细节上可能有出入。但大概意思就是:Ratty 在终端和游戏引擎之间架了一座桥,让两个世界能通信。
说到 Bevy 引擎,我突然想起来。之前有个哥们用 Bevy 写了一个"在终端里玩贪吃蛇"的项目,结果 Bevy 启动就要加载一堆 shader,光初始化就好几秒。我当时想,这不扯吗,贪吃蛇初始化要3秒?
但 Orhun 这厮居然把 Bevy 塞进终端模拟器里,还做到了实时响应——怎么做到的?
为什么这么设计?别问我,问作者去。
安装非常简单,一条命令就行:
cargo install ratty
如果你是 Arch Linux 用户:
pacman -S ratty
装完直接运行 ratty 就能打开一个终端窗口。默认情况下你看到的还是正常终端,直到你按下那些神奇的组合键:
- Ctrl+Alt+Enter:切换2D/3D模式
- Ctrl+Alt+M:切换莫比乌斯模式(对,就是那个只有一个面的环)
- Ctrl+Alt+Up/Down:调整曲面的扭曲程度
那个3D光标——默认是一只会旋转的卡通老鼠——是 Ratty 最吸睛的功能。你可以在配置里换模型,支持 .obj 和 .glb 格式。我换成了一个甜甜圈模型,看着它在终端里转圈,愣是笑了五分钟。
# ~/.config/ratty/ratty.toml
[cursor.model]
path = "CairoSpinyMouse.obj" # 换成你自己的模型
scale_factor = 6.0
brightness = 0.5
更离谱的是,Ratty 还搞了一个叫 RGP(Ratty Graphics Protocol)的协议,可以让终端应用程序直接在终端里嵌入3D对象。已经有开发者用这个协议在 Ratty 里跑 Tetris 了——每个方块都是3D的。
就是这个感觉:你以为是2D游戏,结果它真的是3D的。
Ratty 不是唯一的"激进终端"。如果你对这类项目感兴趣,还可以看看:
- kermit:同样是 Orhun 写的终端,基于 VTE,简单易用,适合日常用。Ratty 更多是实验性质
- Ghostty:另一个用 Zig 写的 GPU 加速终端,启动速度极快
- Rio:Rust 写的 GPU 加速终端,已经开始在生产环境用了
项目地址: https://github.com/orhun/ratty
Ratty 不是一个"日常用"的终端模拟器。它太激进、太实验性,显卡不好的机器跑起来可能还会掉帧。
但它给终端世界开了一扇窗——原来命令行界面不止能看文本,还能是一个3D游乐场。
Orhun 用 Ratty 证明了:有时候最疯狂的想法,恰恰来自于对一个旧事物说一句"为什么不能"。
装不装都行,看你自己。但如果你装了,记得按一下 Ctrl+Alt+Enter。
本文使用 MGO 编辑并发布
关注“何三笔记”,回复“mgo” 免费下载使用