2026 年 8 月 19 日,OpenAI 在官方博客宣布,驱动 Codex App、CLI 和 IDE 扩展运行的底层执行框架 Codex agent harness 正式完全开源,发布在 github.com/openai/codex,Apache-2.0 协议。Harness 负责管理对话状态、工具调用、沙箱执行、流式输出和人工审批,是 Codex 三端共用的同一套基础设施。

这次开源的核心是三层集成接口:codex exec(轻量非交互调用)、Codex SDK(程序化编排)、Codex app-server(持久会话驱动)。底层是 Rust 核心 codex-rs 加 TypeScript SDK 的双栈实现。命令与示例以官方仓库 README 为准,接口仍在迭代。

第一层:codex exec(一次性任务 / CI 脚本)

最轻量的接入方式,适合一次性任务、CI 流水线、批量脚本。安装后直接用 codex exec 执行单次任务,执行完毕自动退出。

# 安装
curl -fsSL https://chatgpt.com/codex/install.sh | sh

# 非交互执行单次任务
codex exec "重构 src/utils.ts 中的 fetchData 函数,添加错误处理"

# 指定工作目录
codex exec --cwd /path/to/project "运行测试并修复失败的测试用例"

codex exec 在后台启动 exec-server,任务完成后自动退出,不需要持久会话。适合把 Agent 接进 CI 流水线、定时脚本这类无界面场景。

第二层:Codex SDK(程序化 Agent 编排)

SDK 位于 openai/codex/sdk,封装了 app-server 的协议,允许在代码里启动、恢复、编排 Agent 工作流。

import { CodexAgent } from '@openai/codex-sdk'

const agent = new CodexAgent({
  model: 'gpt-5.6',        // 或任意 OpenAI 兼容端点
  cwd: '/path/to/project',
  approvalPolicy: 'auto',  // auto / manual / suggest
})

// 开启新会话
const thread = await agent.thread.start({
  input: '分析仓库中的性能瓶颈并提出优化方案',
})

// 流式接收事件
for await (const event of agent.stream(thread.id)) {
  if (event.type === 'item/agentMessage/delta') {
    process.stdout.write(event.delta)
  }
  if (event.type === 'turn/completed') {
    console.log('Token 用量:', event.usage)
    break
  }
}

SDK 支持 thread/fork(分叉会话)、thread/resume(恢复历史会话)、turn/interrupt(中断当前轮次),可构建完整的多轮 Agent 交互。新版本还支持 reasoningEffort 参数(low/medium/high/max/ultra)控制推理强度。

第三层:app-server(持久会话 + 审批)

app-server 是为产品级接入设计的进程间通信层,驱动 VS Code 插件和 Codex Desktop App。协议基于 JSON-RPC 2.0,支持三种传输方式。

# stdio(默认):嵌入子进程,stdin/stdout JSONL
codex app-server --stdio

# Unix socket:本地控制面板、同机多进程
codex app-server --listen unix://

# WebSocket:跨进程流式传输(实验性)
codex app-server --listen ws://127.0.0.1:PORT

官方博客对它的定位是:你的产品负责业务上下文、业务规则与工具,Codex app-server 提供 agent loop。也就是说,你可以把模型换成任意 OpenAI 兼容端点,把 Agent 能力嵌进自己的产品,而不是只调用 CLI。

怎么选

  • 一次性脚本 / CI / 批量任务:codex exec
  • 代码内编排多轮 Agent 工作流:Codex SDK
  • 产品级持久会话、审批与流式事件:app-server
  • 换模型:三层接口都接受任意 OpenAI 兼容端点
  • 仓库最新稳定版与破坏性变更:看 GitHub Releases
模型不直接面向用户,而是被 harness 封装后以可控、可审批、可持久化的方式对外提供能力。