GPTMap

OpenAI SDK 出现托管 Agent 环境资源:prewarmed 预热创建、闲置挂起与过期事件

2026-10-09 至 10-11 三天,openai-python 连发 v3.27.0/v3.28.0/v3.29.0、openai-node 发 v7.32.0,同一条 agent environment API 线浮出水面:预热创建、挂起与过期。本文只写 SDK 源码与当日 GitHub release notes 里能指出的东西。

TL;DR
2026-10-09 至 10-11(版本日期来自 GitHub releases 当日抓取):openai-python v3.27.0 新增 prewarmed hosted environments——client.beta.agents.environments.create 文档原文「Creates an OpenAI-hosted environment before creating a session. Requires access to the prewarming beta」;v3.28.0 与 openai-node v7.32.0 同日加挂起与过期(闲置 checkpoint、过期事件与 webhook);v3.29.0 再加 billing_not_active 错误码与 Live 语音 shida。可用性与定价 SDK 层未见,不断言。
agent environment 是 2026-10-09 起出现在 openai-python 与 openai-node 稳定版中的 OpenAI 托管环境资源(beta/agents 命名空间):先创建一个 openai_hosted 类型的环境(可配网络、包、文件、技能),再挂在会话上;闲置会被 checkpoint 并停止(挂起),挂起超时则环境与 checkpoint 一起过期。

OpenAI 的两个官方 SDK 在三天里连发了四个版本,而它们讲的是同一个故事:一个可创建、可闲置挂起、可过期的托管 agent 环境资源,正在浮出水面。本文逐字引用 2026-10-12 当日抓取的 GitHub release notes 与 SDK tag 源码,类型层之外不断言。

1. 时间线:三天四个版本

版本发布时间关键 Feature 行
openai-python v3.27.02026-10-09api: add prewarmed hosted environments (#4043)
openai-python v3.28.02026-10-09api: add agent environment suspension and expiration (#4046)
openai-node v7.32.02026-10-09api: add agent environment suspension and expiration (#2904)
openai-python v3.29.02026-10-11billing_not_active 会话错误码、Live 语音 shida、vault 更新与元数据过滤、beta 分页对齐

版本号与时间来自 GitHub Releases API 当日抓取。上一篇文章《GPT-6 家族扩容:gpt-6-sol、gpt-6-luna、gpt-6.1-sol 进驻官方 SDK,dots 与 Intelligent UI 同窗亮相》核对时,python 最新版还是 v3.26.1、node 是 v7.31.0——这条环境 API 线是那之后三天内新增的。

2. 预热创建:environments.create

新资源挂在 client.beta.agents.environments 下。create 方法的文档原文:

Creates an OpenAI-hosted environment before creating a session. Requires access to the prewarming beta.

两个信息:其一,环境是先于会话创建的("before creating a session");其二,它走 prewarming beta 门控。vault_ids 参数的文档是 "The IDs of up to 10 vaults made available to an OpenAI-hosted environment"——至多 10 个 vault 可挂给环境。资源下另有 files 与 templates 两个子资源。

按 v3.29.0 tag 的 environment_create_params.py,environment 参数的形状是:

environment = {
    "type": "openai_hosted",           # 必填,当前唯一字面量
    "desktop": {"enabled": True},       # 可选
    "packages": {
        "npm": ["typescript@5"],
        "python": ["httpx"],
        "system": [],                   # 三组各自可选
    },
    "network": {
        "access": "restricted",         # enabled / disabled / restricted
        "allowed_domains": ["api.example.com"],
        "blocked_domains": [],
    },
    "env": {"FOO": "bar"},
    "setup_commands": [],               # SetupCommandParam 列表
    "files": [],                        # HostedEnvironmentFileParam 列表
    "skills": [],                       # HostedSkillParam 列表
    "plugins": [],                      # HostedPluginParam 列表
    "capability_directories": [],
    "environment_template_id": "tmpl_...",
}

env = client.beta.agents.environments.create(
    environment=environment,
    vault_ids=["vault_..."],            # 至多 10 个
)

这是类型层最小示例:各字段的类型与枚举逐字来自 environment_create_params.py,但本文未真机调用(beta 门控,以你的 API 响应为准)。网络配置有一条类型层注释值得照录:非空的 allowed_domains 列表要求 access: "restricted",且不能与某些配置组合(注释原文:"A nonempty list requires access: restricted and cannot be combined with…"——完整约束以源码为准)。

3. 闲置生命周期:挂起与过期

v3.28.0(python)与 v7.32.0(node)同日加入 suspension 与 expiration。会话事件侧两个新类型的文档原文:

agent.session.environment.suspended
"Emitted after an idle hosted session environment is checkpointed and stopped."

agent.session.environment.expired
"Emitted after a suspended hosted session environment and its checkpoint expire."

换句话说:环境闲置 → 打 checkpoint 并停止(挂起);挂起状态超时 → 环境与 checkpoint 一起过期。webhook 侧有对应事件,文档原文是 "Sent when an agent environment is suspended and can resume from a snapshot"——挂起的环境可从快照恢复。事件对象本身带 event_id、session_id、可选 turn_id 与环境当前状态字段。

4. v3.29.0 的其余新增

10-11 的 v3.29.0 在环境线之外又加了四项(release notes Feature 行):

  • billing_not_active 会话错误码——会话错误码家族新成员,名字指向计费未激活的场景;
  • shida 进入 named Live voices——Live 语音家族的命名声音新增一位;
  • vault updates and metadata filters——vault 侧的更新与元数据过滤;
  • beta 分页限额与参数非空对齐——各 beta 资源的分页参数语义拉齐。

openai-node v7.32.0 在环境 API 之外附了一个 runners 修复:totalUsage 保留详细 token 用量(#2900),对用 runner 统计用量的项目是个值得升级的修复。

5. 常见错误与排查

  • 调用 environments.create 报权限/不存在类错误:先确认版本(openai-python ≥ 3.27.0、openai-node ≥ 7.32.0),再确认 beta 权限——SDK 文档明言 "Requires access to the prewarming beta"。本文无法替你判断账号是否在 beta 内,以 API 响应为准。
  • 收到 agent.session.environment.suspended 不是故障:按事件文档,这是闲置环境的预期生命周期动作,webhook 文档写明可从快照恢复。
  • billing_not_active:v3.29.0 新增的会话错误码,字面指向计费未激活;排查方向是账户计费状态而非代码。具体触发条件在当日可加载渠道中没有更多说明,不展开。
  • 环境怎么挂到会话上:SDK 类型层可见会话事件带 environment 状态,但"创建后会话如何引用环境 ID"的完整参数面,在当日抓取的类型文件中没有完整呈现——本文不猜测,留待下批核对。

6. 下一步

  • 模型侧的同窗动态见《GPT-6 家族扩容:gpt-6-sol、gpt-6-luna、gpt-6.1-sol 进驻官方 SDK,dots 与 Intelligent UI 同窗亮相》;
  • Agents 与会话 API 的前情见《gpt-6-astra 现身 OpenAI SDK:ChatModel 枚举新模型 ID 与 Safety Alerts API 解读》;
  • 官方 release notes 与 tag 源码直链见文首引用清单——本文每条引号句都能在那六个链接里逐字找到。

关键要点

  • 三天四个版本(日期来自 GitHub releases API 2026-10-12 抓取):openai-python v3.27.0(10-09)、v3.28.0(10-09)、v3.29.0(10-11),openai-node v7.32.0(10-09)——前两条 release notes 只有一行 Feature,分别是 "add prewarmed hosted environments" 与 "add agent environment suspension and expiration"
  • 预热创建的官方文档串:client.beta.agents.environments.create —— "Creates an OpenAI-hosted environment before creating a session. Requires access to the prewarming beta.";vault_ids 参数文档:"The IDs of up to 10 vaults made available to an OpenAI-hosted environment.";资源下还有 files 与 templates 两个子资源
  • environment 参数(v3.29.0 tag 的 environment_create_params.py):type 为必填 Literal "openai_hosted";可配 desktop.enabled、env、files、setup_commands、skills、plugins、capability_directories、environment_template_id,以及 packages(npm/python/system 三组)与 network(access 枚举 enabled/disabled/restricted,restricted 下可配 allowed_domains/blocked_domains)
  • 挂起与过期(v3.28.0 起,python 与 node 同日):会话事件 agent.session.environment.suspended 文档原文 "Emitted after an idle hosted session environment is checkpointed and stopped",agent.session.environment.expired 原文 "Emitted after a suspended hosted session environment and its checkpoint expire";webhook 侧事件文档原文 "Sent when an agent environment is suspended and can resume from a snapshot"
  • v3.29.0(10-11)另加四项:billing_not_active 会话错误码、shida 进入 named Live voices、vault updates and metadata filters、beta 分页限额与参数非空对齐(均见 release notes Feature 行);openai-node v7.32.0 附 runners 修复:totalUsage 保留详细 token 用量(#2900)
  • 边界:是否可调用取决于 prewarming beta 权限(SDK 文档明言 Requires access to the prewarming beta);定价、区域可用性、与会话的完整生命周期在 SDK 类型层与 release notes 中均无说明——本文不做断言,以你自己的 API 响应为准

常见问题

类型层与资源层已进入两个官方 SDK 的稳定版(openai-python ≥ v3.27.0、openai-node ≥ v7.32.0),但 create 方法的文档原文写明 "Requires access to the prewarming beta"——创建走 beta 门控。是否对你的账号开放、如何申请,SDK 文档层没有写,以你自己的 API 响应为准。

官方参考

相关文章

订阅 GPTMap Weekly

每周一封邮件,精选 OpenAI 重要更新、深度解读与最佳实践。无广告,可随时退订。

提交后将在新标签页打开 Buttondown 完成订阅确认。

GPTMap Editorial发布于 2026-10-12 7 分钟阅读
测试环境(EEAT)
最后测试时间:2026-10-12
使用模型:SDK: openai-python ≥ 3.27.0 / openai-node ≥ 7.32.0(agent environments 为 beta 面)