返回博客列表

Codex不再只是CLI:OpenAI把它做成了Agent平台

2026-08-15T05:30:00+08:00
OpenAICodexAgentPlatformSDKApp ServerHarnessMCP

Codex 不再只是 CLI:OpenAI 把它做成了 Agent 平台

看完你会发现,你对「Codex是什么」的理解可能要更新了。

2026 年 8 月 20 日,OpenAI 发布博文《Codex as a platform: build on the open agent harness》。

标题里的关键词不是「Codex」,是「platform」和「open agent harness」。OpenAI 正在把 Codex 从一个终端编码 Agent 变成一个可编程的 Agent 平台——你不再只是用 Codex 写代码,你可以在 Codex 的 harness 上构建自己的 Agent 应用。

GitHub 仓库 openai/codex 有 111,342 Stars、17,089 Forks。Rust 核心 + Python SDK + TypeScript SDK,Apache 2.0 协议。但 Stars 数只是表象,真正的变化在代码结构里。

注:OpenAI 博客原文受 Cloudflare 保护无法完整获取。以下基于 Codex 仓库的代码结构、SDK 文档、App Server 协议 schema、和已公开的组件设计分析撰写。

本文提纲

  1. 从 CLI 到平台:架构跃迁
  2. App Server Protocol:641KB 的 JSON-RPC 协议
  3. Python SDK:pip install openai-codex
  4. TypeScript SDK:npm install @openai/codex-sdk
  5. Skills 系统:7 个内置技能
  6. Plugin 市场:安装、分享、搜索
  7. Guardian:生产级安全护栏
  8. 远程控制:SSH 上的 Agent 守护进程
  9. 外部 Agent 迁移:从其他框架导入配置
  10. 这件事的结构性意义

从 CLI 到平台:架构跃迁

一年前 Codex 是什么?一个终端里的编码 Agent,类似 Claude Code。你输入 codex,它帮你写代码、跑测试、提 PR。

现在 Codex 是什么?一个分层平台:

graph TB
    A["Your App
Python / TypeScript / JSON-RPC"] --> B["Codex App Server
Rust daemon"] B --> C["Agent Runtime
threads, turns, tools, MCP"] C --> D["Model Layer
OpenAI / local / gateway"] C --> E["Tool Layer
Read/Write/Edit/Bash/Glob/Grep"] C --> F["MCP Integration
OAuth + resources + events"] C --> G["Skills System
auto-activated knowledge"] C --> H["Plugin Marketplace
install/search/share"] C --> I["Guardian
permission profiles + approvals"] style A fill:#FF6B6B,color:#000000 style B fill:#4ECDC4,color:#000000 style C fill:#45B7D1,color:#000000

你的应用通过 SDK(Python 或 TypeScript)或直接 JSON-RPC 连接到 Codex App Server——一个 Rust 写的守护进程。App Server 管理 Agent Runtime,Runtime 负责线程(threads)、回合(turns)、工具调用、MCP 集成、Skills、Plugins 和安全护栏。

你不再是在终端里敲命令——你在用编程语言调用一个完整的 Agent 基础设施。

App Server Protocol:641KB 的 JSON-RPC 协议

App Server Protocol 是 Codex 平台的核心。它是一个基于 JSON-RPC 的协议,有 v1 和 v2 两版 schema。v2 的完整 schema 文件有 641KB——这不是一个小 API,是一个完整的 Agent 操作系统级协议。

协议覆盖的能力从文件树可见一斑:

能力域 具体 RPC
Thread 生命周期 start, list, read, fork, archive, delete, resume, revert, rollback
Turn 处理 start, interrupt, steer
文件系统 read, write, create dir, remove, copy, watch, metadata
命令执行 exec, resize, terminate, write
MCP 集成 tool call, resource read, OAuth login, event stream, server status
Plugin 系统 install, uninstall, list, read, search, share, save
Plugin 市场 marketplace add, remove, upgrade
Skills config write, extra roots set, changed notifications
Guardian/审批 permission profiles, file change approval, command exec approval
外部 Agent config detect, import, histories
远程控制 status, processor
Apps installed, list, read
Account login, logout, rate limits, token usage
Config batch write, read, requirements, warnings
Model 管理 list, provider capabilities, reroute, safety buffering
Hooks list, started, completed
上下文 compaction, plan items
实时对话 realtime conversation

每一行都是一个完整的子系统。比如 Thread 生命周期不只是 start/stop——还有 fork(分支对话)、resume(续接中断的对话)、revert(回滚到某个历史点)、rollback(回滚文件变更)。这些操作粒度比大多数 Agent 框架的「创建会话/发消息/结束」三个操作要细一个数量级。

协议支持两种传输:WebSocket(远程连接)和 stdio(本地进程间)。内部进程间路径使用类型化通道而非 JSON 序列化,保持热路径性能。

Python SDK:pip install openai-codex

pip install openai-codex
from openai_codex import Codex

with Codex() as codex:
    thread = codex.thread_start()
    result = thread.run("Explain this repository in three bullets.")
    print(result.final_response)

三行代码,你就把 Codex 的 Agent 能力嵌入了你的 Python 应用。SDK 复用已有的 Codex 认证——不需要额外配置 API key。

15 个示例项目覆盖了完整使用场景:

# 示例 教什么
01 quickstart 基础构造和首次调用
02 turn_run 同步/异步执行回合
03 turn_stream_events 流式事件处理
04 models_and_metadata 模型选择和元数据
05 existing_thread 恢复已有线程
06 thread_lifecycle_and_controls 线程生命周期和控制
07 image_and_text 图片输入
08 local_image_and_text 本地图片输入
09 async_parity 同步/异步对等
10 error_handling_and_retry 错误处理和重试
11 cli_mini_app CLI 迷你应用
12 turn_params_kitchen_sink 回合参数全集
13 model_select_and_turn_params 模型选择+回合参数
14 turn_controls 回合控制(中断、转向)
15 login_and_account 登录和账户管理

SDK 的设计有几个值得注意的细节:

  • 认证复用。 已经在 Codex CLI 登录过的用户,SDK 直接用,不需要重新认证。也支持 ChatGPT 浏览器登录、设备码登录、API key 登录。
  • 异步/同步对等。 每个示例都有 async 和 sync 两个版本。不是事后补的同步包装,是从设计上保证对等。
  • 生成代码量大。 generated/v2_all.py 有 326KB——这是从协议 schema 自动生成的类型化 API。每个 RPC 都有对应的 Python 类型签名。

TypeScript SDK:npm install @openai/codex-sdk

npm install @openai/codex-sdk
import { Codex } from "@openai/codex-sdk";

const codex = new Codex();
const thread = codex.startThread();
const turn = await thread.run("Diagnose the test failure and propose a fix");
console.log(turn.finalResponse);

TypeScript SDK 的设计思路和 Python 不同——它不是直接走 JSON-RPC,而是spawn Codex CLI 进程,通过 stdin/stdout 交换 JSONL 事件。这是一个更轻量的集成方式,不需要运行 App Server daemon。

关键特性:

  • 流式响应。 runStreamed() 返回 async generator,逐个产出结构化事件——item.completed、turn.completed 等。
  • 结构化输出。 可以传 JSON Schema 或 Zod schema,Codex 返回符合 schema 的 JSON。
  • 图片附件。 支持本地图片路径和文本混合输入。
  • 线程恢复。 resumeThread(threadId) 恢复持久化的线程。
  • 工作目录控制。 默认要求 Git 仓库(防不可逆操作),可跳过。
  • 环境变量控制。 env 参数完全控制 CLI 收到的环境变量——适合 Electron 等沙箱化场景。
  • Config 覆盖。 结构化 config 和原始 configOverrides 两层覆盖,精细控制 Codex 行为。

Node.js 18+,@openai/codex-sdk

Skills 系统:7 个内置技能

Codex 在 .codex/skills/ 目录里自带了 7 个 Skills,全部使用 SKILL.md 格式:

Skill 大小 用途
babysit-pr 17KB 自动化 PR 审查和监控(含 30KB Python 脚本 gh_pr_watch.py
code-review 多个子 Skill breaking-changes / change-size / context / testing 四个审查维度
codex-pr-body 4.4KB 自动生成 PR 描述
path-types 2.4KB 路径类型检查
remote-tests 3.4KB 远程测试执行
test-tui 0.5KB TUI 测试
update-v8-version 3.4KB 自动更新 V8 引擎版本

每个 Skill 有 agents/openai.yaml 配置文件和 references/ 知识目录。babysit-pr 甚至有完整的 Python 测试套件——这不是文档,是可执行的 Agent 工作流。

Skills 使用和 Claude Code、NOOA、Diagram Design 相同的 SKILL.md 格式。这进一步验证了 SKILL.md 正在成为跨平台标准

协议层有完整的 Skills 支持:SkillsConfigWriteSkillsExtraRootsSetSkillsChangedNotification——Skills 可以动态配置、扩展根目录、变更通知。

Plugin 市场:安装、分享、搜索

Codex 的协议层有完整的 Plugin 市场能力:

RPC 功能
PluginInstall 安装插件
PluginUninstall 卸载插件
PluginList 列出已安装插件
PluginRead 读取插件详情
PluginSearch 搜索市场插件
PluginShareSave 分享插件到市场
PluginShareList 列出已分享插件
PluginShareDelete 从市场删除
PluginShareUpdateTargets 更新分享目标
PluginShareCheckout 检出分享
PluginSkillRead 读取插件内的 Skill
PluginInstalled 插件安装通知
MarketplaceAdd 添加市场源
MarketplaceRemove 移除市场源
MarketplaceUpgrade 升级市场源

这不只是一个 API——这是一个完整的分发生态。开发者可以构建 Agent 技能、打包为 Plugin、发布到市场、被其他用户搜索和安装。这和 Diagram Design 的 /plugin marketplace add 模式完全一致——说明 OpenAI 在构建一个统一的 Plugin 生态。

Guardian:生产级安全护栏

Codex 的安全系统叫 Guardian,协议层有完整的审批机制:

审批类型 说明
PermissionsRequestApproval 权限请求审批(7KB schema)
ApplyPatchApproval 文件补丁审批
ExecCommandApproval 命令执行审批(15KB schema)
FileChangeRequestApproval 文件变更请求审批
CommandExecutionRequestApproval 命令执行请求审批(15KB schema)
McpServerElicitation MCP 服务器交互请求(13KB schema)
ToolRequestUserInput 工具请求用户输入
ItemGuardianApprovalReview 条目 Guardian 审批审查

Guardian 不是简单的 yes/no 确认——它有权限配置文件(permission profiles),可以定义细粒度的文件系统访问策略(如 :root=read/path/to/.env=deny)。还有 GuardianWarningNotificationSafetyCheckDowngrade 机制,当安全检查无法通过时可以降级而不是直接拒绝。

misalignment_policy schema 的存在说明 Guardian 还处理 Agent 行为偏离——当 Agent 的执行偏离预期时,Guardian 会介入。

远程控制:SSH 上的 Agent 守护进程

codex-rs/app-server-daemon/ 是一个完整的守护进程管理器:

codex app-server daemon start
codex app-server daemon restart
codex app-server daemon enable-remote-control
codex app-server daemon bootstrap --remote-control

这意味着 Codex 可以在一台远程开发机上以 daemon 形式运行,桌面和移动 App 通过 SSH 连接它。bootstrap 命令甚至启动一个后台更新循环,每小时运行 install.sh 检查更新——发现新版本就自动更新 App Server,然后替换自身。

这是为「远程开发机」场景设计的:你的开发机在云上,Codex 作为守护进程常驻,你的桌面/移动客户端连接它。App Server 进程不依赖你的客户端在线——你关了客户端,App Server 继续跑。

外部 Agent 迁移:从其他框架导入配置

external_agent_migration 模块(31KB processor + 14KB protocol + 24KB session_importer)可以检测和导入其他 Agent 框架的配置

协议层有完整的支持:

  • ExternalAgentConfigDetect — 检测外部 Agent 配置
  • ExternalAgentConfigImport — 导入配置
  • ExternalAgentConfigImportHistory — 导入历史记录
  • ExternalAgentConfigImportProgress — 导入进度通知

这说明 OpenAI 在认真做迁移路径——你在 Claude Code 或其他框架的配置,可以导入到 Codex 平台。

这件事的结构性意义

第一,Codex 从产品变成了基础设施。 CLI 是产品形态——你用它写代码。App Server + SDK + 协议是基础设施形态——你在它上面构建应用。这个转变和 AWS 从「卖算力」到「卖基础设施」的转变结构上完全一致。OpenAI 不只是让你用 Codex,是让你在 Codex 上构建你自己的 Agent 产品。

第二,open agent harness 是定位宣言。 OpenAI 明确用了「open agent harness」这个词。Harness 这个概念我们在 DeepSeek Harness、Claude Code auto mode、NVIDIA NOOA 的分析里反复讨论过——Agent 执行框架。OpenAI 现在说 Codex 是一个「open」的 harness,意味着它开放了协议层(JSON-RPC)、SDK 层(Python + TypeScript)、扩展层(Skills + Plugins + MCP)、安全层(Guardian)、和管理层(远程控制 + 迁移)。这不是开源核心+商业版的套路——Apache 2.0 全量开源。

第三,SDK 是平台战略的关键棋子。 有了 Python 和 TypeScript SDK,开发者可以把 Codex 嵌入任何应用——CLI 工具、Web 应用、桌面 App、CI/CD 流水线。thread.run("Diagnose the test failure") 这一行代码背后是整个 App Server 协议在运转。降低集成门槛是平台化的第一步。

第四,和整个 Agent 生态的关系。 Codex 的 Skills 用 SKILL.md(和 Claude Code、NOOA、Diagram Design 一致)。MCP 配置和 .mcp.json 格式一致。Plugin 市场和 Diagram Design 的 marketplace 命令一致。这不是巧合——OpenAI、Anthropic、NVIDIA 在共同构建一套跨平台的 Agent 标准:MCP 统一工具接口,SKILL.md 统一知识格式,Plugin marketplace 统一分发机制。

第五,与 Apache Maka 的对比。 Apache Maka 走的是基金会治理路线(社区共识、无单一控制方)。Codex 走的是公司开源路线(OpenAI 控制,Apache 2.0 协议)。两者的技术架构都包含 Event Log/Trace、Guardian、Skills、MCP——但治理模型完全不同。企业选型时的权衡点不只是技术能力,还有治理风险:OpenAI 能不能一直保持 Apache 2.0 全量开源?

参考文档与链接

你会在 Codex 平台上构建什么应用?评论区聊聊。觉得有用点个赞让更多人看到。


作者: itech001 来源: 公众号:AI人工智能时代(the-ai-era) 网站: https://www.theaiera.top/ 关注每日最新AI新闻和技术博客,主页有更多的文章的AI 技术参考:https://www.theaiera.top

本文首发于 AI人工智能时代,转载请注明出处。

分享给朋友