---
docStatus: current
---

# Hosted Service Capability 列表

先发现当前环境的可用能力，再选择提供方查询方法及请求响应合同。

Hosted Service 能力来自当前环境登记的提供方。先查看能力列表，选择提供方，再查看该能力的方法；能力和方法名称都不写死在 CLI 中。

## 能力列表

下列页面是各提供方维护的合同快照，用于阅读和开发参考。实际可用能力及版本始终以当前环境的查询结果为准。

| 能力                         | 协议               | 方法目录                                                                                             | 合同快照                                                                     |
| -------------------------- | ---------------- | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------ |
| Browser Session Capability | HTTP             | [browser-session](/development/backend-development/hosted-service-capabilities/browser-session/) | [2.2.1](/contracts/hosted-capability/browser-session/2.2.1/openapi.json) |
| Database Capability        | MYSQL、POSTGRESQL | [database](/development/backend-development/hosted-service-capabilities/database/)               | [1.0.0](/contracts/hosted-capability/database/1.0.0/openapi.json)        |
| Workflow Worker Capability | HTTP             | [workflow](/development/backend-development/hosted-service-capabilities/workflow/)               | [3.0.0](/contracts/hosted-capability/workflow/3.0.0/openapi.json)        |
| bundle-runtime             | HTTP             | [bundle-runtime](/development/backend-development/hosted-service-capabilities/bundle-runtime/)   | [2.0.0](/contracts/hosted-capability/bundle-runtime/2.0.0/openapi.json)  |
| bundle-workflow            | HTTP             | [bundle-workflow](/development/backend-development/hosted-service-capabilities/bundle-workflow/) | [2.0.0](/contracts/hosted-capability/bundle-workflow/2.0.0/openapi.json) |
| bundle-timer               | HTTP             | [bundle-timer](/development/backend-development/hosted-service-capabilities/bundle-timer/)       | [2.0.0](/contracts/hosted-capability/bundle-timer/2.0.0/openapi.json)    |

## 1. 查看当前可用能力

```bash
baijimu hosted-service capability list --workspace-id <workspaceId> --project-id <projectId>
```

结果包含 `providerId`、`providerKey`、`capabilityType`、`name`、`scopeType`、`bindingSupported`。`--project-id` 可选；指定后只返回该项目可见的全局、工作区和项目提供方。只列出已启用的提供方。
同一能力类型可以有多个提供方，必须使用本次列表返回的 `providerId` 明确选择。列表不包含内部地址、提供方凭据或配置。

## 2. 查看所选能力的方法

```bash
baijimu hosted-service capability get --workspace-id <workspaceId> --project-id <projectId> --provider-id <providerId>
baijimu hosted-service capability methods list --workspace-id <workspaceId> --project-id <projectId> --provider-id <providerId>
```

`get` 返回能力的完整 OpenAPI 合同，包含说明和协议；`methods list` 返回 `operationId`、HTTP 方法、相对路径和用途，可用 `--keyword` 筛选。数据库驱动等非 HTTP 能力的方法列表可以为空，应按能力说明使用对应协议。

## 3. 查看方法定义

```bash
baijimu hosted-service capability methods get <operationId> --workspace-id <workspaceId> --project-id <projectId> --provider-id <providerId>
```

返回所选方法的 OpenAPI 定义及其引用的 `components`：请求参数、请求体、响应状态、响应 Schema、鉴权要求。支持绑定的能力，方法路径拼接在绑定解析所得 `baseUrl` 后；声明 `x-baijimu-base-url-source: platform-api` 的能力使用当前连接环境的平台 API 根地址。凭据必须来自该提供方的授权流程；目录可见不等于具备执行权限。
发现 API 使用 CModel，先检查 `errorCode`。实际业务调用是否使用 CModel，由对应方法合同决定。提供方不可用、合同不匹配或方法不存在时直接报告查询失败，不使用文档快照代替环境响应。

## 提供方如何扩展

通过 Hosted Service 的 config-provider 注册接口登记提供方及其可见范围。`resolverKind: capability-http` 在已登记 `endpointUrl` 上以 GET 返回 OpenAPI 3.1.0，以 POST 处理绑定解析；`resolverKind: capability-discovery-http` 仅通过 GET 提供方法合同，可指向提供方的不可变合同发布物，不能用于配置绑定。配置绑定列表仅返回支持绑定的提供方，能力发现列表包括两种类型。Hosted Service 按目录读取并校验合同，不保存另一份方法目录。
合同必须声明 `info.title`、严格 SemVer `info.version`、`info.description`、与登记项相符的 `x-baijimu-capability-type`、`x-baijimu-protocols`、`paths` 和 `components`。每个操作声明唯一 `operationId`、`summary`、`description`、`parameters`、`responses`、`security`，需要请求体时声明 `requestBody`。路径参数放在各操作的 `parameters` 中。
文档和单个方法响应不得包含真实服务地址、Token、密码或租户数据。提供方请求不跟随重定向，合同最多 2 MiB；身份匹配和合同校验失败会使查询失败。扩展提供方不要求修改 Hosted Service 或 CLI 的能力名单。

Bundle Runtime、Bundle Workflow、Bundle Timer 也通过上述目录发现；Hosted 通过 [Bundle Capability 受管绑定](/development/bundle-development/hosted-service-capability/) 自动获得配置和凭据。方法发现与受管绑定分别执行；调用合同见[Bundle Capability 方法参考](/development/bundle-development/bundle-capability-methods/)。
