Install
openclaw skills install @huaweicloudskill/huawei-cloud-activity-submit直连华为云开放能力线上闯关挑战(activity_code=open-capability-2026-1024)的 Agent 提交接口(POST {base}/submit-activity-work),用 AK/SK 请求头(X-HW-AK / X-HW-SK / X-HW-Security-Token)把活动生成的作品链接/公网地址自动提交到“沙箱部署”(milestone=beginner)与“ECS 持久化部署”(milestone=intermediate)两步,并在成功后回报预计可得积分(以成长体系实际发放为准,仅发放一次);沙箱部署(beginner)完成后始终询问用户是否(可选)将作品发布到开发者作品展览馆的闯关活动;若此时未发布则在 ECS(intermediate)完成后再询问一次,若已发布则 ECS 阶段不再询问(npx skills add ... publish-work-to-gallery)。Use when the user asks to 提交作品、提交闯关成果、自动提交活动成果、提交沙箱链接/公网地址, or when a generated sandbox URL needs to be submitted for the 华为云开放能力闯关挑战。本 skill 固定使用生产环境(现网)接口,无需也不要切换环境。仅用于调用接口,不涉及任何页面/浏览器操作.
openclaw skills install @huaweicloudskill/huawei-cloud-activity-submit让 Agent 直接调用活动 Agent 提交接口(AK/SK 鉴权)完成成果提交(不做任何页面/浏览器操作),提交成功后向用户提示预计可得的对应步骤积分。
本 Skill 让 Agent 直接调用华为云"开放能力闯关挑战"(activity_code = open-capability-2026-1024)的 Agent 提交接口(AK/SK 鉴权),将活动生成的作品链接自动提交到对应步骤,并在成功后回报预计可得的积分。
核心特点:
beginner(沙箱部署,100 分)与 intermediate(ECS 持久化部署,400 分),两步相互独立、无强制先后。X-HW-AK / X-HW-SK / X-HW-Security-Token 认证,不依赖 hcloud CLI。beginner 与 intermediate 提交时均携带 X-HW-PROJECT-ID / X-HW-REGION。submit.mjs(Node ≥ 18,无外部依赖),不使用 KooCLI。activity_code = open-capability-2026-1024。| 项 | 值 |
|---|---|
| 基地址(生产,固定) | https://open-dataset.huaweicloud.com/api/v1/hdopenservice/agent |
| 提交 | POST {base}/submit-activity-work |
前端页面走
/user/...(SSO 登录会话);Agent 走/agent/...(AK/SK 请求头),两者请求体与响应一致。本 skill 固定使用生产环境基地址,不切换环境。
鉴权(AK/SK 请求头):
X-HW-AK(必填):华为云 Access KeyX-HW-SK(必填):华为云 Secret KeyX-HW-Security-Token(可选):使用 STS 临时凭证时必填附加请求头(两步均需):
X-HW-PROJECT-ID:Project IDX-HW-REGION:region(如 cn-north-4)凭证优先级:命令行参数 > 环境变量(
HW_ACCESS_KEY/HW_SECRET_KEY/HW_SECURITY_TOKEN,兼容HUAWEICLOUD_SDK_AK/HUAWEICLOUD_SDK_SK/HUAWEICLOUD_SDK_SECURITY_TOKEN、HW_AK/HW_SK)。切勿把凭证写入仓库。
提交请求体(Content-Type: application/json,与 /user/submit-activity-work 一致):
{
"activity_code": "open-capability-2026-1024",
"milestone": "beginner | intermediate",
"work_link": "https://xxx.devbridge-s2.hwtunnel.com",
"api_link": "http://<ECS_EIP>/hc-activity/index.html",
"summary": "作品说明(可选,≤500 字)"
}
按步骤取字段:
beginner(沙箱部署):只传 work_link(沙箱站点链接)intermediate(ECS 持久化部署):只传 api_link(ECS 公网访问地址,需含 index.html,如 http://<EIP>/hc-activity/index.html)响应:{ "code": "success", "message": "..." };code === "success" 即提交成功。
两步相互独立、无强制先后:beginner(沙箱部署)与 intermediate(ECS 持久化部署)可分别单独提交,不要求先沙箱后 ECS。
字段/取值对应(重要):后端
milestone取值沿用旧版beginner/intermediate(页面文案已改名为“沙箱部署 / ECS 持久化部署”);旧advanced步骤已取消,不存在。
页面步骤 milestone取值提交字段 沙箱部署 beginnerwork_linkECS 持久化部署 intermediateapi_link
--milestone同时接受别名:sandbox→beginner、ecs→intermediate(脚本自动归一化)。
沙箱域名正则(同前端 SANDBOX_RE):^https:\/\/[^/]*devbridge-s2\.hwtunnel\.com(\/|$)
| 步骤 | milestone | 需提交 | 校验 | 成功后积分 |
|---|---|---|---|---|
| 沙箱部署 | beginner | 沙箱站点链接(work_link) | 沙箱域名(另需 Project ID / region 请求头) | 100 分(¥10) |
| ECS 持久化部署 | intermediate | 公网访问地址(api_link) | http(s):// 开头且含 index.html(如 http://<EIP>/hc-activity/index.html) | 400 分(¥40) |
https://xxx.devbridge-s2.hwtunnel.com,部署后先 curl -sI <URL> 验证 200);ECS 步骤用 ECS 公网 HTML 地址(http://<EIP>/)。beginner,ECS→intermediate),一次提交一个步骤。http(s):// 前缀与 index.html、说明 ≤500 字);不通过时会打印原因,修正后再提交。submit.mjs(见下)。参数与步骤字段对应(两步均需 --project-id 与 --region;本 skill 固定使用生产环境接口)。message(如 里程碑参数不合法、当前里程碑需提交接口地址、作品链接无效、缺少请求头 X-HW-AK)。beginner(沙箱部署)提交成功后始终询问用户是否将作品发布到开发者作品展览馆的闯关活动(脚本在此时把发布状态重置为 false);若用户未发布,则在 intermediate(ECS 持久化部署)提交成功后再询问一次;若沙箱阶段已发布(galleryPublished=true)则 ECS 阶段不再询问。发布成功后运行 node submit.mjs --gallery-published 记录状态。intermediate(ECS 持久化部署)提交成功后,必须用 question 工具询问用户是否清理本次活动创建的按量付费资源(选项:全部清理 / 仅删 ECS / 暂不清理),按用户选择执行或跳过;脚本也会在成功输出中打印清理提醒。脚本位于本 skill 目录:submit.mjs(纯 Node,Node ≥ 18,无需额外依赖)。
# 1) 沙箱部署:提交沙箱域名 URL(milestone=beginner;两步均需带 Project ID / region)
node submit.mjs --milestone beginner \
--work-link https://abcd1234-3000.devbridge-s2.hwtunnel.com \
--project-id <PROJECT_ID> --region cn-north-4 \
--summary "2048 单文件小游戏"
# 2) ECS 持久化部署:提交公网访问地址(milestone=intermediate;链接需含 index.html;带 Project ID / region)
node submit.mjs --milestone intermediate \
--api-link http://<ECS_EIP>/hc-activity/index.html \
--project-id <PROJECT_ID> --region cn-north-4
凭证可通过命令行参数或环境变量提供:
# PowerShell
$env:HW_ACCESS_KEY = "<AK>"
$env:HW_SECRET_KEY = "<SK>"
$env:HW_SECURITY_TOKEN = "<使用 STS 临时凭证时填写>" # 可选
# 或直接:node submit.mjs --ak <AK> --sk <SK> [--security-token <token>]
成功输出示例(实际为多行 JSON):
{
"ok": true,
"milestone": "intermediate",
"label": "ECS 持久化部署",
"points": 400,
"message": "...",
"ecsSubmitted": true
}
提交成功。预计可得ECS 持久化部署对应积分 400 分。
注意:积分以华为云成长体系实际发放为准;同一活动积分仅可获得一次,重复提交不再加分。
询问时机:
beginner(沙箱部署)提交成功后始终询问用户是否发布到作品展览馆(脚本在此时把 galleryPublished 重置为 false);node submit.mjs --gallery-published,即 galleryPublished=true)→ intermediate(ECS 持久化部署)阶段不再询问;intermediate(ECS)提交成功后再询问一次。是否发布由用户决定——同意才发布,拒绝则跳过、不勉强。发布成功后运行 node submit.mjs --gallery-published 记录状态。
默认直接提交到此活动:作品默认提交到作品展览馆的「闯关活动」,跳过训练营选择,不再让用户挑营地。
- 活动名:
闯关活动trainingCampId:47d6ba99-fca0-4797-947d-a8776f506df1
question 工具):是否将作品提交到开发者作品展览馆的闯关活动展示?(用户可选,明确同意才继续;不同意就结束,不要勉强)npx skills add https://gitcode.com/Lingxi-HandsOn/gallery.git --skill publish-work-to-gallery -y 2>&1
publish-work-to-gallery skill;随后按该 skill 的指引,收集并将用户本地做闯关任务产生的代码(前端、后端等项目的实际目录)推送至开发者作品展览馆的闯关活动。发布时默认使用 trainingCampId=47d6ba99-fca0-4797-947d-a8776f506df1(闯关活动),无需再选择训练营。代码目录名不固定,以用户本次实际生成/使用的目录为准,不要假定某个固定仓库名。注意事项:
beginner(沙箱部署)提交成功后始终询问;若用户未发布,则 intermediate(ECS 持久化部署)提交成功后再询问一次;沙箱阶段已发布(galleryPublished=true)则 ECS 阶段不再询问(与操作步骤第 6 步、上方「询问时机」一致)。npx skills add 需要联网/安装,失败时如实反馈错误并让用户决定是否重试。submit.mjs 使用原生 fetch(),需 Node 18 或以上版本。HW_ACCESS_KEY / HW_SECRET_KEY / HW_SECURITY_TOKEN,兼容 HUAWEICLOUD_SDK_AK / HUAWEICLOUD_SDK_SK / HW_AK / HW_SK)。beginner 与 intermediate 提交均需提供 --project-id 和 --region(或环境变量 HW_PROJECT_ID / HW_REGION,或 hcloud 配置)。https://open-dataset.huaweicloud.com)。beginner):需已部署的沙箱域名(https://xxx.devbridge-s2.hwtunnel.com 格式)。intermediate):需 ECS 公网访问地址(含 index.html,如 http://<EIP>/hc-activity/index.html)。--cli-region 参数。--env / --base 等环境参数会被忽略(不报错、无效果),不会切到其它环境。beginner 与 intermediate 提交时均需携带 X-HW-PROJECT-ID(Project ID)与 X-HW-REGION(region);脚本通过 --project-id/--region(或环境变量 HW_PROJECT_ID/HW_REGION,或 hcloud 配置)取值,缺失会报错。后端已对两步均强制校验 X-HW-PROJECT-ID/X-HW-REGION;此前仅 ECS 要求,遵循旧提示词/旧安装的 Agent 提交沙箱步骤时需补传 --project-id/--region,否则会被“缺少 Project ID”拦截。beginner 步骤的链接必须是 https://xxx.devbridge-s2.hwtunnel.com 形式的沙箱域名;intermediate 步骤提交的公网地址必须 http(s):// 开头(如 http://<EIP>/hc-activity/index.html),缺 index.html 时脚本会自动补全。X-HW-SK 以请求头明文传递是活动 API 自身设计(/agent/* 接口要求 AK/SK 头),依赖 HTTPS 传输加密;请勿将 SK 写入仓库、日志或对外分享。