Skip to content

Tool Block(工具模板调用) ​

调用已安装到当前项目的 Tool Template(工具模板),作为子流程执行并返回过滤后的输出。

功能说明 ​

Tool Block 是数据节点,它通过安装关系引用一个 Tool Template:运行时验证「项目已安装该模板」后,从模板锁定的部署版本加载 snapshot 并执行,把模板声明的 visible_outputs 映射过滤后注册为本 Block 的输出变量。

它解决的是「把现成工具装配进工作流」:模板由管理员在工具模板库统一维护(含版本与部署快照),项目安装后即可在文档中通过 Slash 菜单插入对应的 Tool Block。

与 Flow Block 的区别:

FlowTool
引用方式直接指定目标文档(targetDocumentId / targetDeploymentId)通过「项目 + 模板」安装关系间接引用锁定版本
输入inputJSON 手动传参可见输入表单 + 模板 hidden_input_defaults 自动合并
输出收集子文档全部数据节点(或 Output 声明字段)只暴露模板 visible_outputs 映射的字段
异步支持 await=false(fire-and-forget)不支持,始终等待完成
密钥—按 requiredConfigs 预检项目密钥,缺失/未加密时明确报错

使用场景 ​

  • 复用平台工具:调用管理员上架的标准化工具(如数据转换、第三方 API 封装),无需自己搭工作流
  • 版本稳定:模板升级不影响已插入的 Tool Block——它锁定在安装时的部署版本
  • 受控输入输出:模板作者决定哪些输入对使用者可见、哪些输出暴露,界面按清单自动生成表单

配置参数 ​

属性名类型说明默认值
templateIdstring工具模板 ID(必填,缺失时运行报错)—
templateSlug / templateNamestring模板标识/名称(展示用缓存)—
templateVersionstring模板版本(展示用缓存)—
lockedDeploymentIdstring锁定的部署版本 ID(快照来源)—
sourceType'template' | 'package'来源:模板库直装 / 工具包内文件—
inputJSONstring可见输入参数(JSON 序列化,编辑器表单生成)'{}'

配置面板上方展示模板信息卡片(名称、版本、描述),下方按模板 manifest 的可见输入清单自动生成表单(布尔用开关、数字用数字输入、其余用文本框,带描述与必填标记)。若模板已卸载会提示「未找到对应的安装记录」。

输出变量 ​

输出按模板的 visible_outputs 映射过滤:只有映射表中声明的 name(映射自子流程输出的 mappedFrom)会注册为变量。

变量名类型说明
{输出名}按 manifest 声明每条 visible_outputs 映射对应一个变量

运行时约束 ​

  • 适用文档类型:普通文档(document)。不可用于 skill 文档。
  • 必须先安装:执行时校验 projectId + templateId 的安装关系,未安装/已卸载会报错「Tool 未安装或已卸载」。
  • 密钥预检:模板声明的 requiredConfigs 会在执行前检查项目密钥(存在且值可用),缺失或加密未配置会明确报错,不会带病执行。
  • 调用上限:与 Flow 共用调用追踪器——总调用次数、单模板调用次数超过上限时报错(防止无限递归);循环引用检测以 templateId 为键,检测到 A → B → A 式回路时报错终止。

注意事项 ​

  • Tool Block 的 Slash 菜单项是动态生成的:来自当前项目已安装的工具模板清单,没有安装任何模板时菜单里不会出现 Tool 项。
  • 模板升级后,已插入的 Tool Block 不会自动跟随新版本;需要重新插入或更新安装版本。
  • 模板的隐藏输入(hidden_input_defaults)由模板作者在管理端配置,使用者不可见、不可覆盖,运行时自动合并。

AI Workflow Editor