
你在终端里敲下 ls,屏幕上刷出一排文件名;敲 vim,编辑器界面弹出来,光标能移动,能插入文字;写完保存退出,再 cat 一次,内容还在;甚至还能拉起 tmux,切出好几个窗口。
整个过程流畅得像真的一样。但背后没有 Linux,没有文件系统,也没有任何一条命令被真正执行过。
屏幕上的一切,都是一个 208MB 的小模型当场编出来的。
这个项目叫 WorldTUI,作者是开发者 Simon Edwardsson。它做的事情说起来有点荒诞:训练一个模型,让它学会"演"一个终端。
它不是在运行程序,而是在猜下一屏该长什么样
传统思路里,你要在浏览器里跑一个 Linux,得搬上虚拟化、WASM、远程容器之类的一整套东西,又重又慢。WorldTUI 换了个方向:既然用户看到的只是屏幕上的字符,那能不能直接让 AI 预测"敲下这个键之后,屏幕应该变成什么样"?
模型不执行任何东西。你让它建文件,它假装建了;你让它读文件,它就从上下文里回忆自己刚才"写"了什么;你打开 Vim,它立刻切换成 Vim 的角色往下接戏。只要演得够像,你就很难发现破绽。
它还带一点记忆。用 Vim 写进去的内容,隔一会儿再打开还能看到,因为这些信息被存在了对话上下文里。当然,新开一个终端,记忆就归零——毕竟从头到尾,没有任何东西真正落到磁盘上。
演技是练出来的:33.6 万段真实操作,20 亿 Token
这副演技不是凭空冒出来的。
Edwardsson 先搭了一套真的环境:在 Docker 容器里跑起 Bash、Vim、Python、tmux,随机生成用户名、目录和文件,再随机生成各种操作任务。然后写脚本模拟人类打字,一个字符一个字符地敲,还故意掺进 1.2% 的输错率,让数据更接近真人的手感。每一次按键之后的真实屏幕变化,全被录了下来。
这么攒下来,一共 33.6 万段操作记录、约 20 亿 Token。用这批数据去微调一个以 Qwen2.5-Coder-0.5B 为底的小模型,参数量约 3.6 亿,原始体积 716MB。模型预测错了怎么办?拿真实终端的输出去构造纠错样本,教它学会自己圆回来,把连续操作里的穿帮率压下去。
最后一步是压缩:并行预测终端的多个行、削减词表、做 4-bit 量化,硬是把模型塞到了 208MB,本地随便一台电脑都能跑。整个训练只花了 75 小时,用一张 NVIDIA RTX 4090 就够。
它终究会露馅,但思路比成品更值钱
当然,戏演得再好也有穿帮的时候。复杂一点的命令经常执行得乱七八糟,文件内容可能突然变了样,算个数也不一定对——毕竟它从来没真正跑过那些程序,只是在模仿"跑完之后的样子"。
所以对普通用户来说,这东西实用价值有限,更像一个精巧的技术演示。但它给出的思路很有意思:让模型去观察真实软件的操作过程,再训练它模仿软件的行为。这套方法可以搬到别的地方——那些启动慢、依赖重、又不好部署的老软件,说不定都能用类似的办法"演"出来。
开发者说会很快公开模型权重供下载。目前在线体验需要先下载约 208MB 的模型,建议用桌面浏览器打开。
玩的时候记得一件事:这玩意儿从头到尾都是假的。