Coding Agent 的最终形态是 TUI + GUI 吗?
这一次,OpenAI悄悄放了个大招——Codex桌面端正式上线。不少开发者已经体验了一把,反馈很直接:效率确实有提升。
在聊具体功能之前,先给不太熟悉AI和编程的朋友简单补个背景:
TUI
GUI
Codex

直接说结论:GUI时代的到来,让Agent的交互方式真正发生了质的跃迁。无论是一手处理多个项目,还是信息呈现的直观程度,桌面端都比TUI强太多了。
为什么这么说?因为桌面端能展示的信息量,和TUI完全不在一个量级上,交互也更友好。受众群体自然也就更广。那就来看看Codex桌面端到底有哪些核心能力。
打开桌面端,如果你是已登录的Codex用户,系统会自动读取数据,然后让你选择要开发的项目。进去之后就能看到之前的对话记录。整体布局非常清晰,左侧功能区+右侧主界面。
左侧功能主要包括四大块:
左上角可以新建「线程」,开启新项目进行开发,也就是说,你可以在一个界面里统一启动多个项目,实现并行开发;
接着是
Automations
Skills
再往下是对话线程记录区,这是你的对话历史。当你切换到其他对话时,这里会展示loading状态,完成之后也会有提示。这对于同时管理多个线程来说非常友好;
左侧底部是用户信息展示区,点击可以进入设置页面(也可以通过 command + , 快捷键进入)。设置里最有用的一个选项,就是相当于开启了"yolo模式"——完全放手让Codex干活,不再反复向你确认。
右侧则是经典的上中下结构。先说上方的导航栏:左边显示对话名称和项目名称;右边有一排操作按钮——运行按钮(点一下就能运行当前项目,但需要自己配置脚本)、打开代码编辑器、快速创建commit和PR的入口,还有改动对比功能,能清晰看到AI修改了哪些代码。中间区域就是coding Agent的对话输出区,和CLI中提交Prompt触发AI输出的逻辑基本一致。下方是AI对话输入框:你可以切换当前对话的模型、添加图片、文件,开启计划模式,甚至可以开启对电脑全部访问权限的权限。官方视频里还演示了语音输入功能,懒人直接用嘴说就行。对话框底部还有两个非常实用的能力:查看/切换当前分支,开启worktree模式;此外,对话过程中还可以实时查看上下文占用情况,避免上下文满了导致输出效果下降。
这个UI给人的感觉就是简洁、干净、直观。OpenAI的产品体验,确实一直都是第一梯队的存在。顺便说一句,为了庆祝Codex桌面端上线,OpenAI还给所有付费用户的额度做了一波翻倍,方便大家更爽快地上手——这波操作,真心良心。
不过,体验归体验,光说好话也不够。说说目前发现的一些短板:
第一,虽然可以通过 @ 符号获取项目中的文件,但没有展示当前项目的文件目录树。大项目动辄几百个文件,谁能记得住所有文件名?而且也不支持 @ 文件夹,这个确实不太方便。
第二,与CLI之间没有联动。虽然GUI体验很不错,但有时候CLI用起来更顺手。现在两端对话列表数据不同步,切换起来有些割裂感。
第三,性能不算理想,比较吃内存。尤其是多个项目并发运行时,能明显感受到卡顿。
翻了翻源码发现,Codex桌面端是用Electron开发的。那些还在纠结Electron还是Tauri的同学,心里应该有点数了吧?
总的来看,体验还是相当不错的。值得一提的是,桌面端底层依然基于Codex CLI,所以回到文章标题的问题:Coding Agent或者说未来的其他Agent,大体上应该都是先开发CLI,再开发GUI。而且未来在多Agent互相调用的场景下,CLI显然更适合作为对外接口。
目前我个人主要用Codex做开发。虽然它比较慢,但带来的好处也明确——基本一次就能通过。Claude Code虽然快,但在修复bug、解决复杂问题这个维度上,整体表现还是不如Codex来得稳。