节点功能
工具节点属于信息处理类节点,支持在节点内设置自定义 API。工作流运行至该节点时,系统将自动调用 API 并输出返回结果。


操作说明
在工作节点中,您需要完成以下配置:基础信息、API 参数、输出变量,以及异常处理(可选)。这些配置共同决定了节点在运行时如何调用外部服务、处理响应数据,并与其他节点交互。
基础信息
接口链接
传入 API 接口的 URL。您也可以通过输入"/"符号引用前序节点内变量中的链接信息。
授权方式
API 使用权限,支持“无需授权”和 “APIKey” 、以及“腾讯云”三种。
APIKey 授权:
APIKey 授权是一种基于唯一标识符(API Key)的轻量级身份验证机制,用于验证客户端(例如:应用程序、用户或服务)对 API 的访问权限。API Key 通常是一串随机生成的字符,由 API 提供商分配,客户端在调用 API 时需将其包含在请求头或请求参数中,以证明其合法性。配置如下:
配置 | 说明 |
密钥位置 | 支持选择 “header” 和 “query”,用于配置填写 APIKey 的位置 |
密钥参数名 | APIKey 的名称 |
密钥值 | APIKey 的具体值 |


腾讯云授权
适用于调用腾讯云产品 API 的场景,腾讯云 API 会对每一个请求进行身份验证,用户需要使用安全凭证发起请求,以确保请求由持有合法访问密钥的主体发起。详细的密钥获取信息请参阅控制台 公共参数 页面。可通过 云 API 密钥 进行密钥获取。具体配置如下:
配置 | 说明 |
SecretId | 用于标识 API 调用者身份,可以类比为用户名 |
SecretKey | 用于验证 API 调用者的身份,可以类比为密码 |


请求方式
配置该 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(Server-Sent Events) 格式的接口。请求接口后,后台完成数据拼接后统一输出。
增量解析:每次接收的内容为独立完整片段,例如「今天」「天气」「很好」;
覆盖解析:每次接收的内容基于上一次结果叠加更新,例如「今」「今天」「今天天气很好」。
流式调用适用于处理持续输出类接口(如聊天或生成类 API),但最终展示结果为整合后的完整文本。


基础信息添加
除了手动填写工具节点的基础信息,支持通过 JSON、curl 和 YAML 代码自动添加基础信息。
通过 YAML 添加
OpenAPI 是一种用于描述 RESTful API 的标准化规范,可用于定义接口的结构、请求与响应格式以及认证方式等内容。YAML 是 OpenAPI 中常用的描述格式,语法简洁、可读性高,便于快速配置和维护接口。YAML 格式填写示例如下:
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: trueschema: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 参数。请根据接口文档或实际业务需求,配置相应的参数名称与取值来源,以确保请求能够正确执行。
配置 | 说明 |
变量名称 | 该变量的名称,只能包含字母、数字或下划线,并且以字母或下划线开头,必填 |
变量描述 | 该变量的说明信息,非必填 |
数据来源 | 该变量的数据来源,支持“引用”“输入”两种选项。“引用”可选择前序所有节点的输出变量,“输入”可手动填入固定值,必填 |
变量类型 | 该变量的数据类型,不可选择,默认为引用的变量类型或输入的 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秒 |
异常处理方式 | 支持“输出特定内容”、“执行异常流程”和“中断流程”三种 |
异常情况的输出变量 | 选择异常处理方式为“输出特定内容”时,超过最大重试次数后节点返回的输出变量 |


选择异常处理方式为“输出特定内容”时,发生异常后工作流不会中断,节点异常重试后直接返回用户在输出内容设置的输出变量及变量值;
选择异常处理方式为“执行异常流程”时,发生异常后工作流不会中断,节点异常重试后执行用户自定义的异常处理流程;


选择异常处理方式为“中断流程”时,没有更多设置项,发生异常后工作流执行中断。
轮询调用
可手动开启轮询调用(默认为关闭),满足异步任务运行等场景需求。用户可手动配置轮询条件。
配置 | 说明 |
轮询时间间隔 | 节点进行两次查询之间相隔的时间。默认值 1s,最大值 10s。 |
最长轮询时间 | 节点进行轮询的总时长,默认值为 10s,最大值 600s。节点运行时间超过最长轮询时间后,认为该节点执行失败。 |
轮询结束条件 | 停止轮询的规则或条件,不满足条件时,接着进行轮询。当条件被满足时,结束轮询,执行下一节点。 |


说明:
轮询的优先级低于异常处理的优先级,若用户同时开启了异常处理与轮询调用,当出现异常情况时,根据异常处理中的“异常处理方式”执行,可跳过未进行完的轮询。
应用示例
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: trueschema: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 请求示例 1:查询客户订单
查询特定客户 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: truedescription: "请求体中包含客户ID"content:application/json:schema:type: objectproperties:customerId:type: integerdescription: "客户ID,必填项"customerName:type: stringdescription: "客户姓名(可选)"customerEmail:type: stringdescription: "客户邮箱(可选)"required:- customerIdresponses:"200":description: "查询成功"content:application/json:schema:type: objectproperties:orderList:type: arraydescription: "订单列表"items:type: objectproperties:orderId:type: integerdescription: "订单ID"status:type: stringdescription: "订单状态"amount:type: numberdescription: "订单金额"status:type: integerdescription: "接口调用状态"enum: [0, 1]"400":description: "错误的请求""401":description: "未授权""500":description: "服务器内部错误"
注意:
示例仅用作展示 API 的配置过程,无法直接调用,请根据示例替换成您自己的 API 。
POST 请求示例 2:在工作流内使用流式方式调用 ADP 应用
以下示例演示如何在工具节点中以 流式(SSE) 方式调用某个智能体应用接口。
1. 基础配置
在工具节点中配置 POST 请求方式与流式调用方式。
注意:工具节点内部不会实时渲染流式内容,而是后台自动拼接完整结果。如需查看流式输出效果,请在节点后追加「回复节点」,详情见后文。
2. Body 示例填写
参考接口文档或 cURL 示例,按需在 Body 中填写对应字段。
示例 cURL:
curl --location 'https://wss.lke.cloud.tencent.com/v1/qbot/chat/sse' \\--header 'Content-Type: application/json' \\--data '{"session_id":"a29bae68-cb1c-489d-8097-6be78f136acf","bot_app_key":"请自行获取应用对应的key","visitor_biz_id":"a29bae68-cb1c-489d-8097-6be78f136acf","content":"哪吒2票房","incremental": true,"streaming_throttle": 10,"visitor_labels": [],"custom_variables":{},"search_network":"disable","stream":"enable","workflow_status":"disable","tcadp_user_id":""}'
Running Environment
Operating System: Ubuntu 24.04.3 LTS / x86_64
Runtime Version: GNU bash, version 5.2.21(1)-release (x86_64-pc-linux-gnu)
根据请求示例,在工具节点 Body 中填写例如以下参数:
session_id: a29bae68bot_app_key: your-keyvisitor_biz_id: random-idcontent: 用户问题


3. 输出变量配置
当 SSE 返回类似以下结构时:
{"Body": "event:replydata:{\\"type\\":\\"reply\\",\\"payload\\":{\\"content\\":\\"fdsaijofjioasdgj\\", ... }}"}
分析输出的内容格式,在输出变量里按照对应的格式解析对应的字段。参考以下格式填写:


根据接口实际的返回情况选择对应的解析方式:
增量解析:每次接收的内容为独立完整片段,例如「今天」→「天气」→「很好」。
覆盖解析:每次接收的内容基于上一次结果叠加更新,例如「今」→「今天」→「今天天气很好」。
工具节点最终输出为平台自动拼接后的整段文本。
4. 如何在平台内查看真正的流式效果
在工具节点后添加一个“回复节点”,并在回复内容中插入工具节点的输出变量,例如
{{result}}。

单击工作流右上角的调试,运行后即可看到 SSE 拼接后的最终回复内容。


常见问题
如何配置 Bearer 鉴权?
工具节点支持 Bearer 鉴权。请选择 “API Key” 授权方式,在密钥值处填写 “Bearer [您的 API 密钥值]”。