CodexHarness开源 OpenAI发的不是新代码,而是一次战略级的重新包装——把harness定义成一层可以被任何产品复用的agent基础设施。
就是说,Codex CLI背后那套agent loop现在可以直接拿来用。
1. Codex Harness是什么Codex的CLI、IDE插件、macOS App、Web版表面是不同产品,背后跑的是同一套东西:agent loop。管理对话状态、调用工具、执行沙箱操作、请求人工审批、跨轮次续接任务,这套执行逻辑就是harness。以前藏在各客户端背后,现在被单独拎出来,定位成一层可以被任何产品复用的agent基础设施。
2. 开源了什么Codex CLI、App Server、官方Codex SDK,三个组件都是Apache 2.0开源。核心是App Server——一个双向JSON-RPC协议,走stdio传JSONL。
1)三个核心概念:Item(最小单元,一条消息/一次工具调用/一个diff,有started→delta→completed生命周期)、Turn(用户一次输入触发的一整轮agent工作)、Thread(持久化会话容器,可创建、恢复、fork、归档)。
2)客户端不用重新实现agent loop,直接监听这套事件流就能渲染完整UI:流式进度、diff展示、审批弹窗全部现成。
3)背景很实在:App Server最早只是给VS Code插件复用CLI的agent loop顺手搭的协议,没打算给外部依赖,后来JetBrains、Xcode、桌面App需求都进来了,才被迫升级成稳定协议。
3. 怎么用1)codex exec:一次性脚本化执行,适合CI流水线,跑完直接返回结构化结果。
2)Codex SDK(TypeScript):程序化控制本地Codex agent,适合嵌入已有代码。
3)App Server:功能最全,适合做持久会话、流式事件、审批交互的正经产品,代价是要自己写JSON-RPC客户端绑定(官方说很多团队直接喂Codex去生成绑定代码)。
3. 技术特点1)协议而非库:JSON-RPC over stdio,跟语言无关,官方已经用Go、Python、TypeScript、Swift、Kotlin写过客户端,向后兼容,老客户端能连新版server。
2)状态在服务端:Thread的历史持久化在server侧,Web版这种tab关了、网络断了的场景,重连能接着渲染完整时间线,不用客户端自己维护状态。
3)审批可打断turn:agent想执行有风险的动作时,server会主动发请求给客户端,暂停turn直到用户回复allow/deny,这套交互是内建在协议里的,不是应用层自己拼的。 程序员








