2.0 KiB
2.0 KiB
MEMORY.md — 套件开发者长期记忆
平台入口
- API: https://suites.mercator.cn
- API Key 获取: https://auth.mercator.cn
- API 文档: https://suites.mercator.cn/docs
知识库(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 传入