diff --git a/suites-help/开发者指南/Workflow-规范.md b/suites-help/开发者指南/Workflow-规范.md index 963e568..20e55bd 100644 --- a/suites-help/开发者指南/Workflow-规范.md +++ b/suites-help/开发者指南/Workflow-规范.md @@ -14,9 +14,7 @@ | `category` | 否 | 分类标签 | | `tags` | 否 | 标签列表 | | `params` | 是 | 输入参数的 JSON Schema | -| `output_schema` | 否 | 输出结果的结构定义 | | `steps` | 是 | 执行步骤列表 | -| `resolved_params` | 是 | 参数解析后的默认值 | ## 参数声明(params) @@ -52,18 +50,20 @@ params: steps: - id: my-step # 步骤 ID,唯一 name: 我的步骤 # 步骤名称 - script: run # 脚本标识(不是 script: run.py) + script: run # 脚本标识(scripts/run.py 中的 run) params: - input: "$params.input_path}}" # 双花括号语法 + input: $params.input_path # 使用 $params.xxx 引用参数 ``` ### 常见错误 | ❌ 错误写法 | ✅ 正确写法 | 原因 | |-----------|-----------|------| -| `script: run.py` | `script: run` | 执行器读的是 `script` | +| `script: run.py` | `script: run` | 不带 .py 后缀 | +| `script_id: run` | `script: run` | 字段名是 `script` 不是 `script_id` | | `params_mapping: {...}` | `params: {...}` | 字段名是 `params` | -| `$inputs.xxx` | `$params.xxx}}` | 双花括号语法 | +| `${{inputs.xxx}}` | `$params.xxx` | 使用 `$params.xxx` 语法 | +| `$inputs.xxx` | `$params.xxx` | 使用 `$params.xxx` 语法 | ## 文件共享 @@ -79,33 +79,23 @@ with open("/tmp/output/result.json") as f: data = json.load(f) ``` -每个步骤也有独立的 `/tmp/step_output` 目录。 - ## 脚本约定 -脚本通过 `PARAMS_FILE` 环境变量获取参数(默认 `/tmp/params.json`),结果通过 stdout 输出 JSON: +脚本通过 `PARAMS_FILE` 环境变量获取参数文件路径,或通过 `sys.argv[1]` 获取 JSON 参数: ```python -import json, os +import json, os, sys +# 方式一:从 PARAMS_FILE 读取 params_file = os.environ.get("PARAMS_FILE", "/tmp/params.json") with open(params_file) as f: params = json.load(f) +# 方式二:从 sys.argv[1] 读取 +if len(sys.argv) > 1: + params = json.loads(sys.argv[1]) + # 处理逻辑... result = {"status": "ok", "value": 42} print(json.dumps(result)) ``` - -## resolved_params - -提供参数解析后的默认值,执行器直接使用这些值: - -```yaml -resolved_params: - - step_index: 0 - step_name: 我的步骤 - params: - input_path: "/data/input.shp" - threshold: 0.5 -```