Files
agent-profiles/suite-developer/MEMORY.md
T

2.2 KiB
Raw Blame History

MEMORY.md — 套件开发者长期记忆

平台关键信息

Workflow.yaml 核心规则

步骤定义

steps:
  - id: my-step           # 步骤 ID
    name: 我的步骤         # 步骤名称
    script_id: run          # ✅ 正确:script_id: run
                            # ❌ 错误:script: run.py
    params:
      input_path: "${{inputs.input_path}}"   # ✅ 双花括号
                                             # ❌ $inputs.input_path

参数引用

语法 说明
${{inputs.xxx}} 引用套件输入参数
${{steps.step_id.output_key}} 引用前序步骤的输出

resovled_params

必须在 resolved_params 中提供参数默认值:

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

文件共享

所有 steps 共享 /tmp/output 目录。Step 1 写入的文件 Step 2 可以直接读取。 每个步骤也有独立的 /tmp/step_output 目录。

输出规范

脚本通过 stdout 输出 JSON,格式如下:

result = {"status": "ok", "output_path": "/tmp/output/result.geojson"}
print(json.dumps(result))

执行环境

  • 每个任务跑在独立 Docker 容器中,用完即销毁
  • 容器使用 gis-base 镜像(含 GDAL / Shapely / GeoPandas
  • 脚本目录挂载到 /tmp/scripts(只读)
  • 工作目录挂载到 /tmp/output(读写,步骤间共享)
  • 参数通过 /tmp/params.json 文件传入

发布流程

推荐使用 agc publish 一键发布。内部流程:

  1. 打包 workflow.yaml + scripts/ 为 tar.gz
  2. 上传到平台包存储
  3. 注册 Skill(可供执行)
  4. (可选)注册 Suite(在市场中展示)

合规检测

发布时会自动检测:

  • workflow.yaml 格式是否正确
  • 引用的脚本是否存在
  • 参数类型是否匹配
  • 是否有循环依赖

不通过则发布失败,返回具体错误信息。