Install
openclaw skills install @huaweicloudskill/huawei-cloud-voucher-assistantInvoke this skill when a user is purchasing a Huawei Cloud (华为云) service and wants to know what coupons (代金券), discounts, or savings options are available. Reads the account's coupons via AK/SK and presents applicable voucher deductions; when the balance is insufficient, recommends lower-spec alternatives or voucher+cash combos. Triggers include: "购买云服务", "下单", "选购", "买一台", "续费", "有什么优惠", "优惠方案", "代金券", "优惠券", "折扣", "代金券余额", "抵扣", "省钱", "代金券适不适用", "能抵多少", "够不够抵", "代金券怎么用", "任务列表", "成长中心任务", "推荐任务", "任务推荐", "buy Huawei Cloud", "coupon", "discount", "voucher balance", "purchase ECS/OBS/RDS".
openclaw skills install @huaweicloudskill/huawei-cloud-voucher-assistant[!IMPORTANT] 本 Skill 是华为云「代金券」的购买优惠咨询助手。用户在购买华为云服务、想了解有哪些优惠时,本 Skill 通过已授权的华为云账号权限(AK/SK)读取代金券余额与明细,给出可抵扣方案;余额不足时推荐低规格替代与「代金券+现金」组合。它不直接下单购买(下单由对应服务 Skill 负责),也不查询账单/用量明细(那是
huawei-cloud-billing-scout的职责)。
华为云代金券助手:用户在购买华为云服务、想了解优惠时,读取「代金券」余额与明细,给出可抵扣金额;余额不足时推荐低规格与组合付款方案。
本 Skill 的定位是购买时的优惠方案咨询:
python 或 python3 在 PATH 中),纯标准库,零第三方依赖bss.myhuaweicloud.com(BSS)+ devdata.huaweicloud.com(成长中心 fwdo 任务列表)HW_ACCESS_KEY/HW_SECRET_KEY 或 HUAWEICLOUD_SDK_AK/HUAWEICLOUD_SDK_SKskill-quality-cli — ensured by bash scripts/ensure_cli.sh (idempotent, skips if present)
skill-quality-cli upgrade manually (no auto-upgrade)SKILL_QUALITY_REPORT=0All
hcloudcommands in this skill are wrapped withskill-quality-cli runfor telemetry. No manual action required.
双数据源,自动选择:
- BSS 开放 API(AK/SK 签名):已有代金券账户余额/明细。
- 成长中心前端 API(fwdo 匿名):公开任务列表(零配置,无需 Cookie/CSRF/appcode)。 底层客户端:
scripts/data/bss_client.py(BSS)、scripts/data/hdcommunity_client.py(fwdo)。
数据读取通过可替换 Adapter 实现,统一接口定义在 scripts/data/。
coupon_api.py get_adapter() —— 有 AK/SK → BSS;否则 → None。growth_api.py get_adapter() —— fwdo 匿名,始终可用。| Adapter | 职责 | 认证 | 状态 |
|---|---|---|---|
coupon_api.py BssCouponAdapter | 已有代金券账户余额/明细 | AK/SK + X-Domain-Id(SDK-HMAC-SHA256 签名) | ✅ 已接入 |
growth_api.py HdgrowthWebAdapter | 成长中心公开任务列表 | 无(fwdo 匿名) | ✅ 已接入 |
配置(环境变量):
| 环境变量 | 说明 | 必填 |
|---|---|---|
HW_ACCESS_KEY / HW_SECRET_KEY | 华为云 AK/SK(BSS 代金券查询) | 否 |
HUAWEICLOUD_SDK_AK / HUAWEICLOUD_SDK_SK | 同上(备选环境变量名) | 否 |
HW_DOMAIN_ID | 租户 ID(BSS 全局服务需 X-Domain-Id 头参与签名) | 否 |
HDGROW_WEB_BASE | 成长中心 web 域名,默认 https://devdata.huaweicloud.com | 否 |
BSS 代金券查询(
GET /v2/promotions/benefits/coupons)用 SDK-HMAC-SHA256 签名 + X-Domain-Id 头,AK/SK 从环境变量读取。 代金券抵扣需 BSS 订单系统(订单创建时指定 coupon_id)。 代金券适用服务列表由本地知识库 references/voucher-taxonomy.md 提供。 fwdo 匿名任务列表仅含公开字段(不含个人完成状态);积分余额需 fwdu 登录态,本 skill 不提供。
scripts/analyzer.py(分析层)与上表解耦,仅依赖结构化输入,可离线运行与单测。
主入口 scripts/voucher_assistant.py 按 action 分发,action 命名遵循 huawei_<service>_<action>(snake_case)。
python scripts/voucher_assistant.py list_vouchers
python scripts/voucher_assistant.py list_tasks
python scripts/voucher_assistant.py recommend_tasks
python scripts/voucher_assistant.py list_voucher_applicable_services
python scripts/voucher_assistant.py analyze_voucher_coverage --balance 100 --price 80
python scripts/voucher_assistant.py recommend_discount_plan --balance 50 --price 80 --alt "ecs:c7.large.2:40"
python scripts/voucher_assistant.py apply_voucher --order-ref <ref> --amount <amt> --confirm
管理类 action 在未接入数据源或未带
--confirm时,只输出预览方案,不执行任何真实变更。
| Action | 分级 | 说明 |
|---|---|---|
huawei_list_vouchers | R3 | 代金券余额 + 明细(面额/有效期/状态) |
huawei_list_tasks | R3 | 成长中心公开任务列表(fwdo 匿名,零配置,含周期类型) |
huawei_recommend_tasks | R3 | 根据任务列表按积分收益推荐值得优先做的任务 |
huawei_list_voucher_applicable_services | R3 | 代金券适用云服务 + 抵扣规则 |
huawei_analyze_voucher_coverage | R3 | 判断余额是否够买目标服务(充足/部分/不足) |
huawei_recommend_discount_plan | R3 | 余额不足时推荐低规格 / 组合付款方案 |
huawei_apply_voucher | R2 | 购买时代金券抵用(预览 + 确认,需 BSS 订单系统) |
购买华为云服务时 → 主动提醒 + 抵扣闭环
┌─────────────────────────────────────────────────────┐
│ 读取代金券余额 (list_vouchers) │
│ ├─ 有可用代金券 → 计算覆盖 → 提醒抵扣 → apply_voucher │
│ │ ⚠️ 需 BSS/订单 │
│ └─ 余额不足 → ① 推荐低规格 ② 现金组合 │
│ (recommend_discount_plan) │
└─────────────────────────────────────────────────────┘
| Parameter | Required | Description |
|---|---|---|
action | ✅ | 上述 action 名(不含 huawei_ 前缀) |
--balance | 分析类 | 代金券余额(analyze_voucher_coverage/recommend_discount_plan,数据源未接入时手动传入) |
--price | 分析类 | 目标价格(同上两个分析类 action,必填) |
--alt | 分析类 | 低规格替代 service:spec:price,可多次(recommend_discount_plan) |
--order-ref | 抵扣类 | 订单/购买引用(apply_voucher) |
--amount | 抵扣类 | 抵扣金额 |
--confirm | 管理类 | 显式确认才执行抵扣,缺省仅预览 |
--top-n | 推荐类 | 推荐任务返回数量(recommend_tasks,默认 5) |
| Document | Description |
|---|---|
| references/voucher-taxonomy.md | 代金券规则/适用服务/抵扣规则知识库(本地离线) |
| references/acceptance-criteria.md | 验收标准 |
| references/iam-policies.md | IAM 权限说明 |
| references/verification-method.md | 验证方法 |
--confirm),且金额需二次校验、不得超余额。references/voucher-taxonomy.md 本地知识库提供(BSS 不直接提供该字段)。