Codex 0.154.0 的真正看点:把 agent 会话变成可复用的工作区

9 月 9 日,OpenAI 发布了 Codex CLI 0.154.0。
发布说明一出来,大部分人的注意力都落在模型选择器上:GPT-6 Astra 加进来了,Amazon Bedrock 的目录里也能选了。这确实是摆在明面上的头条。
但这份更新里更耐看的,是一组不起眼的改动:实验性的 worktree 支持、运行中可以就地回答问题的 inline answers、Windows 下的后台服务、插件热刷新、MCP 的 OAuth 处理,还有一串围绕审批上下文的加固。
Developers Digest 的作者把这些改动串起来看,给了一个判断:Codex 正把「一次 agent 会话」从一次性的聊天,变成有隔离、可恢复、带权限和插件状态的持久工作区。这个判断我认同。对每天真拿终端 agent 干活的人来说,它比多一个模型选项重要得多。
这次到底更新了什么#
新特性是六组:
- 模型选择器和 Bedrock 目录里加入 GPT-6 Astra。
- 实验性的 worktree 支持,入口是
--worktree和/worktree。 - inline answers:Codex 在继续干活的同时可以问问题,人也能就地回答。
- Windows 会话可以共用后台的 Codex 服务。
- Vim 替换模式,以及更顺手的 Escape 处理。
- 更丰富的复制行为,覆盖回答、状态输出和会话字段。
bug 修复那一栏其实更说明问题:
- 已经开着的会话能捡起新装的插件工具,插件升级或回滚后也会重新加载 skills 和 hooks。
- MCP 连接之间会协调 OAuth token 刷新,刷新失败时把登录提示亮出来,而不是反复重放被拒的工具调用。
- 启动时不会在建立信任之前,就去跑工作区里自带的辅助程序。
- macOS 沙箱挡住了往终端注入输入这条路。
- 远程恢复和 fork 会保留已保存的权限。
- 自动审批会通过上下文压缩保住授权信息,并在用户给出新指令或新回答之后,作废那些已经失效的旧审批。
这些都不是演示用的功能。它们是天天用 agent 之后,第一周就会碰到的细节。
worktree 是这次的重心#
Git worktree 本来就是并行 agent 最好用的底座之一。它能让每个任务有自己的检出,不用克隆整个仓库,也不用让所有 agent 挤在同一个工作目录里。
放进 CLI 之后,worktree 的价值主要在「控制」两个字上。
如果 agent 能为一个新会话或 fork 建一份隔离的检出,能浏览这些会话,还能在之后把它们恢复出来,那「一个工作单元」就变得具体了。它从「一段改了文件的对话」,变成绑着 diff、权限、模型选择、插件状态和历史记录的会话。
对团队来说,操作模型也跟着清晰了:
- 有风险或探索性的活儿,先开一个单独的 worktree。
- 让 agent 在里面跑,别污染主检出。
- 把 diff 和会话状态放在一起看。
- 只合有用的产出。
- 任务结束后删掉或归档这个工作区。
这套流程不会替你把纪律省掉。worktree 一样会漂移,作用域一松,agent 照样会碰错文件。但第一方的 worktree 流程,给了一个比「祈祷当前检出是干净的」更好的默认值。
inline answers 改变的是监督方式#
inline answers 这个功能很容易被低估。
长期运行的 agent 常常栽在「中断」这道坎上:agent 发现了一处模糊,抛出一个问题,整个会话就停在那里。开发者过一阵回来回答,节奏早就断了。更糟的情况是,因为提问的成本太高,agent 干脆自己猜一个。
inline answers 让监督不再像一次强行打断。在你做决定的这段时间里,agent 可以继续收集上下文、跑那些安全的检查,或者把周围能改的顺手改掉。放到真实工作里,这更接近一个同事的做法:可逆的部分继续推进,只在真正被卡住的地方停下来等你。
难的地方在策略。用户一旦给出新回答,之前依赖旧假设的那些审批就可能失效。0.154.0 明确说了,自动审批会拒绝被新指令或新回答作废的旧审批。这个耦合是对的。inline answers 要成立,权限模型就得明白:一句回答本身,就足以改变安全上下文。
安全修复其实是产品方向#
release 里还有几条和安全相关的修复,值得单独拎出来:
- 建立信任之前,不跑工作区自带的辅助程序。
- macOS 沙箱挡住终端输入注入。
- MCP 的 OAuth 刷新在连接之间协调,暴露登录挑战,而不是重放被拒的工具调用。
- 远程恢复和 fork 保留已保存的权限。
- 审批在压缩之后仍然保住授权上下文。
这正是 Developers Digest 在另一篇里说的「capability ledger」的样子。agent 安全没法靠一条 prompt、一个沙箱或者一屏审批搞定。它更像一本账,记着 agent 能读什么、写什么、跑什么、调用什么、记住什么、恢复什么,又能升级到什么。
worktree 管文件系统隔离,OAuth 管外部工具的身份,审批上下文管审查的完整性,插件刷新管会话对自己能调用哪些工具的诚实程度。单拎哪一条都不够。合在一起,会话边界才更接近事实。
一个容易被忽略的信号#
作者查了一圈热度。GitHub API 显示 openai/codex 仓库在 9 月 10 日已超过 123,000 星,还在持续更新。Hacker News 上关于 Codex CLI 的讨论有一些,但没有为这次发布炸出爆款帖。他还想去 Google Trends 核一下,结果接口返回 429,于是干脆没写任何数字。
这篇讲的是产品架构,不是搜索热度。这次发布值得写,是因为它改了 agent 会话被管理的方式,而不是因为某个关键词冲上了热搜。
想试的话,从这几步开始#
如果你已经在用 Codex CLI,动手路径很短:
- 升级 Codex CLI。
- 用
--worktree或/worktree开一个不太关键的小任务。 - fork 或恢复它,确认检出边界看得见。
- 装一个或升级一个插件,确认活动会话刷新了工具。
- 触发一次澄清,看 inline answers 能不能保住这轮工作。
- 把 diff 当成工作区产物去审,而不是当成聊天记录去读。
团队可以配一套轻量的规矩:
- 每个长跑任务都有自己的检出。
- 权限是审查的一部分,不只是配置的一部分。
- 工具和插件的变更记在任务里。
- 改变作用域的澄清回答,要重新审批。
- 合进去的活儿,必须带上能证明 agent 说到做到的那份测试或验证输出。
这套规矩听着枯燥,但它正是「agent 干的活能被审查到可以信任」的路径。
我的看法#
把这次更新放进更大的脉络里看,它的方向其实很明确:coding agent 的下一段路是会话基础设施。
好用的终端 agent,不会只盯着产出更大的 diff。它会让每一次运行都隔离、可恢复、可检查,而且一旦走错路,丢掉它也不心疼。
「工作区」这个比喻最有共鸣的一点是:它把 agent 的产出从「一段对话」抬成了「一件可以审查、可以合并、也可以直接扔掉的东西」。对我们这种把 agent 塞进 CI 和定时任务里跑的人来说,这个转变的分量,远比模型菜单里多一个名字要重。
方向对,不代表细节已经稳。作者也提醒,worktree 和长会话的边界仍然会漂。工具给了更好的默认值,剩下的还得靠你自己把作用域收紧,把权限摆到审查台面上。
参考来源#
- Codex CLI Worktrees Turn Agent Runs Into Durable Sessions(Developers Digest,2026 年 9 月)
- OpenAI Codex CLI 0.154.0 release notes