工具节点

节点功能

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


操作说明

基础信息

接口链接

传入 API 接口的 url。

授权方式

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


请求方式

配置该 API 工具的请求方式,支持 GET、POST 和 DELETE 三种。
配置
说明
GET
用于从服务器获取(请求)数据,通常用于查询操作。适用场景:
获取网页、图片、API 数据等静态资源
搜索引擎查询
无敏感信息的简单数据传递
POST
用于向服务器提交(发送)数据,通常用于创建或更新资源。适用场景:
提交表单数据,如用户注册、登录
上传文件或大型数据
执行非查询类操作
DELETE
用于从服务器‌删除‌指定的资源,通常用于移除数据或取消操作。适用场景:
删除用户账号、文章、评论等动态资源
取消已提交的订单或预约
清理临时文件或缓存数据

调用方式

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

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:"服务器内部错误"
填写完成后点击"解析",即可自动填写对应的参数。

API 参数设置

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

输出变量

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


异常处理

可手动开启异常处理,支持异常重试和异常情况的输出内容配置。配置内容如下。
配置
说明
最大重试次数
节点运行异常时重新运行的最大次数。重试超过设定次数,认为该节点调用失败,返回"异常情况的输出变量"内容,默认为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 鉴权,授权方式选择"APIkey",在密钥值处填写"Bearer [您的 API 密钥值]"。