Files
agent-profiles/suites-help/开发者指南/Workflow-规范.md
T

2.5 KiB
Raw Blame History

Workflow 规范

文件位置

套件根目录下的 workflow.yaml

顶层字段

字段 必填 说明
name 套件名称
description 描述
version 版本号,默认 1.0.0
category 分类标签
tags 标签列表
params 输入参数的 JSON Schema
output_schema 输出结果的结构定义
steps 执行步骤列表
resolved_params 参数解析后的默认值

参数声明(params

使用 JSON Schema 格式:

params:
  type: object
  required:
    - input_path
  properties:
    input_path:
      type: string
      description: 输入文件路径
    threshold:
      type: number
      default: 0.5
      description: 阈值

参数类型

类型 说明 示例
string 文本或文件路径 /data/input.shp
number 浮点数 0.5
integer 整数 100
boolean 布尔值 true

步骤定义(steps

steps:
  - id: my-step          # 步骤 ID,唯一
    name: 我的步骤        # 步骤名称
    script_id: run        # 脚本标识(不是 script: run.py
    params:
      input: "${{inputs.input_path}}"   # 双花括号语法

常见错误

错误写法 正确写法 原因
script: run.py script_id: run 执行器读的是 script_id
params_mapping: {...} params: {...} 字段名是 params
$inputs.xxx ${{inputs.xxx}} 双花括号语法

文件共享

所有步骤共享 /tmp/output 目录。Step 1 写入的文件,Step 2 可以直接读取:

# Step 1:写文件
with open("/tmp/output/result.json", "w") as f:
    json.dump(data, f)

# Step 2:读文件
with open("/tmp/output/result.json") as f:
    data = json.load(f)

每个步骤也有独立的 /tmp/step_output 目录。

脚本约定

脚本通过 PARAMS_FILE 环境变量获取参数(默认 /tmp/params.json),结果通过 stdout 输出 JSON

import json, os

params_file = os.environ.get("PARAMS_FILE", "/tmp/params.json")
with open(params_file) as f:
    params = json.load(f)

# 处理逻辑...
result = {"status": "ok", "value": 42}
print(json.dumps(result))

resolved_params

提供参数解析后的默认值,执行器直接使用这些值:

resolved_params:
  - step_index: 0
    step_name: 我的步骤
    params:
      input_path: "/data/input.shp"
      threshold: 0.5