开源 · 可自部署 · OpenAI Agents API
OpenAI Agents API 的开源实现。用官方 OpenAI SDK,在你自己的模型和机器上运行 Codex、Claude Code 或 MiniMax Code。
$ curl -fsSL https://github.com/MiniMax-AI/OpenAgentCore/releases/latest/download/install.sh | bashLinux amd64 · Docker · Python 3.9+
Agent 要读文件、执行命令、等待测试,中途还可能需要用户确认。模型的一次返回,只是其中一步。把它接进产品,又会冒出另一组问题。
?用户关掉网页,已经提交的工作怎么办?
→连接与任务分开。连接断开只是观察者离开,Turn 继续执行,随时查询持久状态。
?请求超时了,应该再发一次,还是先查原来的任务?
→查询持久状态。已支持的提交路径带幂等标识,响应丢失也不会重复创建工作。
?点击“停止”,停的是输出,还是 Agent 和它启动的工作?
→取消要有回执:Core 确认目标 Turn 的执行和清理状态。
?这次用了哪个模型、哪台机器?输出文件和执行记录在哪?
→Session、Turn、Items、产物和用量由 Core 保存,通过 API 查询。
?从 Codex 换到 Claude Code,从 Docker 换到 E2B,产品要改多少代码?
→API 调用不变。Harness 是 Session 上的设置,配上相应协议的模型服务;沙箱由管理员选择,藏在 Sandbox Provider 后面。
一个 Agent 在终端里好用,和它能被产品稳定调用,中间还有一整层工程。OpenAgentCore 就是这一层。
每个 Session 指定自己的 Harness、模型服务和执行环境。Core 在执行前校验组合,不支持的直接拒绝。
1from openai import OpenAI
2
3client = OpenAI() # OPENAI_BASE_URL → your Core
4
5session = client.beta.agents.sessions.create(
6 environment={"type": "openai_hosted"},
7 input="修复失败的测试,并说明改动。",
8 extra_body={
9 "agent": {"model": MODEL, "x_agents_core": {"harness": "codex"}},
10 "x_agents_core": {"model_provider": {
11 "protocol": "responses",
12 "base_url": BASE_URL, "api_key": API_KEY,
13 }},
14 },
15)
支持哪些组合,由每个 Harness 明确声明,而不是猜测。 Harness 能力表 →
用官方 OpenAI SDK 或 HTTP,连接你自己的 Core 地址,不用学新客户端。
每个 Session 运行一个原生 Harness:Codex、Claude Code 或 MiniMax Code,模型服务由你配置。
托管沙箱(Docker、microsandbox、E2B),或你自己的 Linux、macOS、Windows 机器。
沙箱、Harness 和模型服务都通过明确的协议接入,替换任何一个都不动 Core。
Core 保存持久执行状态并调度工作;Runtime 在 Environment 中准备文件和能力,启动原生 Harness;Harness 调用模型和工具,经 Runtime 把事件回传给 Core。
Session 表示一段持续的 Agent 工作,Turn 是其中一次输入的执行。它们都有标识和持久状态。四条约定,决定了“执行中”“等待处理”“已取消”“失败”分别意味着什么。
关闭输出流只是观察者离开,已提交的工作仍由执行系统管理。
已支持的提交路径带稳定标识,响应丢失也不会重复创建工作。
关闭输出流证明不了什么,Core 确认目标 Turn 的执行和清理状态。
一轮任务结束、Executor 关闭、Environment 回收,是三个不同的生命周期。
!故障恢复有边界,而且是明确的:未知结果永远不会被当成成功。
Web 是管理员控制台:按 Project 查看 Session、节点容量、等待调用方处理的工作,以及错误、耗时、Token 和工具调用。
截图数值仅用于展示界面。用量可见性取决于原生 Harness 提供的数据。

| 接法 | 适合什么 | 还要自己负责 |
|---|---|---|
| 直接调用模型 API | 单次推理,或希望完全控制 Agent 循环 | 上下文、工具执行、循环推进,以及完整的任务生命周期 |
| 直接调用原生 CLI / SDK | 个人自动化,或围绕一种 Harness 构建集成 | 会话映射、执行进程、资源管理和不同引擎的差异 |
| 使用沙箱服务 | 需要隔离的计算环境 | 接入 Agent 引擎,管理执行、交互、记录和产品接口 |
| 使用 OpenAgentCore | 自部署,通过统一 API 使用多个原生 Harness 和执行环境 | 业务权限、产品体验、团队编排,以及自身部署的运维 |
状态归基础设施,智能归 Harness。
Runtime 和原生 Harness 运行在执行环境中,持久控制面放在 Core。原生引擎得以直接复用,运行环境、原生历史和恢复能力也因此仍然重要。
某个 Harness 支持的能力,不会被默认赋予其他 Harness。Core 在执行前检查组合,不支持的明确拒绝,待验证的如实记录。
调用者只需要理解任务、输入、状态和结果。机器连接、原生执行器、资源清理,由清楚的组件边界承接。接口本身就是产品。
OpenAgentCore 仍处于 pre-release 阶段,支持范围以具体的 Harness、环境和操作组合为单位验收。接下来的方向:
Loop 运行在服务端,工具在用户本地或云端沙箱执行,工具层实现企业级鉴权。
存算分离、快速恢复状态,按需扩容沙箱容量。
S3、OSS、共享文件系统,以及面向 Agent 的文件系统。
继续在公开 API 上打磨真实产品,和任何应用的接入方式完全一样。
共 21 页,直接读取仓库的 docs.json 生成。新增文档会自动出现在这里。文档正文为英文。
产品可以有不同的交互、模型和执行引擎,共用同一层执行基础设施。