BEEOS CLOUD / DEVELOPER REFERENCE
Responses
在已配置的 harness 上运行任务,并读取、流式获取、取消或删除(UHP)。
概览
responses domain 在已配置的 harness 上运行任务并读回结果(UHP)。stream: false 时,服务端在任务到达终态后返回一个 Response 对象;stream: true 时返回 text/event-stream 事件流。
6 个操作 · SDK 资源:TypeScript cloud.responses · Python cloud.responses · Go cloud.Responses · API 总览
路径以 /uhp/v1 开头的操作由 https://api.cloud.beeos.ai/uhp/v1 提供,而不是 https://api.cloud.beeos.ai/v1;SDK 会自动切换。
主要对象
UHPCreateResponseRequest:要运行的任务(输入、模型、元数据与选项)。UHPResponse:任务及其输出项和用量;状态为UHPResponseStatus。UHPEvent:流式响应中的一个事件。
UHPCreateResponseRequest
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
input | string | array<map<string, JSONValue>> | 是 | 单个字符串是一条用户消息的简写。 |
model | string | 否 | 本回合使用的模型 ID。省略表示使用 harness 默认值。所请求的任何 ID 都按原样派发。 |
metadata | object | 否 | 客户端元数据,Responses 接口的扩展点。harness_id 选择已配置的 harness;environment 指明该任务读取的 environment,覆盖 harness 自己的(能力 environments),在任务开始之前以 environment_not_found 或 environment_not_ready 拒绝。 |
metadata.harness_id | string | 否 | 运行该任务的 harness 的 ID。范围内恰好有一个 harness 时可选;有多个时必填。 |
metadata.environment | string | 否 | 供任务读取的环境名称。此服务器不提供环境:非空值会被拒绝,返回 404 environment_not_found。 |
stream | boolean | 否 | 为 true 时,响应以 server-sent events 流式返回,见 UHPEvent;否则调用返回完成后的响应。默认 false。 默认值: false. |
previous_response_id | string | 否 | 要继续的较早响应的 ID。新响应在同一会话中运行。较早的响应必须存在,且属于同一个 harness。 可为 null。 |
instructions | string | 否 | 放在输入文本之前的指令,与输入文本之间以一行 --- 分隔。 |
store | boolean | 否 | 是否保留响应以便之后获取。默认 true。 默认值: true. |
max_output_tokens | integer | 否 | 保留字段,会被忽略。它会出现在响应的 metadata.ignored_fields 中。 可为 null。 |
max_step | integer | 否 | Agent 步数(工具调用轮次)预算. 可为 null。 |
timeout_seconds | integer | 否 | 墙钟时间预算. 可为 null。 |
tools | array<map<string, JSONValue>> | 否 | 保留且被忽略。为了线路兼容而接受,从不执行,并在响应的 metadata.ignored_fields 中报告。UHP harness 自己调用并执行工具,并在 output 中报告它们;工具结果没有输入路径,因此该字段所暗示的由客户端执行的工具循环无法由符合规范的服务器完成。请改为在 harness 上配置工具——见 Harnesses §4.1。Tasks §1.4。 |
include | array<string> | 否 | 保留且被忽略。为了线路兼容而接受,从不执行,并在响应的 metadata.ignored_fields 中报告。没有枚举任何值,因此服务器所识别的任何字符串都是它自己命名的。Tasks §1.4。 |
background | boolean | 否 | 对非流式请求设为 true 时,调用立即返回,响应仍为 in_progress,之后再获取结果。stream 为 true 时忽略。 默认值: false. |
完整字段和使用该对象的方法见附录。
UHPResponse
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
id | string | 是 | 响应的 ID,以 resp_ 开头。 约束: pattern=^resp_. |
object | string | 是 | 对象类型。 可选值: "response" — 响应对象. |
created_at | integer | 是 | Unix 秒 |
status | UHPResponseStatus | 是 | 响应的状态。取值见 UHPResponseStatus。 取值见下表 UHPResponseStatus 取值。 |
error | UHPError | 否 | 仅当 status 为 failed 时非空。 可为 null。 |
incomplete_details | map<string, JSONValue> | 否 | 响应不完整的原因。status 为 incomplete 时包含 reason,达到时间限制时为 timeout。协议还为输出长度限制定义了 max_tokens,但本服务目前不会产生它。其他情况为 null。 可为 null。 |
previous_response_id | string | 否 | 本响应所继续的响应的 ID,仅当请求设置了 previous_response_id 时才有。 可为 null。 |
model | string | 是 | 实际运行的模型。 |
output | array<UHPOutputItem> | 是 | 目前已产生的输出项,按顺序排列。 |
store | boolean | 否 | 响应是否被保留以便之后获取。 |
usage | UHPUsage | 否 | 服务器无法核算用量时为 null。编造的零会比如实的缺失更糟,因为客户端无法把它与免费任务区分开。 可为 null。 |
metadata | object | 否 | 关于本次运行的附加信息。 |
metadata.session_id | string | 否 | 响应所在会话的 ID。通过 previous_response_id 串联的响应共用同一会话。 |
metadata.environment | string | 否 | 任务所读取的 environment(如果读取了的话)(能力 environments)。 |
metadata.requested_model | string | 否 | 客户端发送的 ID(如果客户端发送了的话)。 |
metadata.model_fallback | boolean | 否 | 仅当 harness 报告无法切换到所请求的模型时为 true。 |
metadata.model_fallback_reason | string | 否 | harness 为何运行了其默认模型而不是所请求的模型。harness 没有给出原因时,为 The harness ran its default model. |
metadata.ignored_fields | array<string> | 否 | 服务器没有执行的请求字段,按名称列出,顺序任意。当请求携带了被保留并忽略的 tools 或 include 时必填。被悄悄忽略的字段与被遵从的字段无法区分。Tasks §1.1 和 §1.4。 |
UHPResponseStatus 取值
| 取值 | 含义 |
|---|---|
"in_progress" | 响应仍在运行。 |
"completed" | 响应成功完成。 |
"failed" | 任务无法完成。 |
"incomplete" | 输出上限或时间上限等限制中止了任务。通常值得继续。 |
"cancelled" | 客户端要求停止。被取消的响应不会被报告为 failed。 |
完整字段和使用该对象的方法见附录。
UHPEvent
一个流式事件。sequence_number 从 0 开始,每个事件恰好加 1,这样客户端可以发现丢失的事件,而不是悄悄地渲染出一个空缺。
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
type | string | 是 | 事件的类型。客户端应忽略不认识的事件类型。response.completed、response.incomplete 和 response.failed 中恰好有一个会结束事件流。 取值见下表 UHPEvent.type 取值。 按 type 区分的结构:见变体表。 |
sequence_number | integer | 是 | 事件在流中的位置,从 0 开始,每个事件加 1。出现间断说明丢失了事件。 约束: minimum=0. |
response | UHPResponse | 否 | 响应的快照。出现在生命周期事件上。 |
item | UHPOutputItem | 否 | 输出项。出现在 response.output_item.added 和 response.output_item.done 事件上。 |
part | UHPContentPart | 否 | 内容部分或摘要部分。出现在内容部分和推理摘要部分事件上。 |
annotation | UHPAnnotation | 否 | 注释。出现在 response.output_text.annotation.added 事件上。 |
delta | string | 否 | 自上一个 delta 以来新增的文本或函数参数。 |
text | string | 否 | 完整文本。出现在 response.output_text.done 事件上。 |
arguments | string | 否 | 完整的函数参数,JSON 字符串。出现在 response.function_call_arguments.done 事件上。 |
item_id | string | 否 | 事件所属输出项的 ID。 |
output_index | integer | 否 | 输出项在响应 output 中的位置。 约束: minimum=0. |
content_index | integer | 否 | 内容部分在输出项中的索引。 约束: minimum=0. |
summary_index | integer | 否 | 摘要部分在输出项中的索引。 约束: minimum=0. |
annotation_index | integer | 否 | 注释在内容部分中的索引。 约束: minimum=0. |
code | string | 否 | 机器可读的错误码。出现在 error 事件上。 |
message | string | 否 | 可读的错误信息。出现在 error 事件上。 |
param | string | 否 | 错误所涉及字段的点分路径,或为 null。出现在 error 事件上。 可为 null。 |
UHPEvent.type 取值
| 取值 | 含义 |
|---|---|
"response.created" | 响应已创建。response 为状态为 in_progress 的初始快照。 |
"response.in_progress" | 响应正在运行。response 为快照。 |
"response.output_item.added" | 新的输出项开始。item 为其初始形态,output_index 为它在 output 中的位置。 |
"response.output_item.done" | 输出项已完成。item 为其最终形态。 |
"response.content_part.added" | 向 message 项添加了一个内容部分。part 为其初始形态。 |
"response.content_part.done" | message 项的一个内容部分已完成。part 为其最终形态。 |
"response.output_text.delta" | message 项的文本追加了内容。delta 为新增文本。 |
"response.output_text.done" | message 项的文本已完整。text 为完整文本。 |
"response.output_text.annotation.added" | 向 message 项的文本添加了注释,例如文件引用。 |
"response.reasoning_summary_part.added" | 向 reasoning 项添加了一个摘要部分。 |
"response.reasoning_summary_text.delta" | reasoning 项的摘要追加了内容。delta 为新增文本。 |
"response.reasoning_summary_part.done" | reasoning 项的一个摘要部分已完成。part 为其最终形态。 |
"response.function_call_arguments.delta" | function_call 项的参数有新内容写入。delta 为参数文本。 |
"response.function_call_arguments.done" | function_call 项的参数已完整。arguments 以 JSON 字符串给出。 |
"response.completed" | 响应成功完成。这是终止事件:每个流恰好以一个终止事件结束。 |
"response.incomplete" | 响应因达到限制而停止,例如输出上限或时间上限。这是终止事件。 |
"response.failed" | 响应失败或被取消;response.status 为 failed 或 cancelled。这是终止事件。 |
"error" | 未终止响应的错误。code、message 和 param 描述该错误,之后仍会有终止事件。 |
"beeos.approval.requested" | BeeOS 扩展。智能体请求批准某个操作。approval 属性为审批请求文档。 |
"beeos.approval.resolved" | BeeOS 扩展。审批请求已被处理。approval 属性为处理结果文档。 |
"beeos.question.requested" | BeeOS 扩展。智能体向用户提问。question 属性包含提问请求文档。 |
"beeos.question.resolved" | BeeOS 扩展。一个提问请求已被处理。question 属性包含处理结果文档。 |
完整字段和使用该对象的方法见附录。
UHPOutputItem
客户端必须容忍它不认识的 item 类型。只渲染 message 项并忽略其余项的客户端是合法的客户端。
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
id | string | 否 | 输出项的 ID。 |
type | string | 是 | 输出项的类型。客户端应忽略不认识的项类型。 可选值: "message" — 智能体写的消息。文本在 content 中; "reasoning" — 智能体的推理。摘要在 summary 中; "function_call" — 智能体发起的工具调用,包含 name 和 arguments; "function_call_output" — 工具调用的结果,在 output 中. (枚举表) 按 type 区分的结构:见变体表。 |
status | string | 否 | 该项的进度。 可选值: "in_progress" — 该项仍在生成中; "completed" — 该项已完成. (枚举表) |
role | string | 否 | message 项的作者。 可选值: "assistant" — 智能体. |
content | array<UHPContentPart> | 否 | message 项的内容部分。 |
summary | array<map<string, JSONValue>> | 否 | reasoning 项的摘要。 |
call_id | string | 否 | 函数调用的 ID。function_call_output 项通过相同的 call_id 引用它所对应的调用。 |
name | string | 否 | 智能体所调用函数的名称。 |
arguments | string | 否 | JSON,以字符串表示 |
output | string | 否 | 函数调用的结果,文本形式。 |
完整字段和使用该对象的方法见附录。
UHPContentPart
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
type | string | 是 | 该部分的类型。 可选值: "output_text" — message 项的文本,可带注释; "summary_text" — reasoning 项的摘要文本. (枚举表) 按 type 区分的结构:见变体表。 |
text | string | 否 | 该部分的文本。 |
annotations | array<UHPAnnotation> | 否 | 指向 text 中某些范围的注释。 |
完整字段和使用该对象的方法见附录。
UHPAnnotation
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
type | string | 是 | 注释的类型。 可选值: "container_file_citation" — 文本引用了智能体生成的文件. |
container_id | string | 否 | 保存该文件的容器的 ID。BeeOS 目前不设置。 |
file_id | string | 否 | 文件的 ID。BeeOS 目前不设置。 |
filename | string | 否 | 文件名。 |
download_url | string | 否 | 可下载该文件的绝对 URL。 约束: format=uri. |
start_index | integer | 否 | 文本中被引用范围的起始位置,按字符计数。BeeOS 将其设为 0。 |
end_index | integer | 否 | 文本中被引用范围的结束位置,按字符计数。BeeOS 将其设为文本长度。 |
完整字段和使用该对象的方法见附录。
典型流程
- 用
responses.create运行任务;重试必须携带同一个Idempotency-Key。 - 用
responses.get读回任务,或用responses.getEvents跟随或恢复其事件。 - 用
responses.cancel停止运行中的任务;取消已结束的任务会成功且不产生任何变化。 - 用
responses.getInputItems读取最初的输入。 - 用
responses.delete删除已存储的 response;删除不会取消运行中的任务。
方法
| 方法 | HTTP | 摘要 |
|---|---|---|
| responses.create | POST /uhp/v1/responses | 运行一个任务 |
| responses.get | GET /uhp/v1/responses/{response_id} | 读回一个任务 |
| responses.delete | DELETE /uhp/v1/responses/{response_id} | 删除已存储的 response |
| responses.cancel | POST /uhp/v1/responses/{response_id}/cancel | 取消一个运行中的任务 |
| responses.getEvents | GET /uhp/v1/responses/{response_id}/events | 流式获取或续传一个 response 的事件 |
| responses.getInputItems | GET /uhp/v1/responses/{response_id}/input_items | 创建该任务时使用的输入 |
responses.create
POST /uhp/v1/responses · Operation ID createResponse
运行一个任务
协议的核心。stream: false 时,任务到达终态后服务器返回一个 Response 对象。stream: true 时返回 text/event-stream,承载“流式传输”一章中定义的事件。 重试必须携带 Idempotency-Key:没有它时,超时后的重试会把任务再运行一次,而第一次可能仍在运行。
SDK 方法
| 语言 | 方法 | 签名 |
|---|---|---|
| TypeScript | cloud.responses.create | create(input: Models.UHPCreateResponseJSONRequest, idempotencyKey?: string, UHPVersion?: string): Promise<Models.CreateResponseResponse> |
| TypeScript | cloud.responses.createStream | createStream(input: Models.UHPCreateResponseStreamRequest, idempotencyKey?: string): Promise<AsyncIterable<Models.UHPEvent>> |
| Python | cloud.responses.create | def create(self, input: UHPCreateResponseJSONRequest, options: CreateResponseOptions | None = None) -> UHPResponse |
| Python | cloud.responses.create_stream | def create_stream(self, input: UHPCreateResponseRequest, options: CreateResponseOptions | None = None) -> Iterator[UHPEvent] |
| Go | cloud.Responses.Create | func (r *ResponsesResource) Create(ctx context.Context, input UHPCreateResponseJSONRequest, options CreateResponseOptions) (UHPResponse, error) |
| Go | cloud.Responses.CreateStream | func (r *ResponsesResource) CreateStream(ctx context.Context, input UHPCreateResponseJSONRequest, options CreateResponseOptions) (*UHPEventStream, error) |
cloud.responses.createStream: 以 stream: true 创建 Response,并把 server-sent events 作为异步可迭代对象返回。方法会展开 input 并强制 stream: true,再以 responseType: "sse" 调用 POST /responses。
cloud.responses.create_stream: 以 stream: True 创建 Response,并逐个产出解码后的 server-sent events(JSON 值)。它复制 input、强制 stream 为 True 后 POST 到 /responses;options 原样作为请求头发送。
cloud.Responses.CreateStream: 以强制 stream=true 创建 Response,并返回 *UHPEventStream。用 Next() 读取事件直到返回 io.EOF,结束时调用 Close()。options 作为请求头发送。
参数
| 参数 | 位置 | 类型 | 必填 | 说明 |
|---|---|---|---|---|
Idempotency-Key | header | string | 否 | 重复使用同一个 key 会返回第一次请求的结果,不会重新执行。 约束: maxLength=255. |
UHP-Version | header | string | 否 | 要使用的协议版本:2026-10-04(默认)、2026-09-28、2026-09-12 或 2026-08-11。实际提供的版本会在响应的同名 header 中回显。不支持的版本会被 unsupported_protocol_version 拒绝。 |
请求体
application/json · 必填 · Schema: UHPCreateResponseRequest
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
input | string | array<map<string, JSONValue>> | 是 | 单个字符串是一条用户消息的简写。 |
model | string | 否 | 本回合使用的模型 ID。省略表示使用 harness 默认值。所请求的任何 ID 都按原样派发。 |
metadata | object | 否 | 客户端元数据,Responses 接口的扩展点。harness_id 选择已配置的 harness;environment 指明该任务读取的 environment,覆盖 harness 自己的(能力 environments),在任务开始之前以 environment_not_found 或 environment_not_ready 拒绝。 |
metadata.harness_id | string | 否 | 运行该任务的 harness 的 ID。范围内恰好有一个 harness 时可选;有多个时必填。 |
metadata.environment | string | 否 | 供任务读取的环境名称。此服务器不提供环境:非空值会被拒绝,返回 404 environment_not_found。 |
stream | boolean | 否 | 为 true 时,响应以 server-sent events 流式返回,见 UHPEvent;否则调用返回完成后的响应。默认 false。 默认值: false. |
previous_response_id | string | 否 | 要继续的较早响应的 ID。新响应在同一会话中运行。较早的响应必须存在,且属于同一个 harness。 可为 null。 |
instructions | string | 否 | 放在输入文本之前的指令,与输入文本之间以一行 --- 分隔。 |
store | boolean | 否 | 是否保留响应以便之后获取。默认 true。 默认值: true. |
max_output_tokens | integer | 否 | 保留字段,会被忽略。它会出现在响应的 metadata.ignored_fields 中。 可为 null。 |
max_step | integer | 否 | Agent 步数(工具调用轮次)预算. 可为 null。 |
timeout_seconds | integer | 否 | 墙钟时间预算. 可为 null。 |
tools | array<map<string, JSONValue>> | 否 | 保留且被忽略。为了线路兼容而接受,从不执行,并在响应的 metadata.ignored_fields 中报告。UHP harness 自己调用并执行工具,并在 output 中报告它们;工具结果没有输入路径,因此该字段所暗示的由客户端执行的工具循环无法由符合规范的服务器完成。请改为在 harness 上配置工具——见 Harnesses §4.1。Tasks §1.4。 |
include | array<string> | 否 | 保留且被忽略。为了线路兼容而接受,从不执行,并在响应的 metadata.ignored_fields 中报告。没有枚举任何值,因此服务器所识别的任何字符串都是它自己命名的。Tasks §1.4。 |
background | boolean | 否 | 对非流式请求设为 true 时,调用立即返回,响应仍为 in_progress,之后再获取结果。stream 为 true 时忽略。 默认值: false. |
响应
200 已完成的 Response(非流式),或事件流(流式)。 · application/json · Schema: UHPResponse
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
id | string | 是 | 响应的 ID,以 resp_ 开头。 约束: pattern=^resp_. |
object | string | 是 | 对象类型。 可选值: "response" — 响应对象. |
created_at | integer | 是 | Unix 秒 |
status | UHPResponseStatus | 是 | 响应的状态。取值见 UHPResponseStatus。 取值见UHPResponseStatus 取值。 |
error | UHPError | 否 | 仅当 status 为 failed 时非空。 可为 null。 |
incomplete_details | map<string, JSONValue> | 否 | 响应不完整的原因。status 为 incomplete 时包含 reason,达到时间限制时为 timeout。协议还为输出长度限制定义了 max_tokens,但本服务目前不会产生它。其他情况为 null。 可为 null。 |
previous_response_id | string | 否 | 本响应所继续的响应的 ID,仅当请求设置了 previous_response_id 时才有。 可为 null。 |
model | string | 是 | 实际运行的模型。 |
output | array<UHPOutputItem> | 是 | 目前已产生的输出项,按顺序排列。 |
store | boolean | 否 | 响应是否被保留以便之后获取。 |
usage | UHPUsage | 否 | 服务器无法核算用量时为 null。编造的零会比如实的缺失更糟,因为客户端无法把它与免费任务区分开。 可为 null。 |
metadata | object | 否 | 关于本次运行的附加信息。 |
metadata.session_id | string | 否 | 响应所在会话的 ID。通过 previous_response_id 串联的响应共用同一会话。 |
metadata.environment | string | 否 | 任务所读取的 environment(如果读取了的话)(能力 environments)。 |
metadata.requested_model | string | 否 | 客户端发送的 ID(如果客户端发送了的话)。 |
metadata.model_fallback | boolean | 否 | 仅当 harness 报告无法切换到所请求的模型时为 true。 |
metadata.model_fallback_reason | string | 否 | harness 为何运行了其默认模型而不是所请求的模型。harness 没有给出原因时,为 The harness ran its default model. |
metadata.ignored_fields | array<string> | 否 | 服务器没有执行的请求字段,按名称列出,顺序任意。当请求携带了被保留并忽略的 tools 或 include 时必填。被悄悄忽略的字段与被遵从的字段无法区分。Tasks §1.1 和 §1.4。 |
stream=true 返回 text/event-stream;stream=false 返回 UHPResponse
错误
| 状态码 | Schema | 说明 |
|---|---|---|
| 400 | UHPErrorEnvelope | UHP 协议错误信封 |
| 401 | UHPErrorEnvelope | 凭证缺失、格式错误或未知 |
| 404 | UHPErrorEnvelope | 调用方范围内没有这个对象。对于超出调用方范围的对象,服务器返回 404 而不是 403,以免泄露某个 ID 是否存在。 |
| 409 | UHPErrorEnvelope | session_busy 或 harness_mismatch |
| 422 | UHPErrorEnvelope | model_unavailable 或 unsupported_base |
| 429 | UHPErrorEnvelope | rate_limited 或 quota_exhausted |
| 503 | UHPErrorEnvelope | UHP 协议错误信封 |
| 其他(default) | UHPErrorEnvelope | UHP 协议错误信封 |
错误 schema 见错误。
示例
import { BeeOSClient } from "@beeos-ai/cloud-sdk";
const cloud = new BeeOSClient({
baseURL: "https://api.cloud.beeos.ai/v1",
apiKey: "YOUR_API_KEY", // bsk_ key: backend only
});
const result = await cloud.responses.create({ input: "example_input" });
console.log(result);responses.get
GET /uhp/v1/responses/{response_id} · Operation ID getResponse
读回一个任务
SDK 方法
| 语言 | 方法 | 签名 |
|---|---|---|
| TypeScript | cloud.responses.get | get(response_id: string): Promise<Models.GetResponseResponse> |
| Python | cloud.responses.get | def get(self, response_id: str) -> UHPResponse |
| Go | cloud.Responses.Get | func (r *ResponsesResource) Get(ctx context.Context, responseid string) (UHPResponse, error) |
参数
| 参数 | 位置 | 类型 | 必填 | 说明 |
|---|---|---|---|---|
response_id | path | string | 是 | 响应的 ID,以 resp_ 开头。 |
响应
200 该 Response · application/json · Schema: UHPResponse
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
id | string | 是 | 响应的 ID,以 resp_ 开头。 约束: pattern=^resp_. |
object | string | 是 | 对象类型。 可选值: "response" — 响应对象. |
created_at | integer | 是 | Unix 秒 |
status | UHPResponseStatus | 是 | 响应的状态。取值见 UHPResponseStatus。 取值见UHPResponseStatus 取值。 |
error | UHPError | 否 | 仅当 status 为 failed 时非空。 可为 null。 |
incomplete_details | map<string, JSONValue> | 否 | 响应不完整的原因。status 为 incomplete 时包含 reason,达到时间限制时为 timeout。协议还为输出长度限制定义了 max_tokens,但本服务目前不会产生它。其他情况为 null。 可为 null。 |
previous_response_id | string | 否 | 本响应所继续的响应的 ID,仅当请求设置了 previous_response_id 时才有。 可为 null。 |
model | string | 是 | 实际运行的模型。 |
output | array<UHPOutputItem> | 是 | 目前已产生的输出项,按顺序排列。 |
store | boolean | 否 | 响应是否被保留以便之后获取。 |
usage | UHPUsage | 否 | 服务器无法核算用量时为 null。编造的零会比如实的缺失更糟,因为客户端无法把它与免费任务区分开。 可为 null。 |
metadata | object | 否 | 关于本次运行的附加信息。 |
metadata.session_id | string | 否 | 响应所在会话的 ID。通过 previous_response_id 串联的响应共用同一会话。 |
metadata.environment | string | 否 | 任务所读取的 environment(如果读取了的话)(能力 environments)。 |
metadata.requested_model | string | 否 | 客户端发送的 ID(如果客户端发送了的话)。 |
metadata.model_fallback | boolean | 否 | 仅当 harness 报告无法切换到所请求的模型时为 true。 |
metadata.model_fallback_reason | string | 否 | harness 为何运行了其默认模型而不是所请求的模型。harness 没有给出原因时,为 The harness ran its default model. |
metadata.ignored_fields | array<string> | 否 | 服务器没有执行的请求字段,按名称列出,顺序任意。当请求携带了被保留并忽略的 tools 或 include 时必填。被悄悄忽略的字段与被遵从的字段无法区分。Tasks §1.1 和 §1.4。 |
错误
| 状态码 | Schema | 说明 |
|---|---|---|
| 404 | UHPErrorEnvelope | 调用方范围内没有这个对象。对于超出调用方范围的对象,服务器返回 404 而不是 403,以免泄露某个 ID 是否存在。 |
| 其他(default) | UHPErrorEnvelope | UHP 协议错误信封 |
错误 schema 见错误。
示例
import { BeeOSClient } from "@beeos-ai/cloud-sdk";
const cloud = new BeeOSClient({
baseURL: "https://api.cloud.beeos.ai/v1",
apiKey: "YOUR_API_KEY", // bsk_ key: backend only
});
const result = await cloud.responses.get("response_123");
console.log(result);responses.delete
DELETE /uhp/v1/responses/{response_id} · Operation ID deleteResponse
删除已存储的 response
不得取消正在运行的任务——删除和取消是两种不同的意图。
SDK 方法
| 语言 | 方法 | 签名 |
|---|---|---|
| TypeScript | cloud.responses.delete | delete(response_id: string): Promise<Models.DeleteResponseResponse> |
| Python | cloud.responses.delete | def delete(self, response_id: str) -> DeleteResponseResponse |
| Go | cloud.Responses.Delete | func (r *ResponsesResource) Delete(ctx context.Context, responseid string) (DeleteResponseResponse, error) |
参数
| 参数 | 位置 | 类型 | 必填 | 说明 |
|---|---|---|---|---|
response_id | path | string | 是 | 响应的 ID,以 resp_ 开头。 |
响应
200 已删除 · application/json
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
id | string | 否 | 被删除响应的 ID。 |
deleted | boolean | 否 | 始终为 true。无法删除的响应会返回错误。 |
错误
| 状态码 | Schema | 说明 |
|---|---|---|
| 404 | UHPErrorEnvelope | 调用方范围内没有这个对象。对于超出调用方范围的对象,服务器返回 404 而不是 403,以免泄露某个 ID 是否存在。 |
| 其他(default) | UHPErrorEnvelope | UHP 协议错误信封 |
错误 schema 见错误。
示例
import { BeeOSClient } from "@beeos-ai/cloud-sdk";
const cloud = new BeeOSClient({
baseURL: "https://api.cloud.beeos.ai/v1",
apiKey: "YOUR_API_KEY", // bsk_ key: backend only
});
const result = await cloud.responses.delete("response_123");
console.log(result);responses.cancel
POST /uhp/v1/responses/{response_id}/cancel · Operation ID cancelResponse
取消一个运行中的任务
幂等。取消一个已处于终态的任务会成功且不产生任何变化——客户端在连接中断后重试取消,不应因为此前已经成功而受到惩罚。
SDK 方法
| 语言 | 方法 | 签名 |
|---|---|---|
| TypeScript | cloud.responses.cancel | cancel(response_id: string): Promise<Models.CancelResponseResponse> |
| Python | cloud.responses.cancel | def cancel(self, response_id: str) -> UHPResponse |
| Go | cloud.Responses.Cancel | func (r *ResponsesResource) Cancel(ctx context.Context, responseid string) (UHPResponse, error) |
参数
| 参数 | 位置 | 类型 | 必填 | 说明 |
|---|---|---|---|---|
response_id | path | string | 是 | 响应的 ID,以 resp_ 开头。 |
响应
200 该 Response,现在处于取消中或已终止 · application/json · Schema: UHPResponse
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
id | string | 是 | 响应的 ID,以 resp_ 开头。 约束: pattern=^resp_. |
object | string | 是 | 对象类型。 可选值: "response" — 响应对象. |
created_at | integer | 是 | Unix 秒 |
status | UHPResponseStatus | 是 | 响应的状态。取值见 UHPResponseStatus。 取值见UHPResponseStatus 取值。 |
error | UHPError | 否 | 仅当 status 为 failed 时非空。 可为 null。 |
incomplete_details | map<string, JSONValue> | 否 | 响应不完整的原因。status 为 incomplete 时包含 reason,达到时间限制时为 timeout。协议还为输出长度限制定义了 max_tokens,但本服务目前不会产生它。其他情况为 null。 可为 null。 |
previous_response_id | string | 否 | 本响应所继续的响应的 ID,仅当请求设置了 previous_response_id 时才有。 可为 null。 |
model | string | 是 | 实际运行的模型。 |
output | array<UHPOutputItem> | 是 | 目前已产生的输出项,按顺序排列。 |
store | boolean | 否 | 响应是否被保留以便之后获取。 |
usage | UHPUsage | 否 | 服务器无法核算用量时为 null。编造的零会比如实的缺失更糟,因为客户端无法把它与免费任务区分开。 可为 null。 |
metadata | object | 否 | 关于本次运行的附加信息。 |
metadata.session_id | string | 否 | 响应所在会话的 ID。通过 previous_response_id 串联的响应共用同一会话。 |
metadata.environment | string | 否 | 任务所读取的 environment(如果读取了的话)(能力 environments)。 |
metadata.requested_model | string | 否 | 客户端发送的 ID(如果客户端发送了的话)。 |
metadata.model_fallback | boolean | 否 | 仅当 harness 报告无法切换到所请求的模型时为 true。 |
metadata.model_fallback_reason | string | 否 | harness 为何运行了其默认模型而不是所请求的模型。harness 没有给出原因时,为 The harness ran its default model. |
metadata.ignored_fields | array<string> | 否 | 服务器没有执行的请求字段,按名称列出,顺序任意。当请求携带了被保留并忽略的 tools 或 include 时必填。被悄悄忽略的字段与被遵从的字段无法区分。Tasks §1.1 和 §1.4。 |
错误
| 状态码 | Schema | 说明 |
|---|---|---|
| 404 | UHPErrorEnvelope | 调用方范围内没有这个对象。对于超出调用方范围的对象,服务器返回 404 而不是 403,以免泄露某个 ID 是否存在。 |
| 其他(default) | UHPErrorEnvelope | UHP 协议错误信封 |
错误 schema 见错误。
示例
import { BeeOSClient } from "@beeos-ai/cloud-sdk";
const cloud = new BeeOSClient({
baseURL: "https://api.cloud.beeos.ai/v1",
apiKey: "YOUR_API_KEY", // bsk_ key: backend only
});
const result = await cloud.responses.cancel("response_123");
console.log(result);responses.getEvents
GET /uhp/v1/responses/{response_id}/events · Operation ID getResponseEvents
流式获取或续传一个 response 的事件
SDK 方法
| 语言 | 方法 | 签名 |
|---|---|---|
| TypeScript | cloud.responses.getEvents | getEvents(response_id: string, LastEventID?: string, UHPVersion?: string): Promise<Models.GetResponseEventsResponse> |
| Python | cloud.responses.get_events | def get_events(self, response_id: str, options: GetResponseEventsOptions | None = None) -> Iterator[UHPEvent] |
| Go | cloud.Responses.GetEvents | func (r *ResponsesResource) GetEvents(ctx context.Context, responseid string, options GetResponseEventsOptions) (*EventStream[UHPEvent], error) |
参数
| 参数 | 位置 | 类型 | 必填 | 说明 |
|---|---|---|---|---|
response_id | path | string | 是 | 响应的 ID,以 resp_ 开头。 |
Last-Event-ID | header | string | 否 | 客户端收到的最后一个事件的序号,事件流从其之后继续。必须是非负整数。 |
UHP-Version | header | string | 否 | 要使用的协议版本:2026-10-04(默认)、2026-09-28、2026-09-12 或 2026-08-11。实际提供的版本会在响应的同名 header 中回显。不支持的版本会被 unsupported_protocol_version 拒绝。 |
响应
200 服务器发送的协议事件 · text/event-stream · Schema: UHPEvent
返回 server-sent events 流。
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
type | string | 是 | 事件的类型。客户端应忽略不认识的事件类型。response.completed、response.incomplete 和 response.failed 中恰好有一个会结束事件流。 取值见UHPEvent.type 取值。 按 type 区分的结构:见变体表。 |
sequence_number | integer | 是 | 事件在流中的位置,从 0 开始,每个事件加 1。出现间断说明丢失了事件。 约束: minimum=0. |
response | UHPResponse | 否 | 响应的快照。出现在生命周期事件上。 |
item | UHPOutputItem | 否 | 输出项。出现在 response.output_item.added 和 response.output_item.done 事件上。 |
part | UHPContentPart | 否 | 内容部分或摘要部分。出现在内容部分和推理摘要部分事件上。 |
annotation | UHPAnnotation | 否 | 注释。出现在 response.output_text.annotation.added 事件上。 |
delta | string | 否 | 自上一个 delta 以来新增的文本或函数参数。 |
text | string | 否 | 完整文本。出现在 response.output_text.done 事件上。 |
arguments | string | 否 | 完整的函数参数,JSON 字符串。出现在 response.function_call_arguments.done 事件上。 |
item_id | string | 否 | 事件所属输出项的 ID。 |
output_index | integer | 否 | 输出项在响应 output 中的位置。 约束: minimum=0. |
content_index | integer | 否 | 内容部分在输出项中的索引。 约束: minimum=0. |
summary_index | integer | 否 | 摘要部分在输出项中的索引。 约束: minimum=0. |
annotation_index | integer | 否 | 注释在内容部分中的索引。 约束: minimum=0. |
code | string | 否 | 机器可读的错误码。出现在 error 事件上。 |
message | string | 否 | 可读的错误信息。出现在 error 事件上。 |
param | string | 否 | 错误所涉及字段的点分路径,或为 null。出现在 error 事件上。 可为 null。 |
错误
| 状态码 | Schema | 说明 |
|---|---|---|
| 其他(default) | UHPErrorEnvelope | UHP 协议错误信封 |
错误 schema 见错误。
示例
import { BeeOSClient } from "@beeos-ai/cloud-sdk";
const cloud = new BeeOSClient({
baseURL: "https://api.cloud.beeos.ai/v1",
apiKey: "YOUR_API_KEY", // bsk_ key: backend only
});
const stream = await cloud.responses.getEvents("response_123");
for await (const event of stream) {
console.log(event);
}responses.getInputItems
GET /uhp/v1/responses/{response_id}/input_items · Operation ID getResponseInputItems
创建该任务时使用的输入
SDK 方法
| 语言 | 方法 | 签名 |
|---|---|---|
| TypeScript | cloud.responses.getInputItems | getInputItems(response_id: string): Promise<Models.GetResponseInputItemsResponse> |
| Python | cloud.responses.get_input_items | def get_input_items(self, response_id: str) -> GetResponseInputItemsResponse |
| Go | cloud.Responses.GetInputItems | func (r *ResponsesResource) GetInputItems(ctx context.Context, responseid string) (GetResponseInputItemsResponse, error) |
参数
| 参数 | 位置 | 类型 | 必填 | 说明 |
|---|---|---|---|---|
response_id | path | string | 是 | 响应的 ID,以 resp_ 开头。 |
响应
200 输入项 · application/json
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
object | string | 否 | 列表的对象类型。 可选值: "list" — 条目列表. |
data | array<map<string, JSONValue>> | 否 | 响应的输入条目,与请求中发送的一致。字符串形式的 input 显示为一个 message 条目,role 为 user,内容部分为 input_text。 |
错误
| 状态码 | Schema | 说明 |
|---|---|---|
| 404 | UHPErrorEnvelope | 调用方范围内没有这个对象。对于超出调用方范围的对象,服务器返回 404 而不是 403,以免泄露某个 ID 是否存在。 |
| 其他(default) | UHPErrorEnvelope | UHP 协议错误信封 |
错误 schema 见错误。
示例
import { BeeOSClient } from "@beeos-ai/cloud-sdk";
const cloud = new BeeOSClient({
baseURL: "https://api.cloud.beeos.ai/v1",
apiKey: "YOUR_API_KEY", // bsk_ key: backend only
});
const result = await cloud.responses.getInputItems("response_123");
console.log(result);按判别字段区分的结构
UHPContentPart 按 type 区分
UHPContentPart 的结构取决于它自己的 type 值。
| type 的取值 | 说明 | 结构 |
|---|---|---|
"output_text" | message 项的文本,可带注释。 | UHPContentPartOutputText |
"summary_text" | reasoning 项的摘要文本。 | UHPContentPartSummaryText |
UHPEvent 按 type 区分
UHPEvent 的结构取决于它自己的 type 值。
| type 的取值 | 说明 | 结构 |
|---|---|---|
"response.created" | 响应已创建。response 为状态为 in_progress 的初始快照。 | UHPEventResponse |
"response.in_progress" | 响应正在运行。response 为快照。 | UHPEventResponse |
"response.completed" | 响应成功完成。这是终止事件:每个流恰好以一个终止事件结束。 | UHPEventResponse |
"response.incomplete" | 响应因达到限制而停止,例如输出上限或时间上限。这是终止事件。 | UHPEventResponse |
"response.failed" | 响应失败或被取消;response.status 为 failed 或 cancelled。这是终止事件。 | UHPEventResponse |
"response.output_item.added" | 新的输出项开始。item 为其初始形态,output_index 为它在 output 中的位置。 | UHPEventOutputItem |
"response.output_item.done" | 输出项已完成。item 为其最终形态。 | UHPEventOutputItem |
"response.content_part.added" | 向 message 项添加了一个内容部分。part 为其初始形态。 | UHPEventContentPart |
"response.content_part.done" | message 项的一个内容部分已完成。part 为其最终形态。 | UHPEventContentPart |
"response.reasoning_summary_part.added" | 向 reasoning 项添加了一个摘要部分。 | UHPEventReasoningSummaryPart |
"response.reasoning_summary_part.done" | reasoning 项的一个摘要部分已完成。part 为其最终形态。 | UHPEventReasoningSummaryPart |
"response.output_text.delta" | message 项的文本追加了内容。delta 为新增文本。 | UHPEventOutputTextDelta |
"response.reasoning_summary_text.delta" | reasoning 项的摘要追加了内容。delta 为新增文本。 | UHPEventReasoningSummaryTextDelta |
"response.output_text.done" | message 项的文本已完整。text 为完整文本。 | UHPEventOutputTextDone |
"response.output_text.annotation.added" | 向 message 项的文本添加了注释,例如文件引用。 | UHPEventAnnotationAdded |
"response.function_call_arguments.delta" | function_call 项的参数有新内容写入。delta 为参数文本。 | UHPEventFunctionCallArgumentsDelta |
"response.function_call_arguments.done" | function_call 项的参数已完整。arguments 以 JSON 字符串给出。 | UHPEventFunctionCallArgumentsDone |
"error" | 未终止响应的错误。code、message 和 param 描述该错误,之后仍会有终止事件。 | UHPEventError |
"beeos.approval.requested" | BeeOS 扩展。智能体请求批准某个操作。approval 属性为审批请求文档。 | UHPEventApproval |
"beeos.approval.resolved" | BeeOS 扩展。审批请求已被处理。approval 属性为处理结果文档。 | UHPEventApproval |
"beeos.question.requested" | BeeOS 扩展。智能体向用户提问。question 属性包含提问请求文档。 | UHPEventQuestion |
"beeos.question.resolved" | BeeOS 扩展。一个提问请求已被处理。question 属性包含处理结果文档。 | UHPEventQuestion |
UHPOutputItem 按 type 区分
UHPOutputItem 的结构取决于它自己的 type 值。
| type 的取值 | 说明 | 结构 |
|---|---|---|
"message" | 智能体写的消息。文本在 content 中。 | UHPOutputItemMessage |
"reasoning" | 智能体的推理。摘要在 summary 中。 | UHPOutputItemReasoning |
"function_call" | 智能体发起的工具调用,包含 name 和 arguments。 | UHPOutputItemFunctionCall |
"function_call_output" | 工具调用的结果,在 output 中。 | UHPOutputItemFunctionCallOutput |