Download OpenAPI specification:
算子(operator)是把一段能力注册成可复用、可版本化、可发布的产物。
function.yaml 里的 /function/execute 是「跑一段临时代码」;
这里是「把它固化下来,带上元数据、执行控制与生命周期」。
两种元数据类型,注册时用 operator_metadata_type 指定,决定哪些字段必填:
| 类型 | 算子是什么 | 必填 |
|---|---|---|
function |
一段 Python 代码 | function_input(含 code、入参 / 出参定义) |
openapi |
一个已有的 HTTP 接口 | data(OpenAPI JSON/YAML 原文) |
生命周期:unpublish(新建未发布)→ published(已发布)→ offline(下架),
已发布后再改会进 editing。每次编辑产生新 version,历史版本可查、可回看。
发布后的算子才会出现在算子市场(/operator/market)。
业务域:注册、列表、删除、市场相关接口要求 x-business-domain 头,
算子按业务域隔离。
时间戳一律是纳秒:本服务所有 *_time 字段用 time.Now().UnixNano() 生成,
形如 1784880971306127803。按毫秒解析会得到 1970 年附近的日期。
认证:Authorization: Bearer <token>(OAuth access token 或 bak_ 前缀的
AppKey)。
创建一个新算子。operator_metadata_type 决定必填字段——function 走
function_input,openapi 走 data。
direct_publish=true 表示注册完直接进入 published,跳过手工发布一步。
| x-business-domain required | string 业务域 ID。算子按业务域隔离,缺失返回 400。 |
| operator_metadata_type required | string (MetadataType) Enum: "openapi" "function" 元数据类型。 |
| description | string 算子描述。 |
object (OperatorInfo) | |
object (OperatorExecuteControl) 执行控制:超时与重试。 | |
object (FunctionInput) 函数类算子的定义。** | |
| data | string OpenAPI 原文(JSON 或 YAML 字符串)。
|
object 扩展信息,原样存取。 | |
| direct_publish | boolean 注册后直接发布,跳过手工发布一步。 |
{- "operator_metadata_type": "function",
- "description": "求和",
- "operator_info": {
- "operator_type": "basic",
- "execution_mode": "sync",
- "category": "data_process"
}, - "function_input": {
- "name": "sum_numbers",
- "description": "把两个数相加",
- "script_type": "python",
- "code": "from typing import Dict, Any\n\ndef handler(event: Dict[str, Any]) -> Any:\n return {\"sum\": event.get(\"a\", 0) + event.get(\"b\", 0)}\n",
- "inputs": [
- {
- "name": "a",
- "type": "number",
- "required": true
}, - {
- "name": "b",
- "type": "number",
- "required": true
}
], - "outputs": [
- {
- "name": "sum",
- "type": "number"
}
]
}, - "direct_publish": true
}{- "status": "success",
- "operator_id": "string",
- "version": "string",
- "error": null
}改已有算子。方法是 POST 不是 PUT,算子由请求体里的 operator_id 指定。
编辑已发布的算子会把状态推进到 editing,并产生新的 version;
原来那个已发布版本仍在历史里可查。
| operator_id required | string <uuid> 算子 ID。 |
| name | string 算子名称。 |
| description | string 算子描述。 |
object (OperatorInfoEdit) 编辑时的算子信息,比 | |
object (OperatorExecuteControl) 执行控制:超时与重试。 | |
| metadata_type | string (MetadataType) Enum: "openapi" "function" 元数据类型。 |
object (FunctionInputEdit) 编辑时的函数定义,比 | |
| data | string OpenAPI 原文,编辑 openapi 类算子时用。 |
object 扩展信息。 |
{- "operator_id": "fa9de6bb-1df8-4ba6-9e6d-1172fbf7e166",
- "name": "string",
- "description": "string",
- "operator_info": {
- "operator_type": "basic",
- "execution_mode": "sync",
- "category": "string",
- "source": "string",
- "is_data_source": true
}, - "operator_execute_control": {
- "timeout": 3000,
- "retry_policy": {
- "max_attempts": 3,
- "initial_delay": 1000,
- "backoff_factor": 2,
- "max_delay": 6000,
- "retry_conditions": {
- "status_code": [
- 0
], - "error_codes": [
- "string"
]
}
}
}, - "metadata_type": "openapi",
- "function_input": {
- "script_type": "python",
- "code": "string",
- "inputs": [
- {
- "name": "string",
- "description": "string",
- "required": true,
- "type": "string",
- "default": null,
- "enum": [
- null
], - "example": null,
- "sub_parameters": [
- { }
]
}
], - "outputs": [
- {
- "name": "string",
- "description": "string",
- "required": true,
- "type": "string",
- "default": null,
- "enum": [
- null
], - "example": null,
- "sub_parameters": [
- { }
]
}
], - "dependencies": [
- {
- "name": "string",
- "version": "string",
- "install_location": "string",
- "install_time": "string",
- "is_from_template": true
}
], - "dependencies_url": "string"
}, - "data": "string",
- "extend_info": { }
}{- "operator_id": "string",
- "version": "string",
- "status": "unpublish"
}用一份新的元数据整体覆盖算子,请求体是注册请求再加一个 operator_id。
与 /operator/info 的差别:那边是按字段改,这边是整包替换。
| operator_metadata_type required | string (MetadataType) Enum: "openapi" "function" 元数据类型。 |
| description | string 算子描述。 |
object (OperatorInfo) | |
object (OperatorExecuteControl) 执行控制:超时与重试。 | |
object (FunctionInput) 函数类算子的定义。** | |
| data | string OpenAPI 原文(JSON 或 YAML 字符串)。
|
object 扩展信息,原样存取。 | |
| direct_publish | boolean 注册后直接发布,跳过手工发布一步。 |
| operator_id required | string <uuid> 要更新的算子 ID。 |
{- "operator_metadata_type": "openapi",
- "description": "string",
- "operator_info": {
- "operator_type": "basic",
- "execution_mode": "sync",
- "category": "other_category",
- "category_name": "string",
- "source": "unknown",
- "is_data_source": false
}, - "operator_execute_control": {
- "timeout": 3000,
- "retry_policy": {
- "max_attempts": 3,
- "initial_delay": 1000,
- "backoff_factor": 2,
- "max_delay": 6000,
- "retry_conditions": {
- "status_code": [
- 0
], - "error_codes": [
- "string"
]
}
}
}, - "function_input": {
- "name": "string",
- "description": "string",
- "script_type": "python",
- "code": "string",
- "inputs": [
- {
- "name": "string",
- "description": "string",
- "required": true,
- "type": "string",
- "default": null,
- "enum": [
- null
], - "example": null,
- "sub_parameters": [
- { }
]
}
], - "outputs": [
- {
- "name": "string",
- "description": "string",
- "required": true,
- "type": "string",
- "default": null,
- "enum": [
- null
], - "example": null,
- "sub_parameters": [
- { }
]
}
], - "dependencies": [
- {
- "name": "string",
- "version": "string",
- "install_location": "string",
- "install_time": "string",
- "is_from_template": true
}
], - "dependencies_url": "string"
}, - "data": "string",
- "extend_info": { },
- "direct_publish": true,
- "operator_id": "fa9de6bb-1df8-4ba6-9e6d-1172fbf7e166"
}{- "status": "success",
- "operator_id": "string",
- "version": "string",
- "error": null
}按业务域分页列出算子,支持按名称、状态、分类、创建人、算子类型过滤。
page_size 传负数等价于「不分页、全量返回」(服务端会把它翻译成
all=true);正常范围是 1–100。
| page | integer >= 1 Default: 1 页码,从 1 开始。 |
| page_size | integer <= 100 Default: 10 每页数量,上限 100。传负数等价于不分页全量返回。 |
| sort_by | string Default: "update_time" Enum: "update_time" "create_time" "name" 排序字段。 |
| sort_order | string Default: "desc" Enum: "asc" "desc" 排序方向。 |
| name | string 按名称过滤。 |
| status | string (BizStatus) Enum: "unpublish" "published" "offline" "editing" 按状态过滤。 |
| create_user | string 按创建人过滤。 |
| category | string 按分类过滤,取值见 |
| operator_type | string (OperatorType) Enum: "basic" "composite" 按算子类型过滤。 |
| is_data_source | boolean 只看 / 排除数据源算子。 |
| all | boolean 忽略分页返回全部。 |
| x-business-domain required | string 业务域 ID。算子按业务域隔离,缺失返回 400。 |
{- "total": 0,
- "page": 1,
- "page_size": 10,
- "total_pages": 0,
- "has_next": false,
- "has_prev": false,
- "data": [ ]
}按 ID 取算子的当前版本详情,含元数据与执行控制。
| operator_id required | string 算子 ID。 |
{- "business_domain_id": "string",
- "operator_id": "string",
- "name": "string",
- "version": "string",
- "status": "unpublish",
- "metadata_type": "openapi",
- "metadata": {
- "version": "string",
- "summary": "string",
- "description": "string",
- "server_url": "string",
- "path": "string",
- "method": "string",
- "api_spec": { },
- "function_content": { },
- "create_time": 0,
- "update_time": 0,
- "create_user": "string",
- "update_user": "string"
}, - "operator_info": {
- "operator_type": "basic",
- "execution_mode": "sync",
- "category": "other_category",
- "category_name": "string",
- "source": "unknown",
- "is_data_source": false
}, - "operator_execute_control": {
- "timeout": 3000,
- "retry_policy": {
- "max_attempts": 3,
- "initial_delay": 1000,
- "backoff_factor": 2,
- "max_delay": 6000,
- "retry_conditions": {
- "status_code": [
- 0
], - "error_codes": [
- "string"
]
}
}
}, - "extend_info": { },
- "is_internal": true,
- "tag": 0,
- "create_user": "string",
- "create_time": 0,
- "update_user": "string",
- "update_time": 0,
- "release_user": "string",
- "release_time": 0
}给一批算子 ID,换回它们的名称。前端的对象级授权页用它回显名字。
不存在的 ID 会被静默略过,不报错也不占位——调用方要自己比对哪些没回来。
ids 传空数组时返回空 entries。
工具箱、Skill 有同名同形的接口(/tool-box/names、/skills/names),
契约完全一致。
| ids | Array of strings 待取名的 ID 列表。空列表返回空 |
{- "ids": [
- "string"
]
}{- "entries": [
- {
- "id": "string",
- "name": "string"
}
]
}发布 / 下架 / 撤回。请求体是数组,一次可以改多个算子。
把状态改成 published 即发布,算子随即出现在算子市场;改成 offline
即从市场下架。
| operator_id required | string <uuid> |
| status required | string (BizStatus) Enum: "unpublish" "published" "offline" "editing" 生命周期状态: |
[- {
- "operator_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
- "status": "published"
}, - {
- "operator_id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
- "status": "offline"
}
]{- "code": "Public.BadRequest",
- "description": "string",
- "solution": "string",
- "link": "string",
- "details": null
}DELETE 带请求体,且请求体是数组——不是常见的路径参数删除, 很多 HTTP 客户端默认不给 DELETE 发 body,注意。
| x-business-domain required | string 业务域 ID。算子按业务域隔离,缺失返回 400。 |
| operator_id required | string <uuid> 算子 ID。 |
[- {
- "operator_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
}
]{- "code": "Public.BadRequest",
- "description": "string",
- "solution": "string",
- "link": "string",
- "details": null
}用指定版本跑一次算子,看真实请求与响应。调的是某个具体 version,
不是「当前版本」——version 必填。
请求参数按 HTTP 的四个位置分开传:header / query / path / body。
函数类算子只用 body。
| operator_id required | string <uuid> |
| version required | string <uuid> 要调试的版本 ID。必填,调的是具体版本而非「当前版本」。 |
| timeout | integer 超时(秒)。 |
object 请求头参数。 | |
object 查询参数。 | |
object 路径参数。 | |
| body | any 请求体。函数类算子只用这个。 |
{- "operator_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
- "version": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
- "timeout": 30,
- "body": {
- "a": 1,
- "b": 2
}
}{- "status_code": 0,
- "headers": { },
- "body": null,
- "error": "string"
}列出该算子已发布过的版本。
| operator_id required | string 算子 ID。 |
[- {
- "business_domain_id": "string",
- "operator_id": "string",
- "name": "string",
- "version": "string",
- "status": "unpublish",
- "metadata_type": "openapi",
- "metadata": {
- "version": "string",
- "summary": "string",
- "description": "string",
- "server_url": "string",
- "path": "string",
- "method": "string",
- "api_spec": { },
- "function_content": { },
- "create_time": 0,
- "update_time": 0,
- "create_user": "string",
- "update_user": "string"
}, - "operator_info": {
- "operator_type": "basic",
- "execution_mode": "sync",
- "category": "other_category",
- "category_name": "string",
- "source": "unknown",
- "is_data_source": false
}, - "operator_execute_control": {
- "timeout": 3000,
- "retry_policy": {
- "max_attempts": 3,
- "initial_delay": 1000,
- "backoff_factor": 2,
- "max_delay": 6000,
- "retry_conditions": {
- "status_code": [
- 0
], - "error_codes": [
- "string"
]
}
}
}, - "extend_info": { },
- "is_internal": true,
- "tag": 0,
- "create_user": "string",
- "create_time": 0,
- "update_user": "string",
- "update_time": 0,
- "release_user": "string",
- "release_time": 0
}
]取某个已发布版本的完整定义,用于版本对比或回看。
| operator_id required | string 算子 ID。 |
| version required | string 版本 ID。 |
| tag | integer 版本号(递增序号),与 |
{- "business_domain_id": "string",
- "operator_id": "string",
- "name": "string",
- "version": "string",
- "status": "unpublish",
- "metadata_type": "openapi",
- "metadata": {
- "version": "string",
- "summary": "string",
- "description": "string",
- "server_url": "string",
- "path": "string",
- "method": "string",
- "api_spec": { },
- "function_content": { },
- "create_time": 0,
- "update_time": 0,
- "create_user": "string",
- "update_user": "string"
}, - "operator_info": {
- "operator_type": "basic",
- "execution_mode": "sync",
- "category": "other_category",
- "category_name": "string",
- "source": "unknown",
- "is_data_source": false
}, - "operator_execute_control": {
- "timeout": 3000,
- "retry_policy": {
- "max_attempts": 3,
- "initial_delay": 1000,
- "backoff_factor": 2,
- "max_delay": 6000,
- "retry_conditions": {
- "status_code": [
- 0
], - "error_codes": [
- "string"
]
}
}
}, - "extend_info": { },
- "is_internal": true,
- "tag": 0,
- "create_user": "string",
- "create_time": 0,
- "update_user": "string",
- "update_time": 0,
- "release_user": "string",
- "release_time": 0
}市场只收已发布 / 已下架的算子——status 的可选值只有 published
与 offline,传 unpublish / editing 会 400。这是它与
/operator/info/list 的关键差别:那边看的是工作区的全部算子。
| page | integer >= 1 Default: 1 页码,从 1 开始。 |
| page_size | integer <= 100 Default: 10 每页数量,上限 100。传负数等价于不分页全量返回。 |
| sort_by | string Default: "update_time" Enum: "update_time" "create_time" "name" 排序字段。 |
| sort_order | string Default: "desc" Enum: "asc" "desc" 排序方向。 |
| status | string Enum: "published" "offline" 市场内的状态过滤,只接受这两个值。 |
| name | string 按名称过滤。 |
| create_user | string 按创建人过滤。 |
| release_user | string 按发布人过滤。 |
| category | string 按分类过滤。 |
| all | boolean 忽略分页返回全部。 |
| x-business-domain required | string 业务域 ID。算子按业务域隔离,缺失返回 400。 |
{- "total": 0,
- "page": 0,
- "page_size": 0,
- "total_pages": 0,
- "has_next": true,
- "has_prev": true,
- "data": [
- {
- "business_domain_id": "string",
- "operator_id": "string",
- "name": "string",
- "version": "string",
- "status": "unpublish",
- "metadata_type": "openapi",
- "metadata": {
- "version": "string",
- "summary": "string",
- "description": "string",
- "server_url": "string",
- "path": "string",
- "method": "string",
- "api_spec": { },
- "function_content": { },
- "create_time": 0,
- "update_time": 0,
- "create_user": "string",
- "update_user": "string"
}, - "operator_info": {
- "operator_type": "basic",
- "execution_mode": "sync",
- "category": "other_category",
- "category_name": "string",
- "source": "unknown",
- "is_data_source": false
}, - "operator_execute_control": {
- "timeout": 3000,
- "retry_policy": {
- "max_attempts": 3,
- "initial_delay": 1000,
- "backoff_factor": 2,
- "max_delay": 6000,
- "retry_conditions": {
- "status_code": [
- 0
], - "error_codes": [
- "string"
]
}
}
}, - "extend_info": { },
- "is_internal": true,
- "tag": 0,
- "create_user": "string",
- "create_time": 0,
- "update_user": "string",
- "update_time": 0,
- "release_user": "string",
- "release_time": 0
}
]
}在市场视角查看某个算子的详情。
| operator_id required | string 算子 ID。 |
| x-business-domain required | string 业务域 ID。算子按业务域隔离,缺失返回 400。 |
{- "business_domain_id": "string",
- "operator_id": "string",
- "name": "string",
- "version": "string",
- "status": "unpublish",
- "metadata_type": "openapi",
- "metadata": {
- "version": "string",
- "summary": "string",
- "description": "string",
- "server_url": "string",
- "path": "string",
- "method": "string",
- "api_spec": { },
- "function_content": { },
- "create_time": 0,
- "update_time": 0,
- "create_user": "string",
- "update_user": "string"
}, - "operator_info": {
- "operator_type": "basic",
- "execution_mode": "sync",
- "category": "other_category",
- "category_name": "string",
- "source": "unknown",
- "is_data_source": false
}, - "operator_execute_control": {
- "timeout": 3000,
- "retry_policy": {
- "max_attempts": 3,
- "initial_delay": 1000,
- "backoff_factor": 2,
- "max_delay": 6000,
- "retry_conditions": {
- "status_code": [
- 0
], - "error_codes": [
- "string"
]
}
}
}, - "extend_info": { },
- "is_internal": true,
- "tag": 0,
- "create_user": "string",
- "create_time": 0,
- "update_user": "string",
- "update_time": 0,
- "release_user": "string",
- "release_time": 0
}返回可用的算子分类。category_type 是机器可读值(过滤与注册时填它),
name 是随请求语言本地化的显示名。
[- {
- "category_type": "other_category",
- "name": "未分类"
}, - {
- "category_type": "system",
- "name": "系统工具"
}, - {
- "category_type": "data_query",
- "name": "数据查询"
}, - {
- "category_type": "data_analysis",
- "name": "数据分析"
}
]