一个正在发生的事实:自研 Agent 底座,正在变成一件性价比最差的事。
就在上周(2026-08-19),OpenAI 官宣 "Codex as a platform",把 Codex Harness 的三个集成入口正式开放给第三方(见本站 OpenAI 交出 Agent 的发动机)。而 Anthropic 的 Claude Agent SDK、Google 的 Gemini CLI headless 模式、xAI 的 Grok Build headless、以及开源社区的 OpenHands,早就在同一张牌桌上。四家官方加一个开源社区,全都允许你把「一个能干活、会用工具、会自己跑循环的 Agent」直接嵌进自家产品。
本文把五强摆开横评:当你要把 Agent 嵌进自己的系统(而不是当聊天工具用),该选谁。 先说边界:星数与仓库状态均为 GitHub API 实测(2026-08-22);本文基于各官方 README 与文档的代表性梳理,非逐个长期接入压测;选型结论供参考,以官方文档为准。
一、基本盘:五强是谁
| 方案 | 仓库 | 星数 | 协议 | 语言 | 集成入口 |
|---|---|---|---|---|---|
| OpenAI Codex Harness | openai/codex | 111,646 | Apache-2.0 | Rust | codex exec / TS+Python SDK / app-server(JSON-RPC) |
| Anthropic Claude Agent SDK | claude-agent-sdk-python | 7,951(Python)/ 1,711(TS) | MIT | Python / TS | query() 异步流 / TS SDK |
| Google Gemini CLI | google-gemini/gemini-cli | 106,608 | Apache-2.0 | TypeScript | -p headless + --output-format json / ACP 模式 |
| xAI Grok Build | xai-org/grok-build | 25,860 | Apache-2.0 | Rust | headless 模式 / Agent Client Protocol |
| OpenHands | OpenHands/OpenHands | 84,748 | MIT | TypeScript | 事件流 API / 自托管平台 |
三句话概括各自的性格:
- Codex Harness:平台化最完整的一家。三入口按集成深度分层(一条命令 / SDK / JSON-RPC 协议服务),线程持久化在
~/.codex/sessions支持断点恢复,SDK 原生支持 JSON Schema 结构化输出。 - Claude Agent SDK:权限模型最细的一家。Python 版自带捆绑的 Claude Code CLI(
pip install claude-agent-sdk即装即用),allowed_tools白名单 +can_use_tool回调把审批权交回你的代码,工具粒度的控制是五家里最讲究的。 - Gemini CLI:脚本化最顺手的一家。非 TTY 环境或
-p即进 headless,--output-format json返回带 token 统计的单对象,streaming 模式输出 JSONL 事件流(init/message/tool_use/tool_result/result),exit code 连「轮数超限」都给了独立编号(53)。另有 ACP 模式对接编辑器。 - Grok Build:最新的一家(2026-07-14 开源,一个多月 2.5 万星)。Rust 写的全屏 TUI coding agent,支持交互式 / headless / ACP 三种跑法,源码从 SpaceXAI monorepo 定期同步。
- OpenHands:唯一「整个平台」开源的一家。自带 Web UI、沙盒、事件流,如果你要的是自托管的完整 Agent 平台而不是嵌入组件,它是唯一选项。
二、能力对比:嵌入产品时真正在乎的六件事
| 能力 | Codex Harness | Claude Agent SDK | Gemini CLI | Grok Build | OpenHands |
|---|---|---|---|---|---|
| 结构化输出 | ✅ JSON Schema(outputSchema) | ⚠️ 消息流自解析 | ✅ --output-format json | ⚠️ headless 输出自解析 | ✅ 事件流 |
| 流式事件 | ✅ runStreamed() 事件生成器 | ✅ async iterator | ✅ JSONL 事件流 | ✅ headless 流 | ✅ 事件总线 |
| 线程持久化/恢复 | ✅ resumeThread() | ✅ 会话恢复 | ✅ 会话管理 | ⚠️ 未明示 | ✅ |
| 权限/审批控制 | ✅ 沙盒模式+审批配置(含 audit 文件系统粒度) | ✅ allowed_tools+can_use_tool(最细) | ✅ 审批模式+企业管控 | ✅ 沙盒 | ✅ 沙盒+确认 |
| 协议级接入 | ✅ app-server(JSON-RPC 2.0,stdio/ws/unix) | ⚠️ 无独立协议服务 | ✅ ACP | ✅ ACP | ⚠️ 平台 API |
| 免费额度 | 模型另计费 | 模型另计费 | 免费层+API | 模型另计费 | 自带 key,框架免费 |
两个容易被忽略的判断:
- 「仓库星数」和「能商用」是两回事。Claude Code 主仓库星数最高(142,324)但没有开源协议(source-available);而 Claude Agent SDK 是干净的 MIT。反过来,Codex 主仓库 Apache-2.0。嵌入自家产品前,先看协议别只看星。
- 「Harness 开源」和「模型免费」是两回事。五家开源的都是执行框架,模型调用全部按各家的 API 计费走。省下的是自研底座的两三个月工程时间,不是 token 账单。
三、按场景选:五条路
- 只想在 CI / 定时任务里跑一次性任务:
codex exec或gemini -p,一条命令零改造,别上 SDK。 - 产品是 TS/Python 写的,要把 Agent 当一个函数调:Codex SDK(结构化输出+线程恢复开箱即用)或 Claude Agent SDK(权限控制最细)。二选一的判据:你的场景更在乎「输出规范」(选 Codex)还是「动作可控」(选 Claude)。
- Agent 就是你产品的主体,要自定义 UI、审批流、事件流:Codex
app-server(JSON-RPC 2.0,schema 可用generate-json-schema生成)或走 ACP(Gemini CLI / Grok Build)。 - 想要完全自托管、连模型网关都不想依赖单一厂商:OpenHands,唯一整套平台级开源选项。
- 重度终端 TUI 用户:Grok Build,Rust 全屏交互体验是五家里最「原生」的。
四、三个别踩的坑
- 别把「能嵌」当「嵌完就安全」。五家都提供沙盒与审批,但默认配置都偏宽松。OpenAI 自家的评测沙盒上周刚被自家 agent 从内部凿穿(见 OpenAI 踩下刹车),权限最小化、审批门、审计日志三件套要自己配齐(见 给 Agent 上缰绳部署 SOP)。
- 别忽视协议绑定成本。选了
app-server或 ACP,你的事件处理层就和这家协议深度耦合;SDK 层耦合浅一些,CLI 层最浅。集成深度每上一级,迁移成本翻一倍,从最浅的层级开始。 - 别在 2026 年自研通用 Agent 底座。这条不是玩笑:模型在变、协议在变、基准在变,五家官方团队全职在卷的事,你自研版本只会成为维护负担。自研的价值在业务层封装(审批、记账、领域工具),不在执行层。Codex 三入口的落地路径见本站 Codex Harness 接入 SOP。
一句话收尾:底座白嫖官方的,把省下的工程时间花在缰绳上--那才是你的产品跟别人的分界线。
常见问题
Q1:Claude Code 星数最高,为什么横评里协议标注「无」? A1:anthropics/claude-code 主仓库(142,324 星)没有附开源许可证,属 source-available 可读不可随意商用;真正 MIT 开放的是 claude-agent-sdk-python(7,951 星)与配套 TS 仓库。嵌入自家产品请以 SDK 仓库的 MIT 协议为准,别直接抄主仓库代码。
Q2:Codex 的 app-server 和 MCP 是什么关系?
A2:通信风格同源(JSON-RPC 2.0),定位不同。MCP 是「模型连接外部工具」的协议,app-server 是「外部程序连接 Codex Agent」的协议--一个是 agent 的手,一个是 agent 的驾驶舱。app-server 支持 stdio / WebSocket / Unix socket 三种传输,还提供 generate-json-schema 命令为每个版本生成对应的 schema。
Q3:五家都开源了 Harness,为什么说模型成本省不下来? A3:开源的是执行框架(上下文管理、工具调度、循环、沙盒),模型推理仍走各家 API 计费。OpenAI 官方也明确区分了这两层:Harness 和集成层开源,模型访问、账号额度与托管服务是另一回事。
Q4:小型团队没有平台工程,最低成本的嵌入路径是什么?
A4:从最浅的 CLI 层起步:CI 里 codex exec 或 gemini -p,一行 shell 就完成集成;需要结构化输出和线程恢复时升级到 Codex SDK;只有当你要自定义 UI 和审批流时才碰 app-server / ACP。每升一级迁移成本翻倍,永远从够用的最低层开始。
Q5:OpenHands 和其他四家的本质区别? A5:其他四家给你的是「嵌入自家产品的组件」,OpenHands 给你的是「整套自托管平台」--Web UI、沙盒、事件流、多 Agent 全在内(84,748 星,MIT)。判据一句话:你的产品里 Agent 是一个功能,选四家官方;你想运营一个 Agent 平台,选 OpenHands。
参考来源
- GitHub API 实测(2026-08-22):openai/codex(111,646★ Apache-2.0)、anthropics/claude-code(142,324★ 无协议)、anthropics/claude-agent-sdk-python(7,951★ MIT)、google-gemini/gemini-cli(106,608★ Apache-2.0)、xai-org/grok-build(25,860★ Apache-2.0)、OpenHands/OpenHands(84,748★ MIT)
- openai/codex 仓库文档:
sdk/typescript/README.md、sdk/python/docs/getting-started.md、codex-rs/app-server/README.md - claude-agent-sdk-python README:query() 用法、allowed_tools / can_use_tool 权限模型
- gemini-cli 文档:
docs/cli/headless.md(输出格式、JSONL 事件、exit codes)、docs/cli/acp-mode.md - grok-build README:TUI / headless / ACP 三模式、monorepo 同步机制
本文为代表性对比(基于官方文档与 API 快照,截至 2026-08-22),非逐个长期接入实测,选型以各官方文档为准。