教程2026年8月21日3,889 浏览约 7 分钟阅读

Codex Harness是什么?开源Agent框架完整解析

解析OpenAI Codex Harness开源框架,介绍Agent运行时、SDK、app-server接口、自定义模型接入与自动化开发。

Codex Harness是什么?开源Agent框架完整解析

摘要

2026年8月19日,OpenAI正式对外开源Codex Agent Harness,该框架是支撑Codex桌面端、CLI工具、VS Code插件的底层运行时,基于Apache‑2.0开源协议发布。截止2026‑08‑21,GitHub仓库收获107443颗Star,16354次Fork,稳定版本v0.149.0于8月20日同步上线。本次开源的核心价值是放出三层集成接口:轻量非交互codex exec、程序化Codex SDK、长会话codex app‑server,覆盖从CI脚本到独立Agent产品的全链路开发场景。Harness负责会话状态管理、工具调度、沙箱隔离、输出流式处理与人工作业审批,开发者可以在此之上构建自有业务逻辑,也可以对接第三方模型端点。在多模型接入场景,koalaapi作为API网关可以简化不同大模型服务的统一接入工作。本文拆解Rust底层模块、三层接口用法、版本更新要点、自定义模型接入方案与常见问题。

一、Codex Harness核心定位与设计理念

Codex Harness属于Agent执行运行时,不直接面向终端用户,而是作为底层基础设施,把模型能力封装成可控、可审批、可持久化调用的服务。应用层产品掌握业务上下文与业务规则,Harness只负责Agent循环执行链路。

该设计思路和DeepSeek Harness有很强的相似性,二者都采用插件扩展架构。差异在于Codex Harness底层采用Rust实现codex‑rs核心,搭配TypeScript SDK,更偏向生产环境高性能部署;DeepSeek Harness主要基于TypeScript构建,迭代速度更快,更适合原型快速验证。

本次开源之前,OpenAI仅开放Codex CLI前端代码,codex‑rs底层、app‑server服务均为内部闭源实现。v0.149.0版本完整开放app‑server协议与SDK接口,带来三项关键能力:

  1. 将Codex Agent能力嵌入自有业务系统,不再局限于调用独立CLI程序;
  2. 替换底层模型提供方,兼容任意OpenAI协议的模型端点;
  3. 在CI/CD流水线实现无人值守自动化Agent任务,无需人工介入。

官方给出ARC‑AGI‑3测试数据可以直观体现Harness层优化带来的收益:借助retained reasoning与上下文压缩优化,GPT‑5.6 Sol在ARC‑AGI‑3评测得分由13.3%提升至38.3%,同时输出侧Token消耗降低六倍;相同模型下,不同Harness实现可以带来最高3倍效果差距。这也说明Agent系统的最终表现,不只是取决于大模型本身,运行时框架的调度策略同样起到决定性作用。

二、codex‑rs Rust底层模块总览

codex‑rs是整套Harness的高性能底层,全部由Rust编写,承担性能敏感任务,包含一系列功能子模块。

子模块 功能说明
app‑server 为VS Code插件、桌面应用提供JSON‑RPC服务
exec‑server 支撑非交互任务执行服务
sandboxing / linux‑sandbox / windows‑sandbox‑rs 跨平台沙箱隔离,管控文件与命令权限
exec / execpolicy 执行策略、权限校验逻辑
skills 可复用Skill能力框架
hooks 生命周期钩子回调
tools 工具调用运行时
tui 终端交互UI组件
mcp‑server MCP协议服务端实现
thread‑store / history 会话持久化存储,管理对话历史
responses‑api‑proxy Responses API代理转发层
model‑provider 模型提供方抽象层,用来对接各类兼容端点

部分组件并未开源:IDE扩展内部实现、Codex Cloud托管服务不在本次开源清单内。

三、三层集成接口完整解析

OpenAI设计三层接口,分别适配一次性脚本、代码开发编排、产品级长会话三类场景,开发者按需选择接入方式。

第一层:codex exec — CLI脚本、非交互批量任务

codex exec属于最轻量接入方案,适合CI流水线、批量脚本、一次性任务。后台启动exec‑server,任务执行完成自动退出,不维持持久会话。

基础示例:

# 安装
curl -fsSL https://chatgpt.com/codex/install.sh | sh
# 执行非交互任务
codex exec "重构 src/utils.ts 中的 fetchData 函数,增加错误捕获逻辑"
# 指定项目工作目录运行
codex exec --cwd /path/to/project "运行测试并修复失败的测试用例"

该模式没有会话记忆,每次调用独立运行,适合自动化流水线场景。

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

SDK包路径为@openai/codex‑sdk,封装app‑server通信协议,允许在TypeScript代码内创建、恢复、分支Agent会话。支持thread/fork分支会话、thread/resume恢复历史会话、turn/interrupt中断当前轮次,可以快速搭建多轮交互Agent应用。

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()

借助SDK,开发者可以把Agent逻辑完整嵌入后端服务,不用调用外部二进制命令行。

第三层:codex app‑server — 持久会话、流式事件、审批流程

app‑server面向正式产品,作为独立进程对外提供JSON‑RPC 2.0协议服务,VS Code插件、Codex桌面客户端都依赖该服务。支持三种通信传输方式:stdio标准输入输出、Unix socket、WebSocket。

传输方式 命令示例 适用场景
stdio(默认) codex app‑server --stdio 嵌入子进程,标准流收发JSON消息
Unix socket codex app‑server --listen unix://xxx 本地多进程协同,控制面板
WebSocket codex app‑server --listen ws://127.0.0.1:PORT 跨进程流式传输(实验特性)

WebSocket接口标记为实验性质,官方不建议直接用于生产环境,生产优先选用stdio或者Unix socket。

核心概念定义:

  1. Thread:完整会话对象,包含多轮交互Turn,支持暂停、恢复;
  2. Turn:一轮交互单元,用户输入到Agent完成输出;
  3. Item:会话内消息条目,可以是提示、Shell命令、文件修改、工具调用结果。

框架内置命令可以生成TypeScript、JSON Schema类型定义,方便前后端开发:

codex app‑server generate‑ts --out ./schema
codex app‑server generate‑json‑schema --out ./schema

四、v0.149.0版本主要更新(2026‑08‑20)

伴随开源同步发布的稳定版本,新增多项面向工程落地的能力:

  1. codex‑agents仪表盘:交互式Agent管理界面,支持搜索、启动、暂停、重命名、终止任务,支持快捷键自定义,直观管控Agent生命周期。
  2. codex‑queue消息队列:向正在运行的会话追加消息,不需要等待当前轮任务结束。典型场景:Agent正在执行测试,外部追加新需求。
codex queue --thread‑id <thread‑id> "同时帮我更新 CHANGELOG.md"
  1. 工作目录切换:TUI终端内置cdpwd指令,不用重启会话切换工作目录。
  2. SDK推理强度控制:代码内可设置reasoningEffort,支持maxultra档位。
agent.config({ reasoningEffort: "ultra" })
  1. codex‑doctor诊断工具:一键检查端点连通性、网络代理、桌面服务运行状态,快速定位连接故障。

同时修复一批关键缺陷:会话唤醒恢复、分支会话权限还原、子代理任务稳定性、WebRTC重连逻辑等问题。

五、接入自定义模型提供方

Harness内部model‑provider模块做了抽象层,兼容全部OpenAI协议的模型端点。多模型统一接入平台如koalaapi,可以统一管理DeepSeek、Kimi、GLM等模型服务,只需要修改base‑url即可完成切换。

两种配置方式:环境变量注入,或者修改本地~/.codex/config.toml配置文件。

环境变量方式示例:

export OPENAI_API_KEY="你的APIKEY"
export OPENAI_BASE_URL="https://xxx/v1"
codex exec --model deepseek‑v4‑flash "帮我优化这段代码"

toml配置文件示例:

[provider]
type = "openai"
model = "deepseek‑v4‑flash"
base‑url = "https://xxx/v1"
[auth]
api‑key‑env = "YOUR_API_KEY_ENV"

密钥建议使用环境变量引用,禁止明文写死在配置文件提交代码仓库。

六、开源组件总览与常见FAQ

开源组件清单

组件 仓库地址 协议
codex‑rs Harness核心 openai/codex Apache‑2.0
Codex SDK openai/codex‑sdk Apache‑2.0
codex app‑server openai/codex‑app‑server Apache‑2.0

高频问题整理

Q:Codex Harness 和 DeepSeek Harness是同一套框架吗? 不是。两套独立开发,设计思想趋同。Codex Harness由OpenAI基于Rust开发,面向生产级Agent产品;DeepSeek Harness由DeepSeek AI开发,TypeScript实现,原型迭代快。有趣的是Codex子代理Bundle还可以安装到DeepSeek Harness中,实现两套框架联动。

Q:Rust重写版本对比旧Node.js版本有什么提升? codex‑rs接管全部性能敏感路径,调度、沙箱、IO全部下沉Rust;SDK层保留TypeScript。整体响应速度、内存占用、稳定性相比旧版得到明显优化。

Q:WebSocket传输能不能上生产? 属于实验接口,官方不推荐生产负载,生产环境优先 stdio / unix socket。

Q:CI流水线如何实现无人工审批? 调用codex exec时设置--approval‑policy suggest,配置文件同步修改policy,关闭交互弹窗,适配自动化流水线。

Q:OSS计划是什么? OpenAI面向开源项目提供Codex OSS申请通道,审核通过项目可以拿到API额度,用于开源项目开发。

七、总结

Codex Harness开源最重要的意义,是OpenAI把自身商业化产品内部的Agent运行时完整对外交付。三层接口覆盖从简单脚本到完整Agent产品,开发者不用从零搭建工具调度、沙箱、会话管理整套基础设施。v0.149.0配套的仪表盘、消息队列、诊断工具,补齐了Agent生命周期运维能力。

同时评测数据证明,Agent系统效果不只取决于基座大模型,Harness运行时的调度、上下文压缩、推理留存策略会显著改变最终输出质量。开发者既可以直接使用OpenAI模型,也可以通过model‑provider抽象层对接各类第三方模型服务,灵活构建混合模型架构。

了解更多:https://koalaapi.com

标签Codex HarnessOpenAI CodexAI AgentCodex SDKAgent Runtime
Koala API · 一站式大模型 API 中转

把博客读到的,落地到你的下一个项目

国内直连 · 兼容 OpenAI SDK · GPT / Claude / Gemini 等主流模型聚合

延伸阅读

免费注册