OpenAI Agents SDK(JavaScript/TypeScript)
轻量但强大的 JavaScript/TypeScript 多智能体工作流与语音智能体框架。
- Star 数
- ★ 3.9k
- 最近更新
- 3 天前
- License
- MIT
- 主语言
- TypeScript
- FA 评分
- 55/100 · 缺口较多
30 秒速览
- 运行形态
- 可在哪里用
- 平台专用OpenAI API
- 费用
- 软件免费,模型调用费用自付
- 上手难度
- 低 · 几分钟可跑通
- 开始前需要
- 典型场景
- 开发者构建需要多步骤、多智能体协作的复杂工作流,例如代码审查、数据分析或自动化报告生成。
- 不适合
- 仍在使用 Node.js 22 以下旧环境的项目
- 需要稳定生产级沙箱能力的团队(沙箱代理仍为 beta)
- 源码审查
- 55/100 · 缺口较多
这个 Agent 能做什么,适合哪些场景?
该 SDK 是 OpenAI 官方推出的 JavaScript/TypeScript 框架,用于构建多智能体工作流,支持文本、沙箱和实时语音三种智能体模式。其核心概念包括智能体(Agents)、沙箱智能体、实时智能体、智能体作为工具、交接(Handoffs)、工具、护栏、人在环路、会话和追踪。SDK 是提供商无关的,但主要依赖 OpenAI API,运行时要求 Node.js 22+、Deno 或 Bun,实验性支持 Cloudflare Workers(需开启 nodejs_compat)。它提供内置的追踪能力,帮助开发者调试和优化工作流。MIT 许可证,且附带丰富的示例目录。安装简单,通过 npm 安装 @openai/agents 和 zod 即可开始。
该 SDK 提供了编程接口来创建和运行智能体。文本智能体通过 Agent 类和 run() 函数执行任务,处理指令和工具调用。沙箱智能体在文件系统工作区中运行,可执行命令、管理文件状态,支持本地和 Docker 等客户端。实时智能体通过 WebRTC 在浏览器中实现低延迟语音交互。它还支持工具定义(包括 MCP)、护栏、交接和会话管理,并内置追踪系统记录智能体运行过程。典型流程:开发者定义智能体(指令、工具、护栏),然后调用 run() 或连接实时会话,SDK 负责调度、追踪和输出最终结果。
- 开发者构建需要多步骤、多智能体协作的复杂工作流,例如代码审查、数据分析或自动化报告生成。
- 团队需要在隔离的沙箱环境中运行代码或命令,智能体可以安全地操作文件系统并执行命令。
- 产品需要语音交互功能,例如语音助手、客服机器人或实时语音翻译,可利用 RealtimeAgent 实现。
- 开发者希望将智能体作为其他智能体的工具,实现模块化任务委派,例如一个智能体负责数据提取,另一个负责总结。
- 需要保证输出质量,通过护栏进行输入输出验证,或通过人在环路机制进行人工审批。
如何安装或部署这个 Agent?
需要 Node.js 22 或更高版本。使用 npm 安装:npm install @openai/agents zod。如果使用沙箱智能体,可能需要额外安装 Docker 或配置本地客户端。对于实时智能体,需要浏览器支持 WebRTC,并在服务器端设置 OPENAI_API_KEY 以获取临时令牌。
如何使用这个 Agent?
- 安装依赖:npm install @openai/agents zod。2. 设置环境变量 OPENAI_API_KEY。3. 创建文本智能体:导入 Agent 和 run,定义智能体,然后运行。4. 对于沙箱智能体,导入 SandboxAgent 和客户端,配置工作区。5. 对于实时智能体,导入 RealtimeAgent 和 RealtimeSession,连接 WebRTC。示例代码见 README 和 examples 目录。
这个 Agent 有哪些优点和局限?
- 官方 OpenAI 出品,保证与 OpenAI API 的兼容性和未来更新。
- 提供三种智能体模式(文本、沙箱、实时),覆盖不同场景需求。
- 内置追踪系统,便于调试和优化工作流。
- 支持交接、护栏、工具等高级功能,简化多智能体编排。
- MIT 许可证,开放源代码,社区可贡献。
- 依赖 OpenAI API,核心功能(如沙箱和实时)可能不适用于其他提供商。
- 沙箱智能体目前处于测试阶段,功能可能不稳定。
- 对运行时要求较高(Node.js 22+),可能限制旧环境部署。
- 实验性支持 Cloudflare Workers,需要额外配置,可能存在问题。
- 实时智能体需要处理 WebRTC 和临时令牌,增加前端实现的复杂性。
这个 Agent 与同类方案有什么区别?
与相关度最高的同类 agent 并排比较关键指标。
| Agent | 源码审查 | 形态 / 费用 | Star | 最近更新 | 主语言 | 完整支持的平台 |
|---|---|---|---|---|---|---|
| OpenAI Agents SDK(JavaScript/TypeScript) 当前 | 55 · 缺口较多 | 代码库 / SDK免费 + 模型费 | ★ 3.9k | 3 天前 | TypeScript | OpenAI API |
| AgentOS | 52 · 缺口较多 | 代码库 / SDK免费 + 模型费 | ★ 680 | 今天 | TypeScript | Claude Code · OpenAI API · Claude API |
| OpenCode Swarm | 74 · 存在缺口 | Agent 插件 / 技能免费 + 模型费 | ★ 506 | 今天 | TypeScript | — |
| Octomind | 70 · 存在缺口 | 命令行工具免费版 + 付费版 | ★ 167 | 今天 | Rust | OpenAI API · Claude API |
FollowAgents 如何评估这个 Agent?
查看各维度的扣分理由
证据显示仓库提供了安全策略(SECURITY.md)和协调披露政策,但未详细说明权限最小化、用户确认、数据流透明等具体机制。依赖安全方面,package.json 中列出了依赖但未提供安全审计或漏洞扫描证据。外部影响方面,示例展示了工具调用(如 shell、文件操作),但未明确权限控制。回滚方面,未提及。来源归属方面,仓库属于 OpenAI 官方组织,但未提供具体作者或维护者信息。因此,多数标准得分较低,仅来源归属因官方组织而得分较高。
仓库包含大量测试(如 ReactNativeWebRTCTransport.test.ts),表明内部一致性较好。依赖可用性方面,package.json 列出了依赖,但未提供锁定文件或镜像信息。失败消息方面,测试中显示了错误处理,但未系统化。因此,自洽性和失败消息得分为2,依赖可用性得分为2。
README 描述了多种使用场景(文本、沙盒、实时),并提供了示例,表明受众广泛。能力边界方面,文档提到了沙盒代理和实时代理,但未明确限制。触发精度方面,示例展示了精确的指令和工具调用。环境适配方面,支持 Node.js、Deno、Bun 等,但实验性支持 Cloudflare Workers。因此,各标准得分为2。
信息架构清晰,README 提供了核心概念和快速开始。安装说明明确。命名稳定性方面,包名和 API 名称一致。示例和 FAQ 丰富。已知限制方面,沙盒代理标记为 beta,但未详细说明。许可证为 MIT,版本控制使用 changesets,但未提供 changelog 文件。维护责任方面,有 CI 和发布脚本。因此,多数标准得分为2,已知限制和版本控制得分为1。
输出可用性方面,示例展示了清晰的输出(如 finalOutput)。边际价值方面,提供了多代理工作流和实时代理等高级功能。成本效益方面,作为开源框架,免费使用,但需要 API 密钥。因此,各标准得分为2。
声明可追溯性方面,README 中的功能描述与代码和示例一致。跨来源佐证方面,仅依赖仓库内部证据,未提供外部验证。事实与推断分离方面,文档区分了功能描述和示例。因此,声明可追溯性和事实推断分离得分为2,跨来源佐证得分为1。
- 静态审查无法验证实际运行行为,所有结论基于源代码和文档。
- 沙盒代理和实时代理可能涉及敏感操作,需仔细审查权限和数据处理。
- 依赖安全未提供审计证据,建议检查依赖漏洞。
最近版本
来自该项目 GitHub Releases 的最新发布记录,说明为上游原文摘录,未经本站改写或测试。
-
发布说明摘录
Minor Changes - edfa410: fix: Use current Vercel authentication configuration for restored sessions and disable legacy authentication fallback when current authentication is configured; retain per-create authentication choices for live sessions. Keep restoration credentials runtime-only and honor per-run resume overrides. Patch Changes - 2f3591b: fix: preserve sticky permission bits through manifest normalization and local and remote materialization, and reapply manifest sticky intent to restored Unix-local and Docker snapshot directories - Updated dependencies [40f7de2] …在 GitHub 查看 ↗ -
发布说明摘录
Patch Changes - Updated dependencies [40f7de2] - Updated dependencies [836cb50] - Updated dependencies [05241c7] - Updated dependencies [4137680] - Updated dependencies [8ee5055] - Updated dependencies [df20529] - Updated dependencies [b89905c] - Updated dependencies [d8fa6c3] - Updated dependencies [9e32e88] - Updated dependencies [2f3591b] - Updated dependencies [8567e09] - @openai/[email protected] - @openai/[email protected] - @openai/[email protected]在 GitHub 查看 ↗ -
发布说明摘录
Patch Changes - df20529: fix: Preserve audio interruption after generation with transport-appropriate buffer clearing and response-specific playback duration. - Updated dependencies [40f7de2] - Updated dependencies [836cb50] - Updated dependencies [05241c7] - Updated dependencies [4137680] - Updated dependencies [8ee5055] - Updated dependencies [b89905c] - Updated dependencies [d8fa6c3] - Updated dependencies [9e32e88] - Updated dependencies [2f3591b] - Updated dependencies [8567e09] - @openai/[email protected]在 GitHub 查看 ↗