文档Cloud SDK 参考

BEEOS CLOUD / DEVELOPER REFERENCE

目录

Provider、部署区域与模型、实例与智能体模板,以及协议 discovery 文档。

概览

catalog domain 列出创建资源时可供选择的内容:provider、部署区域与模型、实例模板和智能体模板。它还提供协议 discovery 文档,该文档无需鉴权。

8 个操作 · SDK 资源:TypeScript cloud.catalog · Python cloud.catalog · Go cloud.Catalog · API 总览

路径以 /uhp/v1 开头的操作由 https://api.cloud.beeos.ai/uhp/v1 提供,而不是 https://api.cloud.beeos.ai/v1;SDK 会自动切换。

主要对象

InstanceTemplate

字段类型必填说明
idstring是模板的 ID。
namestring是模板的显示名称。
descriptionstring否模板的描述。
logo_urlstring否—
sort_orderinteger否—
harnessstring否—
provider_idstring否—
specsarray<CatalogSpec>否—
variantsarray<CatalogVariant>否模板的可部署 variant。创建实例时,把 variant 的 id 作为 variant_id 发送。

完整字段和使用该对象的方法见附录。

CatalogVariant

字段类型必填说明
idstring是variant 的 ID。创建实例时作为 variant_id 发送。
spec_value_idsarray<string>是—
sort_orderinteger是—

完整字段和使用该对象的方法见附录。

Provider

字段类型必填说明
idstring是提供方的 ID。
namestring是提供方的显示名称。
descriptionstring否—
capabilitiesProviderCapabilities否—

完整字段和使用该对象的方法见附录。

DeployRegion

字段类型必填说明
idstring是区域的 ID。
namestring是区域的显示名称。
availableboolean是该区域当前是否可用。

完整字段和使用该对象的方法见附录。

DeployModel

字段类型必填说明
idstring是模型的 ID,通常为 provider/model 形式。
namestring是模型的显示名称。
tierstring否—
reasoningboolean否—
inputarray<string>否—
context_windowinteger否模型的最大上下文窗口,单位为 token。

完整字段和使用该对象的方法见附录。

agentTemplateCatalogView

字段类型必填说明
idstring是模板的 ID。用该模板创建 harness 时,把它作为 template_id 传入。
display_namestring是模板的显示名称;存在翻译时,使用 Accept-Language 的语言。
summarystring是一句话概括模板的用途,与 display_name 一样做了本地化。
descriptionstring是模板的完整描述,与 display_name 一样做了本地化。
categorystring是模板所列入的类别。可用作 list 操作的 category 过滤条件。
vibestring是描述该模板所创建的智能体个性的短语,与 display_name 一样做了本地化。
icon_urlstring是模板图标的 URL。模板没有时为空。
banner_urlstring是模板横幅图片的 URL。模板没有时为空。
default_modelstring是模板选为智能体主模型的模型的 ID。
tagsarray<string>是描述模板的标签。
harnessstring是模板所适用的 harness(智能体运行时),例如 openclaw。
template_versionstring是模板包的版本,语义化版本号,例如 1.2.0。

完整字段和使用该对象的方法见附录。

UHPDiscovery

字段类型必填说明
objectstring是对象类型:始终为 uhp.discovery。 可选值: "uhp.discovery" — 协议发现文档.
protocolstring是服务器所使用的协议:始终为 uhp,即 Unified Harness Protocol。 可选值: "uhp" — Unified Harness Protocol.
versionsarray<string>是服务器所使用的协议版本,作为 UHP-Version header 的值。 约束: minItems=1.
default_versionstring是请求不发送 UHP-Version header 时,服务器所使用的协议版本。
conformance_classstring是服务器的粗粒度一致性级别。请依据 capabilities 中精确的标志分支,而不是依据该级别。 可选值: "core" — 发现、harness 读取、任务和会话; "extended" — Core 加上文件输入和产物获取; "full" — Extended 加上 harness 管理、插件、环境和记忆. (枚举表)
capabilitiesUHPCapabilities是服务器能做什么。只有背后的端点都能响应时,标志才为 true。
plugin_schemasarray<string>否该服务器所安装的 Agent Plugins manifest schema 标识符。当 capabilities.plugins 为 true 时出现且非空。
implementationobject否服务器的信息。除 name 和 version 外,还可能带有 availability,说明模型可用性如何计算。
implementation.namestring否服务器实现的名称:BeeOS Cloud。
implementation.versionstring否服务器实现的版本。未知时省略。

完整字段和使用该对象的方法见附录。

CatalogSpec

字段类型必填说明
idstring是—
namestring是—
labelstring是—
valuesarray<CatalogSpecValue>是—

完整字段和使用该对象的方法见附录。

ProviderCapabilities

字段类型必填说明
long_runningboolean是—
browser_useboolean是—
code_execboolean是—
file_systemboolean是—
custom_imageboolean是—
deviceboolean是—
max_duration_secinteger是—
cost_modelstring是—

完整字段和使用该对象的方法见附录。

UHPCapabilities

具名布尔值。服务器对自己没有实现的能力报告 false,而不是省略它,这样客户端就能区分“不支持”和“服务器早于该字段”。客户端把缺失的键视为 false。

字段类型必填说明
streamingboolean否服务器可以把响应以 server-sent events 流式返回。
sessionsboolean否服务器保留会话,后续请求可以继续。
cancellationboolean否正在运行的响应可以被取消。
files_inputboolean否服务器接受文件作为请求的输入。
files_outputboolean否服务器返回 harness 产出的文件。
session_listingboolean否服务器可以列出现有会话。
harness_managementboolean否可以通过 API 创建、更新和删除 harness。
session_sharingboolean否服务器可以与其他调用方分享会话。
idempotencyboolean否服务器对接受 Idempotency-Key header 的写操作遵循该 header。
pluginsboolean否服务器把 Agent Plugins 包安装到 harness 中,提供其文件,并可把 harness 导出为一个包。在每个级别都是可选的。
environmentsboolean否服务器持有 environment:一个项目的文件和已安装的依赖,只构建一次,在每个指明它的会话中以固定路径只读挂载。在每个级别都是可选的。
memoriesboolean否服务器持有 memory:一棵 memory 树,按节点授予访问权限;记录由已连接的 provider 保存;以及 harness 的 agent 访问它们所用的工具。在每个级别都是可选的。

完整字段和使用该对象的方法见附录。

典型流程

  1. 用 catalog.listInstanceTemplates 列出模板,用 catalog.getInstanceTemplate 读取其中一个,选定 variant。
  2. 用 catalog.listProviders、catalog.listRegions、catalog.listModels 查看可选的部署位置与模型。
  3. 用 instances.create 创建实例。
  4. catalog.listAgentTemplates 与 catalog.getAgentTemplate 列出智能体模板;catalog.getDiscovery 告诉客户端服务端支持哪些协议版本。

方法

方法HTTP摘要
catalog.listAgentTemplatesGET /v1/agent-templates列出 agent 模板
catalog.getAgentTemplateGET /v1/agent-templates/{id}获取 agent 模板
catalog.listModelsGET /v1/deploy/models列出部署模型
catalog.listRegionsGET /v1/deploy/regions列出部署区域
catalog.listInstanceTemplatesGET /v1/instance-templates列出实例模板
catalog.getInstanceTemplateGET /v1/instance-templates/{templateId}获取实例模板
catalog.listProvidersGET /v1/providers列出 provider
catalog.getDiscoveryGET /uhp/v1/uhp协议发现文档

catalog.listAgentTemplates

GET /v1/agent-templates · Operation ID listAgentTemplates

列出 agent 模板

SDK 方法

语言方法签名
TypeScriptcloud.catalog.listAgentTemplateslistAgentTemplates(query?: Models.ListAgentTemplatesQuery): Promise<Models.ListAgentTemplatesResponse>
Pythoncloud.catalog.list_agent_templatesdef list_agent_templates(self, options: ListAgentTemplatesOptions | None = None) -> ListAgentTemplatesResponse
Gocloud.Catalog.ListAgentTemplatesfunc (r *CatalogResource) ListAgentTemplates(ctx context.Context, options ListAgentTemplatesOptions) (ListAgentTemplatesResponse, error)

参数

参数位置类型必填说明
categoryquerystring否只返回该类别的模板,最多 128 个字符。必须等于模板的 category。
searchquerystring否对模板的显示名称或摘要做不区分大小写的子串匹配,最多 256 个字符。
pagequeryinteger否从 1 开始的页码,取值 1 到 1000000。默认为 1。
page_sizequeryinteger否每页的模板数量,1 到 100。默认为 50。

响应

200 · application/json

字段类型必填说明
dataarray<agentTemplateCatalogView>是—
totalinteger是—

错误

状态码Schema说明
其他(default)ErrorResponseCloud Server 错误

错误 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.catalog.listAgentTemplates();
console.log(result);

catalog.getAgentTemplate

GET /v1/agent-templates/{id} · Operation ID getAgentTemplate

获取 agent 模板

SDK 方法

语言方法签名
TypeScriptcloud.catalog.getAgentTemplategetAgentTemplate(id: string): Promise<Models.GetAgentTemplateResponse>
Pythoncloud.catalog.get_agent_templatedef get_agent_template(self, id: str) -> agentTemplateCatalogView
Gocloud.Catalog.GetAgentTemplatefunc (r *CatalogResource) GetAgentTemplate(ctx context.Context, id string) (agentTemplateCatalogView, error)

参数

参数位置类型必填说明
idpathstring是智能体模板的 ID。

响应

200 · application/json · Schema: agentTemplateCatalogView

字段类型必填说明
idstring是模板的 ID。用该模板创建 harness 时,把它作为 template_id 传入。
display_namestring是模板的显示名称;存在翻译时,使用 Accept-Language 的语言。
summarystring是一句话概括模板的用途,与 display_name 一样做了本地化。
descriptionstring是模板的完整描述,与 display_name 一样做了本地化。
categorystring是模板所列入的类别。可用作 list 操作的 category 过滤条件。
vibestring是描述该模板所创建的智能体个性的短语,与 display_name 一样做了本地化。
icon_urlstring是模板图标的 URL。模板没有时为空。
banner_urlstring是模板横幅图片的 URL。模板没有时为空。
default_modelstring是模板选为智能体主模型的模型的 ID。
tagsarray<string>是描述模板的标签。
harnessstring是模板所适用的 harness(智能体运行时),例如 openclaw。
template_versionstring是模板包的版本,语义化版本号,例如 1.2.0。

错误

状态码Schema说明
其他(default)ErrorResponseCloud Server 错误

错误 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.catalog.getAgentTemplate("id_123");
console.log(result);

catalog.listModels

GET /v1/deploy/models · Operation ID listDeployModels

列出部署模型

SDK 方法

语言方法签名
TypeScriptcloud.catalog.listModelslistModels(query?: Models.ListDeployModelsQuery): Promise<Models.ListDeployModelsResponse>
Pythoncloud.catalog.list_modelsdef list_models(self, options: ListDeployModelsOptions | None = None) -> ModelPage
Gocloud.Catalog.ListModelsfunc (r *CatalogResource) ListModels(ctx context.Context, options ListDeployModelsOptions) (ModelPage, error)

参数

参数位置类型必填说明
harnessquerystring否不支持:发送它会返回 400 invalid_request。
searchquerystring否对模型名称做不区分大小写的子串匹配。

响应

200 部署模型 · application/json · Schema: ModelPage

字段类型必填说明
dataarray<DeployModel>是符合过滤条件的模型。
totalinteger是符合过滤条件的模型数量。

错误

状态码Schema说明
其他(default)ErrorResponseCloud Server 错误

错误 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.catalog.listModels();
console.log(result);

catalog.listRegions

GET /v1/deploy/regions · Operation ID listDeployRegions

列出部署区域

SDK 方法

语言方法签名
TypeScriptcloud.catalog.listRegionslistRegions(query?: Models.ListDeployRegionsQuery): Promise<Models.ListDeployRegionsResponse>
Pythoncloud.catalog.list_regionsdef list_regions(self, options: ListDeployRegionsOptions | None = None) -> RegionPage
Gocloud.Catalog.ListRegionsfunc (r *CatalogResource) ListRegions(ctx context.Context, options ListDeployRegionsOptions) (RegionPage, error)

参数

参数位置类型必填说明
provider_idquerystring否只返回该提供方的区域。
availablequeryboolean否true 只返回可用的区域,false 只返回不可用的区域。其他任何值返回 400 invalid_request。

响应

200 部署区域 · application/json · Schema: RegionPage

字段类型必填说明
dataarray<DeployRegion>是符合过滤条件的区域。
totalinteger是符合过滤条件的区域数量。

错误

状态码Schema说明
其他(default)ErrorResponseCloud Server 错误

错误 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.catalog.listRegions();
console.log(result);

catalog.listInstanceTemplates

GET /v1/instance-templates · Operation ID listInstanceTemplates

列出实例模板

SDK 方法

语言方法签名
TypeScriptcloud.catalog.listInstanceTemplateslistInstanceTemplates(query?: Models.ListInstanceTemplatesQuery): Promise<Models.ListInstanceTemplatesResponse>
Pythoncloud.catalog.list_instance_templatesdef list_instance_templates(self, options: ListInstanceTemplatesOptions | None = None) -> InstanceTemplatePage
Gocloud.Catalog.ListInstanceTemplatesfunc (r *CatalogResource) ListInstanceTemplates(ctx context.Context, options ListInstanceTemplatesOptions) (InstanceTemplatePage, error)

参数

参数位置类型必填说明
pagequeryinteger否从 1 开始的页码,取值 1 到 1000000。默认为 1。 约束: minimum=1, maximum=1000000.
page_sizequeryinteger否每页的模板数量,1 到 100。默认为 50。 约束: minimum=1, maximum=100.
harnessquerystring否不支持:发送它会返回 400 invalid_request。
provider_idquerystring否不支持:发送它会返回 400 invalid_request。
searchquerystring否不支持:发送它会返回 400 invalid_request。

响应

200 实例模板 · application/json · Schema: InstanceTemplatePage

字段类型必填说明
dataarray<InstanceTemplate>是所请求页上的模板。
totalinteger是符合过滤条件的模板总数,跨所有页。

错误

状态码Schema说明
其他(default)ErrorResponseCloud Server 错误

错误 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.catalog.listInstanceTemplates();
console.log(result);

catalog.getInstanceTemplate

GET /v1/instance-templates/{templateId} · Operation ID getInstanceTemplate

获取实例模板

SDK 方法

语言方法签名
TypeScriptcloud.catalog.getInstanceTemplategetInstanceTemplate(id: string): Promise<Models.GetInstanceTemplateResponse>
Pythoncloud.catalog.get_instance_templatedef get_instance_template(self, template_id: str) -> InstanceTemplate
Gocloud.Catalog.GetInstanceTemplatefunc (r *CatalogResource) GetInstanceTemplate(ctx context.Context, templateId string) (InstanceTemplate, error)

参数

参数位置类型必填说明
templateIdpathstring是实例模板的 ID。 约束: minLength=1, maxLength=256.

响应

200 实例模板 · application/json · Schema: InstanceTemplate

字段类型必填说明
idstring是模板的 ID。
namestring是模板的显示名称。
descriptionstring否模板的描述。
logo_urlstring否—
sort_orderinteger否—
harnessstring否—
provider_idstring否—
specsarray<CatalogSpec>否—
variantsarray<CatalogVariant>否模板的可部署 variant。创建实例时,把 variant 的 id 作为 variant_id 发送。

错误

状态码Schema说明
其他(default)ErrorResponseCloud Server 错误

错误 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.catalog.getInstanceTemplate("template_123");
console.log(result);

catalog.listProviders

GET /v1/providers · Operation ID listProviders

列出 provider

SDK 方法

语言方法签名
TypeScriptcloud.catalog.listProviderslistProviders(query?: Models.ListProvidersQuery): Promise<Models.ListProvidersResponse>
Pythoncloud.catalog.list_providersdef list_providers(self, options: ListProvidersOptions | None = None) -> ProviderPage
Gocloud.Catalog.ListProvidersfunc (r *CatalogResource) ListProviders(ctx context.Context, options ListProvidersOptions) (ProviderPage, error)

参数

参数位置类型必填说明
capabilityquerystring否只返回列出了该能力的提供方,例如 instance。

响应

200 Provider 目录 · application/json · Schema: ProviderPage

字段类型必填说明
dataarray<Provider>是符合过滤条件的提供方。
totalinteger是符合过滤条件的提供方数量。

错误

状态码Schema说明
其他(default)ErrorResponseCloud Server 错误

错误 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.catalog.listProviders();
console.log(result);

catalog.getDiscovery

GET /uhp/v1/uhp · Operation ID getDiscovery

协议发现文档

无需认证即可访问:客户端必须能在出示凭证之前了解自己所连接的是否是 UHP 服务器,以及它支持哪些版本。该文档不包含任何与主体相关的内容。

无需鉴权。

SDK 方法

语言方法签名
TypeScriptcloud.catalog.getDiscoverygetDiscovery(): Promise<Models.GetDiscoveryResponse>
Pythoncloud.catalog.get_discoverydef get_discovery(self) -> UHPDiscovery
Gocloud.Catalog.GetDiscoveryfunc (r *CatalogResource) GetDiscovery(ctx context.Context) (UHPDiscovery, error)

响应

200 发现文档 · application/json · Schema: UHPDiscovery

字段类型必填说明
objectstring是对象类型:始终为 uhp.discovery。 可选值: "uhp.discovery" — 协议发现文档.
protocolstring是服务器所使用的协议:始终为 uhp,即 Unified Harness Protocol。 可选值: "uhp" — Unified Harness Protocol.
versionsarray<string>是服务器所使用的协议版本,作为 UHP-Version header 的值。 约束: minItems=1.
default_versionstring是请求不发送 UHP-Version header 时,服务器所使用的协议版本。
conformance_classstring是服务器的粗粒度一致性级别。请依据 capabilities 中精确的标志分支,而不是依据该级别。 可选值: "core" — 发现、harness 读取、任务和会话; "extended" — Core 加上文件输入和产物获取; "full" — Extended 加上 harness 管理、插件、环境和记忆. (枚举表)
capabilitiesUHPCapabilities是服务器能做什么。只有背后的端点都能响应时,标志才为 true。
plugin_schemasarray<string>否该服务器所安装的 Agent Plugins manifest schema 标识符。当 capabilities.plugins 为 true 时出现且非空。
implementationobject否服务器的信息。除 name 和 version 外,还可能带有 availability,说明模型可用性如何计算。
implementation.namestring否服务器实现的名称:BeeOS Cloud。
implementation.versionstring否服务器实现的版本。未知时省略。

错误

状态码Schema说明
其他(default)UHPErrorEnvelopeUHP 协议错误信封

错误 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.catalog.getDiscovery();
console.log(result);