Install
openclaw skills install alibabacloud-ehpc-instant-job-skill阿里云E-HPC Instant计算平台作业管理工具包,支持E-HPC Instant(EHPC Instant/ehpcinstant)作业的创建/提交、查询、获取详情、查询日志、删除等操作。当用户需要创建作业、查询作业列表、获取作业详情、删除作业、查询作业日志时使用。
openclaw skills install alibabacloud-ehpc-instant-job-skill通过阿里云CLI(优先)或SDK工具,实现对E-HPC Instant计算平台作业及计算资源的全生命周期管理。
[MUST] 必须首先尝试读取
./jobconfig/pre-config.json文件,严禁跳过此检查步骤。
- 文件存在且读取成功:加载其中的参数值,向用户提示预配置已加载并展示关键参数摘要,然后进入 Step 2。
- 文件不存在:向用户提示未检测到预配置文件,将在 Step 2 中通过交互方式获取必要参数,然后进入 Step 2。
- 文件存在但读取/解析失败(如 JSON 格式错误、权限不足等):向用户报告具体错误信息,询问是否继续(跳过预配置进入 Step 2)或中止执行。
aliyun version 验证版本 >= 3.3.3。若未安装或版本过低,参考 references/aliyun-cli.md 中的安装说明进行安装或更新。aliyun configure set --auto-plugin-install true 启用自动插件安装。aliyun plugin update 确保已安装插件始终为最新版本。aliyun CLI 命令调用必须包含:--user-agent AlibabaCloud-Agent-Skills/alibabacloud-ehpc-instant-job-skillaliyun configure ai-mode enable aliyun configure ai-mode set-user-agent --user-agent "AlibabaCloud-Agent-Skills/alibabacloud-ehpc-instant-job-skill" aliyun plugin update阿里云CLI提供了AI模式。启用后,CLI会自动附加AI身份信息,使服务端能够识别并优化Agent调用链路。 [MUST] 在每个退出点禁用AI模式 — 在因任何原因交付最终响应之前,务必先禁用AI模式。这适用于所有退出路径:工作流成功、工作流失败、错误/异常、用户取消、会话结束,或任何不再执行CLI命令的场景。 AI模式仅用于Agent Skill调用场景,技能停止运行后必须保持禁用状态。
aliyun configure ai-mode disable
cn-shanghai根据用户需求执行相应的作业管理操作
aliyun ehpcinstant CreateJob \
--region cn-shanghai \
--JobName 'container-job' \
--Tasks '[{
"TaskSpec": {
"TaskExecutor": [{
"Container": {
"Image": "registry.cn-shanghai.aliyuncs.com/registry/image:tag",
"Command": "[\"/bin/sh\", \"-c\", \"python /app/main.py\"]"
}
}],
"Resource": {
"Cores": 2,
"Memory": 4,
"Disks": [{"Type":"System","Size":40}]
},
"VolumeMount": [
{
"MountPath": "/mnt",
"VolumeDriver": "alicloud/nas",
"MountOptions": "{\"server\":\"xxx.cn-shanghai.nas.aliyuncs.com\",\"vers\":\"3\",\"path\":\"/\",\"options\":\"nolock,tcp,noresvport\"}"
}
],
},
"ExecutorPolicy": {"MaxCount": 1}
}]' \
--DeploymentPolicy '{"Network":{"Vswitch":["vsw-xxxx"]},"AllocationSpec":"Standard"}' \
--user-agent AlibabaCloud-Agent-Skills/alibabacloud-ehpc-instant-job-skill
aliyun ehpcinstant CreateJob \
--region cn-shanghai \
--JobName 'longrunning-job' \
--JobDescription 'Long-running VM job' \
--Tasks '[{
"TaskSpec": {
"TaskExecutor": [{
"VM": {
"Image": "m-xxxx",
"Script": "base64_encoded_script"
}
}],
"Resource": {
"Disks": [{"Type":"System","Size":50}],
"InstanceTypes": ["ecs.c6.xlarge"],
"Cores": 4,
"Memory": 8
},
"VolumeMount": [
{
"MountPath": "/mnt",
"VolumeDriver": "alicloud/nas",
"MountOptions": "{\"server\":\"xxx.cn-shanghai.nas.aliyuncs.com\",\"vers\":\"3\",\"path\":\"/\",\"options\":\"nolock,tcp,noresvport\"}"
}
],
},
"ExecutorPolicy": {"MaxCount": 1}
}]' \
--DeploymentPolicy '{"Network":{"Vswitch":["vsw-xxxx"]},"AllocationSpec":"Standard"}' \
--user-agent AlibabaCloud-Agent-Skills/alibabacloud-ehpc-instant-job-skill
# 基本列表查询
aliyun ehpcinstant ListJobs --region cn-shanghai \
--user-agent AlibabaCloud-Agent-Skills/alibabacloud-ehpc-instant-job-skill
# 分页查询(推荐用于大量作业)
aliyun ehpcinstant ListJobs --region cn-shanghai --PageSize 10 --PageNumber 1 \
--user-agent AlibabaCloud-Agent-Skills/alibabacloud-ehpc-instant-job-skill
# 条件过滤(按状态、时间等)
aliyun ehpcinstant ListJobs --region cn-shanghai --Filter '{"Status":"Running"}' \
--user-agent AlibabaCloud-Agent-Skills/alibabacloud-ehpc-instant-job-skill
aliyun ehpcinstant GetJob --region cn-shanghai --JobId 'job-xxxx' \
--user-agent AlibabaCloud-Agent-Skills/alibabacloud-ehpc-instant-job-skill
aliyun ehpcinstant DescribeJobResults --region cn-shanghai --JobId 'job-sh145rw47pegztzdpu7s' --TaskName Task0 --ArrayIndex 0 \
--user-agent AlibabaCloud-Agent-Skills/alibabacloud-ehpc-instant-job-skill
# 删除单个作业
aliyun ehpcinstant DeleteJobs --region cn-shanghai --JobSpec '[{"JobId":"job-xxxx"}]' \
--user-agent AlibabaCloud-Agent-Skills/alibabacloud-ehpc-instant-job-skill
# 批量删除(安全方式)
aliyun ehpcinstant DeleteJobs --region cn-shanghai --JobSpec '[{"JobId":"job-xxxx"},{"JobId":"job-yyyy"}]' \
--user-agent AlibabaCloud-Agent-Skills/alibabacloud-ehpc-instant-job-skill
[MUST] 幂等删除原则 — 当用户请求删除作业时,即使通过 GetJob 或 ListJobs 查询确认作业已不存在,Agent 仍必须调用 DeleteJobs API 并传入对应 JobId。DeleteJobs API 具备幂等性:作业存在时执行删除,作业不存在时返回标准 NotFound 响应。严禁 Agent 以"作业已不存在"为由自行跳过 API 调用 — 必须让服务端确认最终状态。
路径:/home/admin/.openclaw/workspace/skills/ehpcinstant-job-skill/scripts/
CLI脚本:
create_container_job.sh - 创建容器作业create_vm_job_batch.sh - 创建VM作业create_vm_job_longrunning.sh - 创建长期运行的VM作业list_jobs.sh - 列出作业(支持分页)get_job.sh - 获取作业详情delete_jobs.sh - 删除作业SDK脚本:
scripts/sdk/目录create_container_job.py - 创建容器作业create_vm_job_batch.py - 创建VM作业create_vm_job_longrunning.py - 创建长期运行的VM作业list_jobs.py - 列出作业(支持分页)get_job.py - 获取作业详情delete_jobs.py - 删除作业aliyun ehpcinstant命令,不是aliyun ehpc!| 问题 | 根本原因 | 解决方案 |
|---|---|---|
| InvalidCommand错误 | Command参数格式不正确 | 使用正确的JSON数组格式:["/bin/sh", "-c", "command"] |
| 认证失败 | AccessKey配置错误或权限不足 | 检查~/.aliyun/config.json配置,确保具备E-HPC Instant权限 |
| 镜像不存在 | 镜像ID错误或区域不匹配 | 确认镜像ID正确且在相同区域,参考references/instant-image.md |
| 网络配置错误 | VSwitch ID错误或不可用 | 检查VSwitch ID和安全组配置,参考references/vswitch.md |
| 资源配额不足 | 账户配额限制 | 联系阿里云增加配额,或调整资源配置 |
| 命令执行失败 | 容器内命令路径错误 | 确保命令在镜像环境中可执行,使用绝对路径 |
命名规范:
应用-算例-时间戳(如:prod-training-20260411)资源配置优化:
成本控制:
可靠性保障:
安全性增强:
如仍有作业管理执行参数不确定,可参考如下链接:
aliyun ehpcinstant <ApiName> --help| 风险级别 | 操作类型 | Agent行为准则 |
|---|---|---|
| 低风险 | 查询类操作 (list, get, check, describe) | 直接执行,无需额外确认 |
| 中风险 | 配置类操作 (configure, modify, update) | 提示影响范围,获得用户确认后执行 |
| 高风险 | 创建/删除类操作 (create, delete, remove) | 必须完整展示所有配置信息,用户明确确认后执行 |
[MUST] 禁止跳过 API 调用 — Agent 在执行删除等操作时,不得基于查询结果(如 GetJob 返回 NotFound)自行判定"无需操作"而跳过实际的 API 调用。查询与变更之间存在时间窗口,服务端状态可能已变化。Agent 必须始终执行用户请求的目标 API(如 DeleteJobs),由服务端返回权威的最终结果。