For AI agents: the complete documentation index is available at https://a3s-lab.github.io/Flow/llms.txt, the full documentation bundle is available at https://a3s-lab.github.io/Flow/llms-full.txt, and this page is available as Markdown at https://a3s-lab.github.io/Flow/nodes/start.md.
  • 简体中文
  • v1.1.0
  • 开始 flow.start

    开始节点定义一张顶层图怎样被识别和启动。每个可执行工作流只保留一个开始节点,并且不接收入站控制边。next 把控制交给第一个业务节点,input 则把已经通过输入结构检查的启动数据提供给后续表达式。容器内部使用各自的内部入口,不再放置开始节点。

    身份与运行入口

    workflow_name 是长期稳定的业务身份,workflow_version 用于区分不兼容的定义。runtime_kindentrypointexport_name 共同告诉宿主到哪里加载工作流函数。发布前应确认入口真实存在,导出名称与构建产物一致,并且负责该版本的 worker 已经上线。已有运行依赖旧入口时,需要保留兼容构建与路由,不能直接覆盖后再移除旧代码。

    input_schema 只声明工作流确实读取的字段。宽松结构便于试验,但生产发布应明确必填项、数据类型和嵌套对象,避免错误输入走到持久步骤以后才失败。run_id_expression 可以从订单号、任务号等稳定输入生成运行 ID。表达式为空时由宿主分配身份,有值时重复启动请求可以命中同一个运行。

    接线与发布检查

    开始节点通常先连接条件、任务或容器。数据边应从 input 接到接受兼容 JSON 值的端口,控制边从 next 接到目标的 in。画布标题和位置可以随编辑调整,节点 ID、工作流名称和版本在创建运行后应保持稳定。发布检查还要覆盖输入样例、重复启动、缺失入口、旧 worker 路由和第一条控制边,确认图不会从未连接的入口停住。

    每张可执行图都从这个节点进入。它固定工作流名称、版本、输入结构和运行入口,并把启动输入交给后续节点。

    运行方式

    开始节点参与发布校验,不会生成运行命令。运行 ID 表达式有值时,宿主可以用同一业务身份安全重试启动请求。

    节点契约

    类型
    flow.start
    角色
    入口
    运行绑定
    宿主编译
    持久身份
    由图结构决定

    配置属性

    属性类型与控件默认值规则
    workflow_name工作流 IDstrStrInputworkflow.main用于查找这份工作流。发布后请保持不变,已有运行仍会使用原 ID。必填
    workflow_version工作流版本strStrInput0.1.0执行逻辑无法兼容旧运行时,请创建新版本。进行中的运行仍使用启动时的版本。必填
    input_schema输入字段dictA3SFlowSchemaInput{"type":"object","additionalProperties":true}定义启动工作流时允许传入的字段、类型和必填项。必填
    runtime_kind运行方式tabTabInputnative_ts选择工作流代码的执行环境。必填 · 高级设置 · 可选值 native_ts, rust_embedded
    entrypoint入口文件strStrInputworkflows/main.ts填写 TypeScript 文件路径,或嵌入式运行时中注册的入口键。必填 · 高级设置
    export_name导出函数strStrInputmain填写入口文件导出的工作流函数名。必填 · 高级设置
    run_id_expression运行 IDdictA3SFlowExpressionInput{"apiVersion":"a3s.dev/flow-expression/v1","expression":{"op":"literal","value":null}}用于拦截重复启动。留空时自动生成;填写时请选择能唯一标识一次业务请求的输入字段。可选 · 高级设置

    端口

    方向端口 ID种类数据类型
    输出next继续controlFlowControl
    输出input工作流输入dataJsonValue

    节点 JSON 示例

    CLI 会用 manifest 默认值生成同样的节点结构。画布位置、标题和选中状态属于展示数据。

    workflow.json
    {
      "position": {
        "x": 320,
        "y": 160
      },
      "id": "example-flow-start",
      "data": {
        "workflow_name": "workflow.main",
        "workflow_version": "0.1.0",
        "input_schema": {
          "type": "object",
          "additionalProperties": true
        },
        "runtime_kind": "native_ts",
        "entrypoint": "workflows/main.ts",
        "export_name": "main",
        "run_id_expression": {
          "apiVersion": "a3s.dev/flow-expression/v1",
          "expression": {
            "op": "literal",
            "value": null
          }
        },
        "type": "flow.start"
      }
    }

    CLI 用法

    先查看当前安装版本的 manifest,再创建节点并验证完整工作流。所有命令输出 JSON。

    Terminal
    a3s-flow node flow.start --pretty
    a3s-flow new flow.start --id example-flow-start --pretty
    a3s-flow validate workflow.json --pretty
    a3s-flow compile workflow.json --pretty
    a3s-flow digest workflow.json --pretty

    Skill 用法

    安装包内附带 a3s-flow Skill。它会先查询 CLI 的节点清单,再创建、校验、编译并计算语义摘要。

    Prompt
    Use $a3s-flow to add the "flow.start" node to workflow.json, connect valid ports, and validate the result.

    CLI 用法 · Skill 用法

    使用注意

    • 一张顶层图只保留一个开始节点。
    • 已有运行后不要修改工作流名称或版本。
    • 输入结构应只声明工作流真正读取的字段。