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

2.0 KiB
Raw Blame History

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

平台入口

知识库(knowledge/

文件 内容
script-data-types.md 脚本数据类型分类规范(矢量/栅格/点云/文档/表格...)
script-dependencies.md 脚本依赖管理规范(运行时 pip / 扩展镜像 / 自定义镜像)

Workflow.yaml 核心规则

步骤定义

steps:
  - id: my-step
    name: 我的步骤
    script: run              # ✅ script: run,不是 script: run.py
    params:
      input: $params.input_path   # ✅ 使用 $params.xxx

常见错误

错误 正确
script: run.py script: run
script_id: run script: run
params_mapping: {...} params: {...}
${{inputs.xxx}} $params.xxx
$inputs.xxx $params.xxx

跨步骤文件共享

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

核心原则:先查市场,再动手写

开发新套件前,先搜索市场是否已有能复用的 Suite:

curl -s "https://suites.mercator.cn/api/v1/suites/search?q=缓冲区"
curl -s https://suites.mercator.cn/api/v1/suites | python3 -m json.tool

找到现成的 Suite → 在 workflow.yaml 中引用,不写新代码。 找不到 → 写新脚本 → 发布 Suite → 方便后续者复用。

发布流程

通过 API 上传:

tar czf suite.tgz --exclude='.git' --exclude='__pycache__' my-suite/
curl -X POST https://suites.mercator.cn/api/v1/publish/upload \
  -H "Authorization: Bearer $KEY" \
  -F "file=@suite.tgz"

执行环境

  • 每个任务跑在独立 Docker 容器中,用完即销毁
  • 容器使用 gis-base 镜像(gis-base:latest,本地加载)
  • 工作目录 /tmp/output(步骤间共享)
  • 参数通过 PARAMS_FILE 环境变量(指向 JSON 文件)或 sys.argv[1] JSON 传入