Skip to content

Ask Block

运行时暂停工作流,等待用户输入后继续执行。

功能说明

Ask Block 是一种交互式输入节点。当工作流执行到 Ask Block 时,流程会暂停并弹出输入界面,等待用户输入回答后才继续执行后续节点。它通常用于需要人工介入提供信息的场景,例如确认操作、补充参数或收集用户反馈。

Ask Block 没有独立的后端执行器 —— 运行时通过 pause 机制挂起,前端展示输入框,用户提交后恢复执行。

使用场景

  1. 人工确认:工作流执行到关键步骤前,暂停让用户确认是否继续,或输入额外的指令。
  2. 动态参数收集:在流程运行过程中收集用户提供的变量值(如搜索关键词、目标 URL),供后续 Block 引用。
  3. 交互式对话:配合 Generation Block 构建多轮对话流程,每轮先 Ask 用户问题、再 AI 生成回复。

配置参数

属性名类型说明默认值
idstring节点唯一标识(自动生成)
namestring节点名称(自动生成,可自定义)
placeholderstring输入框占位提示文本'Ask anything...'
placeholderVisibility'always' | 'empty'占位符显示模式'always'

输出变量

Ask Block 在用户提交回答后产出以下变量:

变量名类型说明
__default__string默认输出,等同于 question(问题内容)
questionstring用户在 Ask Block 中设置的问题文本
answerstring用户在运行时输入的回答内容

所有变量在 Ask Block 完成(用户提交回答)后才可被引用。

引用语法示例

用户的回答是:{{ask_1.answer}}
问题内容:{{ask_1.question}}

使用示例

示例 1:收集用户关键词后进行 AI 搜索

[Ask Block] name: ask_1
  问题占位符: "请输入你想搜索的关键词"

[Generation Block] name: gen_1
  Prompt: 请根据以下关键词进行总结:{{ask_1.answer}}

示例 2:多步确认流程

[Generation Block] name: gen_1
  Prompt: 生成一份报告草稿...

[Ask Block] name: ask_1
  问题占位符: "请查看上方草稿,输入修改意见(输入"确认"则跳过)"

[Generation Block] name: gen_2
  Prompt: 根据用户反馈修改报告:{{ask_1.answer}}

运行时约束

  • 适用文档类型:普通文档(document)。不可用于 skill 文档。
  • 可插入上下文:文档顶层。
  • 不可插入上下文:Promise 分支、Branch 分支内部。
  • 嵌套限制:Ask Block 不能嵌套在其他容器 Block(如 Loop、If-Else)内部的 Promise/Branch 上下文中。

注意事项

  • Ask Block 会阻断工作流执行,直到用户提交回答。如果用户未响应,流程将一直等待。
  • Ask Block 不适合用于全自动化场景(如定时任务、API 触发的无人值守运行),因为它需要人工交互。
  • 在 skill 文档中不可使用 Ask Block,因为 skill 设计为全自动执行。
  • question 变量的值来自 Ask Block 节点内部编写的文本内容,answer 是用户在运行时输入框中填写的内容。

AI Workflow Editor