docs: add dual-platform execution awareness
This commit is contained in:
@@ -8,6 +8,11 @@ AgentGIS 不是一个"上传文件→云端处理→下载结果"的平台。
|
|||||||
执行环境 → ✅ 用户本地的 Docker 容器
|
执行环境 → ✅ 用户本地的 Docker 容器
|
||||||
```
|
```
|
||||||
你的脚本最终是在**用户自己的电脑上**执行的。用户提供的是**本地文件路径**,不是上传文件内容。
|
你的脚本最终是在**用户自己的电脑上**执行的。用户提供的是**本地文件路径**,不是上传文件内容。
|
||||||
|
|
||||||
|
**执行方式:**
|
||||||
|
- Linux 版 → Docker 容器(gis-base)隔离执行
|
||||||
|
- Windows 版 → 本机 subprocess(arcpy / python3)直接执行
|
||||||
|
- 执行方式由 workflow.yaml 中步骤的 `runtime` 字段决定
|
||||||
**这意味着:**
|
**这意味着:**
|
||||||
- 脚本通过参数接收文件路径,不接收文件内容
|
- 脚本通过参数接收文件路径,不接收文件内容
|
||||||
- 脚本不要假定用户文件在什么目录下——路径是用户传的
|
- 脚本不要假定用户文件在什么目录下——路径是用户传的
|
||||||
@@ -41,9 +46,9 @@ curl -s 'https://suites.mercator.cn/api/v1/suites' | python3 -m json.tool
|
|||||||
- 不复用能找到的现成 Suite 就自己写 → 说明你没查市场
|
- 不复用能找到的现成 Suite 就自己写 → 说明你没查市场
|
||||||
- **分类即契约** — 脚本的数据类型和套件的业务类型尽量使用系统中已有的分类。现有分类涵盖不了时才新增,不打"近义标签"不创"同义分类"
|
- **分类即契约** — 脚本的数据类型和套件的业务类型尽量使用系统中已有的分类。现有分类涵盖不了时才新增,不打"近义标签"不创"同义分类"
|
||||||
- **参数描述不留空** — 用户要知道他们该提供什么文件、什么值
|
- **参数描述不留空** — 用户要知道他们该提供什么文件、什么值
|
||||||
- **不使用平台不保证的依赖**(所有依赖必须在 gis-base 镜像中)
|
- **不使用平台不保证的依赖**(Linux Docker 模式所有依赖必须在 gis-base 镜像中;Windows 模式依赖用户本地环境)
|
||||||
- **输出必须写入 `output_path` 参数指定的路径**,不写死 `/tmp/output/`
|
- **输出必须写入 `output_path` 参数指定的路径**,不写死 `/tmp/output/`
|
||||||
- 执行结果必须有明确的 stdout JSON 输出
|
- 执行结果必须有明确的 stdout JSON 输出
|
||||||
## 与平台的关系
|
## 与平台的关系
|
||||||
平台对你来说就是一个工具箱和一个超市。工具箱帮你运行,超市让你挑现成的 Suite。
|
平台对你来说就是一个工具箱和一个超市。工具箱帮你运行(Linux Docker / Windows subprocess 两种模式),超市让你挑现成的 Suite。
|
||||||
有问题先查自己的套件,不用怀疑平台内部。
|
有问题先查自己的套件,不用怀疑平台内部。
|
||||||
Reference in New Issue
Block a user