工具节点

最近更新时间:2025-09-09 16:17:42

我的收藏

节点功能

工具节点属于信息处理类节点,支持配置用户自己的 API ,运行到该节点时系统将按照用户配置的 API 信息进行调用,并输出调用的结果。




操作说明

基础信息

接口链接

传入 API 接口的 URL。支持通过"/"引用前序节点变量。

授权方式

API 使用权限,支持“无需授权”和 “APIKey” 两种。
APIKey 授权
APIKey 授权是一种基于唯一标识符(API Key)的轻量级身份验证机制,用于验证客户端(如应用程序、用户或服务)对 API 的访问权限。API Key 通常是一串随机生成的字符,由 API 提供商分配,客户端在调用 API 时需将其包含在请求头或请求参数中,以证明其合法性。配置如下:
配置
说明
密钥位置
支持选择 “header” 和 “query”,用于配置填写 APIKey 的位置
密钥参数名
APIKey 的名称
密钥值
APIKey 的具体值




请求方式

配置该 API 工具的请求方式,支持 GET、POST 以及 PUT、DELETE、PATCH、HEAD、OPTIONS 共七种。
配置
说明
GET
用于从服务器获取(请求)数据,通常用于查询操作。适用场景:
● 获取网页、图片、API 数据等静态资源
● 搜索引擎查询
● 无敏感信息的简单数据传递
POST
用于向服务器提交(发送)数据,通常用于创建或更新资源。适用场景:
● 提交表单数据,如用户注册、登录
● 上传文件或大型数据
● 执行非查询类操作
PUT
用于向服务器提交数据以创建或替换资源。通常用于更新现有资源或者创建新资源(如果资源不存在)。如果资源已经存在,PUT 会覆盖现有资源;如果资源不存在,则会创建新资源。适用场景:
● 更新用户信息,如修改用户的个人资料
● 替换资源的内容,如上传新的文件内容
DELETE
用于从服务器删除指定的资源,通常用于移除数据或取消操作。适用场景:
● 删除用户账号、文章、评论等动态资源
● 取消已提交的订单或预约
● 清理临时文件或缓存数据
PATCH
用于向服务器提交部分数据以更新现有资源,而不是替换整个资源。与 PUT 不同,PATCH 仅修改部分数据,而不是完整资源。适用场景:
● 更新用户的部分信息,如仅修改用户名或电子邮件地址
● 对资源进行增量更新,例如调整某个配置项的数值
HEAD
用于请求服务器返回响应头部信息,但不返回响应体。常用于获取资源的元数据(如文件大小、类型等),用于检查资源是否存在或获取资源的基本信息。适用场景:
● 检查文件是否存在而不下载文件内容
● 获取资源的修改时间、大小、类型等信息
OPTIONS
用于询问服务器支持哪些 HTTP 方法或者查询服务器的通信选项。常用于在跨域请求中发送预检请求,以确定服务器是否允许某种类型的请求。适用场景:
● 跨域请求时,浏览器会自动发送 OPTIONS 请求,以确认是否允许特定的请求方法
● 确认服务器支持哪些 HTTP 方法,例如 GET、POST、PUT 等

调用方式

支持流式和非流式两种,默认为非流式返回。
非流式:支持调用完成后统一返回。
流式:支持 SSE 方式的流式返回,支持增量或覆盖解析返回输出变量。增量解析输出变量字段方式适用于每次返回数据是一个独立且完整的内容。例如:“今天”、“天气”、“很”、“好”。覆盖解析方式适用于每次返回数据是基于上一次结果的增量内容。例如:“今”、“今天”、“今天天”、“今天天气”、“今天天气很”、“今天天气很好”。

基础信息添加

除在画布上添加工具的基础信息,也支持通过 JSON、curl和 YAML 添加基础信息。
通过 YAML 添加
支持通过 YAML 格式的 OpenAPI 添加基础信息。OpenAPI 是一种标准化、语言无关的 RESTful API 描述规范,用于定义 API 的结构、请求/响应格式、认证方式等。YAML 是 OpenAPI 最常用的描述格式。
YAML 格式的 OpenAPI 填写示例如下:
openapi: "3.0.0"
info:
title: "测试API"
version: "1.0.0"
description: "请在此填入插件描述"
servers:
- url: "https://example.com/api"
description: "请在此填入插件描述"
paths:
"/weatherInfo":
get:
summary: "API名称"
description: "请在此填入插件下面的API描述"
operationId: "getWeatherInfo"
parameters:
- name: "city"
in: "query"
description: "参数说明"
required: true
schema:
type: "string"
responses:
"200":
description: "成功的响应"
content:
application/json:
schema:
type: "object"
properties:
status:
type: "integer"
description: "返回状态"
enum: [0, 1]
"400":
description: "错误的请求"
"401":
description: "未授权"
"500":
description: "服务器内部错误"
填写完成后单击“解析”,即可自动填写对应的参数。
通过 cURL 添加
支持通过 cURL 命令添加基础信息。OpenAPIcURL 是一个命令行工具,用于向服务器发送请求。它支持多种协议(如 HTTP、HTTPS、FTP 等),并且可以通过命令行发送 HTTP 请求,用于测试和调试 API。
cURL 的 API 示例如下:
curl -X POST https://api.example.com/users
-H "Content-Type: application/json"
-d '{"name": "John", "email": "john@example.com"}'
通过 JSON 添加
支持通过 JSON 添加基础信息。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,通常用于 API 的请求和响应体。JSON 格式的数据具有键值对结构,适用于表示结构化的数据。
JSON 的 API 示例如下:
{
"openapi": "3.0.0",
"info": {
"title": "示例API",
"description": "演示OpenAPI规范的完整结构",
"version": "1.0.0",
"contact": {
"name": "API支持",
"email": "support@example.com"
}
},
"servers": [
{
"url": "https://api.example.com/v1",
"description": "生产环境"
}
],
"paths": {
"/users": {
"get": {
"summary": "获取用户列表",
"responses": {
"200": {
"description": "用户数组",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/User"
}
}
}
}
}
}
},
"post": {
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/User"
}
}
}
},
"responses": {
"201": {
"description": "创建成功"
}
}
}
}
}
}


API 参数

填写该 API 调用时的 header, query 和 body 需要的信息,请根据您的 API 所需参数配置。
配置
说明
变量名称
该变量的名称,只能包含字母、数字或下划线,并且以字母或下划线开头,必填
变量描述
该变量的说明信息,非必填
数据来源
该变量的数据来源,支持“引用”“输入”两种选项。“引用”可选择前序所有节点的输出变量,“输入”可手动填入固定值,必填
变量类型
该变量的数据类型,不可选择,默认为引用的变量类型或输入的 string 类型

请求体格式

对 body 请求体,支持 JSON、form-data、x-www-form-urlencoded、raw text 和 binary 五种格式输入。
说明:
仅当请求方式为 POST、PUT 和 PATCH 时,才有 body 请求体。
配置
说明
JSON
结构化数据格式,使用键值对表示对象,支持嵌套和数组结构,适合传输结构化数据。
form-data
将数据分割为多个部分,每个部分包含独立的内容类型和编码,支持混合文本和二进制数据,适合文件上传、表单提交和混合类型数据传输。
x-www-form-urlencoded
将数据编码为键值对( key = value ),多个值用 & 连接,特殊字符进行 URL 编码,适合无文件的简单表单提交、传统Web 表单和兼容旧系统接口。
raw text
纯文本数据,无任何格式处理,按原始字节流传输,适合发送自定义文本消息、传输代码片段或非结构化数据。
binary
原始二进制数据流,无元数据描述,按字节传输,适合上传未知类型文件。




输出变量

经该节点处理后的输出变量,默认为空,支持用户手动添加输出变量,名称需要与该 API 返回参数相同。同时包含运行时报错信息 Error(数据类型为 object,正常运行时该字段为空)。
支持基础信息与 API 参数填写完成后自动解析输出变量。




异常处理

可手动开启异常处理,支持异常重试和异常情况的输出内容配置。配置内容如下。
配置
说明
最大重试次数
节点运行异常时重新运行的最大次数。重试超过设定次数,认为该节点调用失败,返回“异常情况的输出变量”内容,默认为3次
重试时间间隔
每次重新运行的时间间隔,默认为1秒
异常处理方式
支持“输出特定内容”和“执行异常流程”两种
异常情况的输出变量
选择异常处理方式为“输出特定内容”时,超过最大重试次数后节点返回的输出变量



选择异常处理方式为“执行异常流程”时,则节点异常重试后执行用户自定义的异常处理流程。




应用示例

GET 请求的示例

查询特定城市的实时天气, city 为必填项,且放置在请求的 query 中。示例配置如下:



YAML 导入的示例如下:
openapi: "3.0.0"
info:
title: "天气查询"
version: "1.0.0"
description: "用于天气查询的插件"
servers:
- url: "https://example.example/api"
description: "查询特定城市的实时天气情况"
paths:
"/weatherInfo":
get:
summary: "查询特定城市实时天气的插件"
operationId: "getWeatherInfoId"
description: "查询特定城市的实时天气情况"
parameters:
- name: "city"
in: "query"
description: "待查询天气的城市"
required: true
schema:
type: "string"
responses:
"200":
description: "成功的响应"
content:
application/json:
schema:
type: "object"
properties:
weather:
type: "string"
description: "天气描述"
status:
type: "integer"
description: "接口调用状态"
"400":
description: "错误的请求"
"401":
description: "未授权"
"500":
description: "服务器内部错误"
注意:
示例仅用作展示 API 的配置过程,无法直接调用,请根据示例替换成您自己的 API 。

POST请求的示例

查询特定客户 ID 的订单列表, customerId 为必填项, customerName 和 customerEmail 为非必填项,放置在请求的 body 中。示例配置如下:



YAML 导入的示例如下:
openapi: "3.0.0"
info:
title: "客户订单查询"
version: "1.0.0"
description: "通过客户ID查询客户的所有订单"
servers:
- url: "https://example.example/api"
description: "查询特定客户的订单信息"
paths:
/orderList:
post:
summary: "查询特定客户的订单列表"
operationId: "getOrderList"
description: "通过客户ID查询客户的所有订单"
requestBody:
required: true
description: "请求体中包含客户ID"
content:
application/json:
schema:
type: object
properties:
customerId:
type: integer
description: "客户ID,必填项"
customerName:
type: string
description: "客户姓名(可选)"
customerEmail:
type: string
description: "客户邮箱(可选)"
required:
- customerId
responses:
"200":
description: "查询成功"
content:
application/json:
schema:
type: object
properties:
orderList:
type: array
description: "订单列表"
items:
type: object
properties:
orderId:
type: integer
description: "订单ID"
status:
type: string
description: "订单状态"
amount:
type: number
description: "订单金额"
status:
type: integer
description: "接口调用状态"
enum: [0, 1]
"400":
description: "错误的请求"
"401":
description: "未授权"
"500":
description: "服务器内部错误"
注意:
示例仅用作展示 API 的配置过程,无法直接调用,请根据示例替换成您自己的 API 。

常见问题

是否支持 Bearer 鉴权?怎么配置?
支持 Bearer 鉴权,授权方式选择 “API Key”,在密钥值处填写 “Bearer [您的 API 密钥值]”。