Skip to content

Block 系统 ​

Block 是外脑编辑器中的功能单元,类似编程中的函数。每个 Block 执行特定任务并产生输出,多个 Block 组合在一起构成完整的 AI 工作流。

Block 分类 ​

外脑编辑器提供 16 种 Block,分为五大类:

AI Block ​

通过 AI 模型生成内容或提供 AI 相关能力。

Block说明
Generation调用 AI 模型生成文本、图片等内容(可开模型工具/生图)
Structure调用 AI 模型生成结构化 JSON 数据
Decision对判断说明逐题做是否/候选/评分的类型化判断(决策模型)
Tools声明工具调用能力,为 AI 模型提供工具
Allow Tools声明 skill 文档允许使用的工具
Tool调用已安装的 Tool Template(工具模板)作为子流程

控制流 Block ​

控制执行流程:分支、循环、并行、跳转。

Block说明
If-Else根据条件执行不同分支(容器节点,支持 AI Prompt 条件)
Loop循环执行子内容,支持计次、列表遍历和条件循环(容器节点)
Promise并行执行多个分支,支持 race/all 策略(容器节点)
Flow调用外部文档作为子工作流
Exit提前终止文档执行(可配合 Output 覆盖输出字段)

数据 Block ​

处理数据和代码逻辑。

Block说明
Code在沙箱中执行 JavaScript/TypeScript 代码
Database对项目数据库执行查询、插入、更新、删除操作
Knowledge Base Search对项目知识库做语义检索,输出最相关的内容

交互 Block ​

处理用户交互和输入。

Block说明
Ask暂停执行等待用户输入
Input定义文档的输入参数(文档结构节点)

输出声明 ​

能力说明
Output声明工作流对外的最终输出结构(编辑器底部面板,非插入式 Block)

模型内置工具(web_search / file_search / code_interpreter 等)不再作为独立 Block,统一在 Generation Block 的「模型工具」中配置。

Block 生命周期 ​

每个 Block 经历以下阶段:

  1. 创建 - 在文档中通过 / 菜单插入 Block
  2. 配置 - 设置 Block 的参数(如模型选择、代码编写等)
  3. 运行 - 文档执行时按顺序运行每个 Block
  4. 输出 - Block 产生输出变量,供后续 Block 引用

节点类型 ​

Block 按执行行为分为四种节点类型:

数据节点 ​

产生独立输出,执行时发送 block_start → block_chunk(流式)→ block_complete 事件。

包括:Generation、Structure、Decision、Code、Ask、Flow、Tool、Tools、Database、Knowledge Base Search

容器节点 ​

管理子节点执行,设置作用域变量。

包括:Loop、If-Else、Promise

嵌套规则:

  • 容器节点可以包含任意数据节点和其他容器节点
  • Ask Block 不可嵌套在 Promise 分支中(因为并行执行时无法暂停等待用户输入)
  • Exit Block 不可嵌套在 Promise 分支中
  • Loop 的循环变量(count、item、index)仅在容器内部可见

声明节点 ​

只声明配置不执行逻辑。

包括:Tools、Allow Tools、Input(文档结构节点)

叶子节点 ​

无输出,用于流程控制。

包括:Exit

输出变量 ​

每个 Block 执行后会产生输出变量,可通过 @blockName > variableName 语法在后续 Block 引用。

变量可见性由 checkShow 属性控制:

  • after - 执行完成后,在 Block 之后的任意位置可引用(大多数 Block)
  • inside - 仅在容器节点内部可引用(如 Loop 的 item、index)

部分 Block 支持动态变量,根据配置参数决定是否暴露特定变量。例如:

  • Generation Block 的 thinking 变量仅在选择支持思考的模型时可用
  • Database Block 的 rows 变量仅在操作类型为 query 时可用
  • If-Else / Loop / Promise 的 decision 判断详情变量仅在开启「输出判断详情」开关时产出

详细的变量系统说明请参考 变量系统。

Block 类型快速参考 ​

BlockType Key输出变量节点类型
Generationgeneration__default__、thinking、tool_calls、image、images数据
Structurestructure__default__ + 动态 Schema 字段数据
Decisiondecision各判断项标识、__jev__、__default__、error数据
Toolstools无声明
Allow ToolsallowTools无声明
Tooltool按 visible_outputs 映射过滤后的输出数据
If-ElseifElse无(开「输出判断详情」后有 decision)容器
Looploopcount、item、index(decision,仅循环内)容器
Promisepromise__default__、count、status、failed、cancelled(decision)容器
Flowflow__default__ + 动态输出(子文档声明 Output 时仅声明字段)数据
Exitexit无叶子
CodecodeBlock__default__、output、logs、errors数据
Databasedatabase__default__、rows、total、row、success、deletedId数据
Knowledge Base SearchknowledgeBaseSearch__default__、results、total数据
Askask__default__、question、answer数据
Inputinput动态(根据输入类型)声明

AI Workflow Editor