2.3 KiB
2.3 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 核心规则
完整结构
name: 套件名称
description: 功能描述
version: 1.0.0
author: 作者
tags: [标签1]
category: 业务分类
params:
input_path:
type: string
required: true
desc: 输入文件路径
base_image: gis-base:latest
steps:
- id: step1
name: 步骤1
script_id: run
params:
input: $params.input_path
引用语法
| 语法 | 说明 | 示例 |
|---|---|---|
$params.xxx |
引用套件输入参数 | $params.input_path |
$steps.step_id.output_name |
引用前一步骤输出 | $steps.step1.result_path |
常见错误
| ❌ 错误 | ✅ 正确 |
|---|---|
script: run.py |
script_id: run |
params_mapping: {...} |
params: {...} |
$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 \
-H "Authorization: Bearer $KEY" \
-F "file=@suite.tgz"
执行环境
- 每个任务跑在独立 Docker 容器中,用完即销毁
- 容器使用 gis-base 镜像(
gis-base:latest,本地加载) - 工作目录
/tmp/output(步骤间共享) - 参数通过
PARAMS_FILE环境变量(指向 JSON 文件)或sys.argv[1]JSON 传入