Codex Harness 深度解析:Rust 核心、三层架构
一、核心事件
2026 年 8 月 19 日 ,OpenAI 正式将驱动 Codex App、CLI 和 VS Code 插件的底层执行框架 ------ Codex Agent Harness ------ 全面开源(Apache-2.0 协议)。
与 2025 年 4 月仅开放 CLI 前端源码不同,这次开的是"引擎盖下的东西" :Rust 核心(codex-rs)、app-server 驱动层以及完整的 SDK 集成接口全部对外开放。截至 2026-08-21,仓库已累计 107,443 Star ,最新稳定版 v0.149.0(2026-08-20 发布)。
Harness 的本质是什么?
它是管理对话状态、工具调用、沙箱执行、流式输出和人工审批的运行时基础设施。官方定位非常清晰:
"你的产品拥有业务上下文、业务规则和工具;Codex app-server 提供 Agent 循环(agent loop)。"
这意味着开发者第一次可以用与 Codex 商业产品完全相同的底层运行时,构建自己的 Agent 应用,而不仅仅是调用一个 CLI 命令。
二、三层集成架构精解(从脚本到产品全覆盖)
OpenAI 此次开源的核心是分层设计,覆盖从 CI 脚本到产品级 Agent 的全部场景:
| 层级 | 组件 | 适用场景 | 关键特性 |
|---|---|---|---|
| 第一层 | codex exec |
CI/CD 流水线、一次性脚本、批量任务 | 非交互,执行完毕即退出,最轻量 |
| 第二层 | @openai/codex-sdk(TypeScript) |
程序化 Agent 编排、自定义工作流 | 支持线程分叉/恢复、流式事件、中断控制 |
| 第三层 | codex app-server(JSON-RPC 2.0) |
产品级嵌入(桌面 App、IDE 插件) | 持久会话、跨进程通信、审批机制 |
Inline Execution(推荐)
第一层:codex exec(CI 脚本友好)
bash
# 一行命令完成非交互任务
codex exec "重构 src/utils.ts 中的 fetchData 函数,添加错误处理"
codex exec --cwd /path/to/project "运行测试并修复失败的测试用例"
后台启动 exec-server,任务结束自动退出,无需持久会话。
第二层:Codex SDK(程序化编排)
javascript
import { CodexAgent } from '@openai/codex-sdk'
const agent = new CodexAgent({
model: 'gpt-5.6',
cwd: '/path/to/project',
approvalPolicy: 'auto',
})
const thread = await agent.thread.start({
input: '分析仓库中的性能瓶颈并提出优化方案',
})
// 流式消费事件
for await (const event of agent.stream(thread.id)) {
// 处理增量消息、工具调用结果等
}
v0.149.0 新增 :支持 reasoningEffort: 'max' | 'ultra' 调节推理强度。
第三层:app-server(产品级接入)
基于 JSON-RPC 2.0,支持三种传输方式:
- stdio(默认)------ 嵌入子进程,生产推荐
- Unix socket ------ 本地多进程通信
- WebSocket ------ 跨进程流式传输(实验性,生产勿用)
三大核心原语:
- Thread:完整对话会话,可 fork / resume
- Turn:单轮交互(用户消息 → Agent 完成)
- Item:原子事件(消息、推理步骤、Shell 命令、文件编辑等)
生成类型定义:
bash
codex app-server generate-ts --out ./schema/
codex app-server generate-json-schema --out ./schema/

四、技术亮点
1. 性能增益:同一模型,3 倍效果差异
通过 Harness 级别的 retained reasoning 和 context compaction 优化,GPT-5.6 Sol 在 ARC-AGI-3 上的得分从 13.3% 跃升至 38.3% ,同时 输出 Token 消耗减少 6 倍 。
------ 同一模型,不同 Harness 策略,效果差距显著。
2. 模型无关:可替换任意 OpenAI 兼容端点
model-provider 抽象层支持接入任意兼容 OpenAI API 的模型服务。通过环境变量即可切换:
bash
export OPENAI_API_KEY="your-key"
export OPENAI_BASE_URL="https://api.qnaigc.com/v1" # 如七牛云大模型广场
codex exec --model deepseek-v4-flash "帮我优化这段代码"
3. Rust 核心取代 Node.js
codex-rs 用 Rust 实现所有性能敏感路径(调度、沙箱、TUI 渲染、传输层),TypeScript SDK 仅作为上层接口。并发会话响应速度和资源占用显著优于旧版。
五、开源组件全景 & 关键澄清
已开源(Apache-2.0)
- Codex CLI + Harness 核心(
codex-rs) - Codex SDK(TypeScript)
- Codex app-server
- Skills 库 / Plugins 库 / Codex Security CLI
未开源
- IDE Extension 内部实现
- Codex Cloud 托管服务
对比DSH?
| 问题 | 答案 |
|---|---|
| 与 DeepSeek Harness 是同一套吗? | 否。两者独立开发,理念相近但实现不同(Codex 用 Rust,DeepSeek 用 TypeScript/Cordis)。有趣的是,Codex 可作为子代理安装到 DeepSeek Harness 中,形成嵌套。 |
| WebSocket 能用于生产吗? | 不能。官方标注为实验性,生产请用 stdio 或 Unix socket。 |
| CI/CD 如何避免人工审批? | 设置 --approval-policy auto(自动批准)或 suggest(仅建议)。v0.149.0 已修复权限 Profile 静默回退的 bug。 |
六、为什么这次开源值得关注?
Codex Harness 开源的真正意义,不在于"又多了一个开源工具",而在于 OpenAI 将驱动自家商业产品的 Agent 运行时底层完整开放。
三层接口(exec → SDK → app-server)构成了一个从"脚本自动化"到"产品级 Agent"的完整连续体。开发者第一次可以用与 Codex App 完全相同的底层基础设施,自由替换模型、嵌入自有产品、编排复杂工作流。
ARC-AGI-3 上 3 倍的性能差距,已经用数据证明了这套架构设计的含金量。对于 Agent 开发者和 AI 基础设施工程师而言,这不是一个"可以试试"的选项,而是必须认真研究的参考实现。
📌 官方链接
- 仓库:github.com/openai/code...
- v0.149.0 Release Notes:github.com/openai/code...
- 官方文档:learn.chatgpt.com/docs


