Skip to content

开源 · 可自部署 · 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 | bash

Linux amd64 · Docker · Python 3.9+

api
/v1 · OpenAI Agents API
harness
codex | claude_sdk | mcode
protocol
responses | anthropic | chat_completions
sandbox
docker | microsandbox | e2b
machine
linux | macos | windows
// 01缺失的一层

调用模型已经标准化,让 Agent 干活还没有。

Agent 要读文件、执行命令、等待测试,中途还可能需要用户确认。模型的一次返回,只是其中一步。把它接进产品,又会冒出另一组问题。

  1. ?用户关掉网页,已经提交的工作怎么办?

    →连接与任务分开。连接断开只是观察者离开,Turn 继续执行,随时查询持久状态。

  2. ?请求超时了,应该再发一次,还是先查原来的任务?

    →查询持久状态。已支持的提交路径带幂等标识,响应丢失也不会重复创建工作。

  3. ?点击“停止”,停的是输出,还是 Agent 和它启动的工作?

    →取消要有回执:Core 确认目标 Turn 的执行和清理状态。

  4. ?这次用了哪个模型、哪台机器?输出文件和执行记录在哪?

    →Session、Turn、Items、产物和用量由 Core 保存,通过 API 查询。

  5. ?从 Codex 换到 Claude Code,从 Docker 换到 E2B,产品要改多少代码?

    →API 调用不变。Harness 是 Session 上的设置,配上相应协议的模型服务;沙箱由管理员选择,藏在 Sandbox Provider 后面。

一个 Agent 在终端里好用,和它能被产品稳定调用,中间还有一整层工程。OpenAgentCore 就是这一层。

// 02自由组合

选模型、选 Agent、选机器,是三个独立的决定。

每个 Session 指定自己的 Harness、模型服务和执行环境。Core 在执行前校验组合,不支持的直接拒绝。

$ harness
$ 模型协议
$ 执行环境
session.py
 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)
✓通过校验 · Session 已创建

支持哪些组合,由每个 Harness 明确声明,而不是猜测。 Harness 能力表 →

  • [api]

    与 OpenAI 相同的 API

    用官方 OpenAI SDK 或 HTTP,连接你自己的 Core 地址,不用学新客户端。

  • [agent]

    自选 Agent

    每个 Session 运行一个原生 Harness:Codex、Claude Code 或 MiniMax Code,模型服务由你配置。

  • [machine]

    自选机器

    托管沙箱(Docker、microsandbox、E2B),或你自己的 Linux、macOS、Windows 机器。

  • [swap]

    部件可替换

    沙箱、Harness 和模型服务都通过明确的协议接入,替换任何一个都不动 Core。

// 03每条边界都是协议

每个部件,都通过协议接入。

Core 保存持久执行状态并调度工作;Runtime 在 Environment 中准备文件和能力,启动原生 Harness;Harness 调用模型和工具,经 Runtime 把事件回传给 Core。

上层应用通过 Agents API 接入,Harness、模型服务和计算资源通过各自边界连接。
// 04可管理的执行

把一次执行,变成可以管理的 Session。

Session 表示一段持续的 Agent 工作,Turn 是其中一次输入的执行。它们都有标识和持久状态。四条约定,决定了“执行中”“等待处理”“已取消”“失败”分别意味着什么。

  • 连接 ≠ 任务

    关闭输出流只是观察者离开,已提交的工作仍由执行系统管理。

  • 重试有身份

    已支持的提交路径带稳定标识,响应丢失也不会重复创建工作。

  • 取消要有回执

    关闭输出流证明不了什么,Core 确认目标 Turn 的执行和清理状态。

  • 执行 ≠ 机器

    一轮任务结束、Executor 关闭、Environment 回收,是三个不同的生命周期。

!故障恢复有边界,而且是明确的:未知结果永远不会被当成成功。

// 05看见运行

运行情况,看得见。

Web 是管理员控制台:按 Project 查看 Session、节点容量、等待调用方处理的工作,以及错误、耗时、Token 和工具调用。

截图数值仅用于展示界面。用量可见性取决于原生 Harness 提供的数据。

web · overview
Web 控制台概览:服务状态、运行中的 Session、沙箱容量、节点与 Project。
// 06适用场景

不同接法,产品还要自己负责什么。

接法适合什么还要自己负责
直接调用模型 API单次推理,或希望完全控制 Agent 循环上下文、工具执行、循环推进,以及完整的任务生命周期
直接调用原生 CLI / SDK个人自动化,或围绕一种 Harness 构建集成会话映射、执行进程、资源管理和不同引擎的差异
使用沙箱服务需要隔离的计算环境接入 Agent 引擎,管理执行、交互、记录和产品接口
使用 OpenAgentCore自部署,通过统一 API 使用多个原生 Harness 和执行环境业务权限、产品体验、团队编排,以及自身部署的运维
// 07关键取舍

状态归基础设施,智能归 Harness。

设计背后的选择。

  1. 01

    保留原生 Harness,也接受它的约束

    Runtime 和原生 Harness 运行在执行环境中,持久控制面放在 Core。原生引擎得以直接复用,运行环境、原生历史和恢复能力也因此仍然重要。

  2. 02

    共享协议,保留真实差异

    某个 Harness 支持的能力,不会被默认赋予其他 Harness。Core 在执行前检查组合,不支持的明确拒绝,待验证的如实记录。

  3. 03

    把简单留给调用者

    调用者只需要理解任务、输入、状态和结果。机器连接、原生执行器、资源清理,由清楚的组件边界承接。接口本身就是产品。

// 08开始使用

从安装到第一个 Session。

在装有 Docker 和 Python 3.9+ 的 Linux amd64 主机上:

  1. [1]

    登录 Web

    用安装器生成的 Core key 登录,配置域名和 HTTPS。

  2. [2]

    设置默认模型

    再为你的应用创建 Project API key。

  3. [3]

    添加执行资源

    节点、E2B,或你自己的机器。

  4. [4]

    运行第一个 Session

    用官方 OpenAI SDK,连接你自己的 Core。

~/openagentcore — zsh
// 09下一步

1.0 只是地基。

OpenAgentCore 仍处于 pre-release 阶段,支持范围以具体的 Harness、环境和操作组合为单位验收。接下来的方向:

  1. harness

    Agent loop 与工具解耦

    Loop 运行在服务端,工具在用户本地或云端沙箱执行,工具层实现企业级鉴权。

  2. compute

    更快、更密的计算

    存算分离、快速恢复状态,按需扩容沙箱容量。

  3. storage

    更多存储介质

    S3、OSS、共享文件系统,以及面向 Agent 的文件系统。

  4. apps

    基于 Agents API 的应用

    继续在公开 API 上打磨真实产品,和任何应用的接入方式完全一样。

// 10文档

一切细节,都在文档里。

共 21 页,直接读取仓库的 docs.json 生成。新增文档会自动出现在这里。文档正文为英文。

01/Get started

02/Operate

03/API guides

04/Architecture and extensions

产品可以有不同的交互、模型和执行引擎,共用同一层执行基础设施。

Released under the MIT License.