安全研究员Thomas Ptacek在自己的博客上贴出了六款macOS应用的截图:Markdown查看器、SageMath图形前端、带LLM agent的音乐播放器、自动写Wiki的工具、饮食热量估算器、温度监控menu bar小程序。共同点是,这些应用的界面代码他几乎没有亲手写过一行,全部交给Claude等AI生成。他据此抛出一个挑衅性标题:《Stop Making TUIs》——别再做终端界面了。

这篇文章值得关注,不是因为它审美上多有说服力,而是因为它撞上了一个正在发生却还没被讲清楚的变化:当图形界面的开发成本被AI砸到接近于零,工程师们长期以来靠TUI(终端用户界面)绕开的那道门槛,可能真的不存在了。

六个应用,几乎没写代码

Ptacek列出的清单里,MDV.app不是空口白牙——它已经开源在GitHub上(仓库tqbf/mdv),用SwiftUI写成,依赖MarkdownUI渲染,要求macOS 13及以上系统,功能包括历史记录、全文搜索高亮、多套配色主题、Mermaid图表支持。这不是一个玩具级Demo,而是一个具备完整工程细节的可用软件。

这篇文章不是孤立的灵感闪现。今年5月,Ptacek发表过《The Emacsification of Software》,提出了同一套理论的前半段:AI agent的兴起反而催生了一波“诡异复兴”的终端UI,尤其是Markdown查看器扎堆冒出来——而他给出的对策,正是最早那版MDV.app。八月这篇是续篇,把论点从“可以做原生GUI”推进到“应该停止做TUI”。

为什么现在GUI比TUI便宜

TUI的存在从来不是因为它更贴近计算机本质,而是两个历史条件叠加的产物:早年调制解调器带宽有限,图形界面传不动;Unix极客又不愿意学习像Motif这样繁琐的图形工具包。curses五分钟能上手,Motif能把人劝退近三十年——这是Ptacek自己的经历。

原生GUI开发一直很贵,贵在平台专属知识:Cocoa、SwiftUI这类框架需要经年积累才能写出不难看的界面。这道门槛过去筛掉了大批想做小工具但懒得学界面的开发者,逼他们退而求其次做TUI。AI改变的正是这一层——它替你补上了那份平台知识。

界面代码的门槛消失了,取舍的门槛才刚刚浮现。
  • 结论.MDV.app的开源细节证明这不是一次性摆拍,AI生成的原生应用已经具备可维护、可迭代的工程结构。

别做TUI,还是别做“伪装成GUI的TUI”

Ptacek的论证有一个明显缝隙:他把TUI的适用边界说得太窄。围绕这类文章的讨论普遍指出,真正该淘汰的不是TUI本身,而是那些既没有GUI的顺手、又没有TUI的高效、两头不讨好的“伪TUI”。SSH远程操作、AI编码agent的命令审批面板、Magit这类键盘密集型工作流,至今没有一个原生GUI方案能完全替代——这恰恰是Ptacek自己也承认的:TUI能保证Linux用户拿到和他一样的体验,GUI做不到。

这个反例提醒一件事:TUI的价值从来不是审美选择,而是场景选择。远程、高频、键盘优先的场景里,命令行的信息密度依然是刚需;本地、低频、给自己用的小工具场景里,AI已经让原生GUI的成本反超TUI。原文标题喊得响,但真正站得住的判断要窄得多。

  • 风险.把“别做TUI”当成普适结论,容易忽视agent控制面、远程运维这类TUI仍不可替代的场景。

开发软件,还是配置电脑

Ptacek写这些应用时反复自问:我是在开发软件,还是只是在配置电脑?他没给出答案,这恰恰是这篇文章最诚实的地方。

当AI能包办界面代码,剩下要做的决定,其实是产品经理的活——要不要做这个功能、界面该长什么样、数据怎么组织。写代码这件事,正在从“劳动”滑向“判断”。这对独立开发者是好消息:为自己定制软件的成本正在消失,不用再忍受Notes.app或Music.app这类通用工具的将就。但对“软件产品”这个概念是坏消息——如果每个人都能一次性生成一个够用的应用,标准化产品面对的将不再是同行竞争,而是用户自己动手的边际成本归零。

这类工具能不能走出“个人玩具”阶段,取决于两件事没解决:分发和跨平台。Ptacek自己也承认,他不敢把这些应用直接“vibe-shipping”给别人用,因为他从没在Windows或Linux上验证过AI生成的界面是否可靠。这条门槛,AI暂时还没帮他跨过去。