度小满支付钱包 Skill:在用户余额不足或未购买 SP 服务时,根据结构化商品数据生成支付链接和二维码。提供 Skill 安装功能,用户可通过“使用度小满安装 skill”等指令触发 installSkill 流程。
本 Skill 负责处理所有 SP 服务的 余额不足 / 未购买 场景,统一完成二维码生成和引导话术。
脚本路径(支付二维码): scripts/qrcode.js 脚本路径(Skill 下载安装): scripts/clawpay-cli.js
运行时依赖:本 Skill 通过 shell 调用
node scripts/qrcode.js,需要宿主环境已安装 Node.js(建议 v18+)。若环境不支持 node 进程,需改为以模块方式集成 qrcode 逻辑。
当任意 SP 服务调用返回以下情况时,由调用方 Skill 转交本 Skill 处理:
error: "FORBIDDEN"detail 字段包含"未购买"本 Skill 也可被用户直接触发:「查看充值套餐」「我要充值」「怎么付款」
用户直接触发安装 Skill 时:「安装skill」「下载skill」「install skill」「我要安装某个skill」→ 进入 installSkill 流程
若用户未提供 skill_id,询问用户:「请提供要安装的 Skill ID:」
每次执行前必须先运行:
bash
node scripts/clawpay-cli.js userConfig
"action": "exists" → 配置已存在,直接进入第二步"action": "created" → 已配置,继续第二步bash
node scripts/clawpay-cli.js downloadSkill --skill-id <skill_id>
成功( success: true):
未支付( "ret":403,"msg":"用户尚未支付"):
从返回的 content.data 字段中提取以下字段,直接构造结构化 JSON 调用本 Skill 的支付二维码流程:
download 返回字段映射到输入参数name``productName``service_content``productDesc``download_fee``price``url``payUrl``pay_channels``pay_channels
其他错误:告知用户错误信息
调用本 Skill 时,调用方需提供 结构化 JSON 对象,字段如下:
参数类型必填说明示例productNamestring✅商品名称"天气查询服务-月度套餐"``productDescstring✅商品描述"每月 1000 次调用额度"``pricestring✅价格(含单位)"9.90元"``payUrlstring✅支付链接"https://www.xx.com/..."``pay_channelsstring[]✅支持的支付方式["wechat", "alipay"]
调用方职责:调用方 Skill 负责调用自身 CLI 脚本、提取以上字段,并以 JSON 对象形式传给本 Skill。本 Skill 不执行任何外部命令。
每次执行前必须先运行:
bash
node scripts/clawpay-cli.js userConfig
"action": "exists" → 配置已存在,直接进入第二步"action": "created" → 已自动生成 EC/secp256r1 密钥并保存到 ${CLAUDE_SKILL_DIR}/clawpay.json,继续第二步收到调用方传入的 JSON 对象后,校验必填字段是否完整:
payUrl 必须以 https:// 开头,否则拒绝处理并提示调用方使用 payUrl 字段生成二维码图片(写入系统临时目录):
bash
node scripts/qrcode.js --short-url --out-dir /tmp "<payUrl>" 2>&1
安全约束:
- 临时目录下的二维码图片由系统负责清理(进程重启或系统清理后自动回收),如有更严格的清理策略请手动删除
pay_channels 组织提示文案(wechat:微信,alipay:支付宝)告知用户当 sp-service-weather 遇到 error: "FORBIDDEN" 或 detail 包含"未购买"时, 在自身 Skill 内完成以下步骤,再将结果转交本 Skill:
第一步:在 sp-service-weather 内执行 CLI 查询商品详情
bash
node scripts/<xxx>-cli.js queryPurchaseDetail
第二步:从返回的 data 中提取字段,构造结构化 JSON
第三步:调用 dxm-claw-pay Skill,传入上述 JSON,由本 Skill 执行后续所有操作
text
当返回 error: "FORBIDDEN" 或 detail 包含"未购买"时:
1. 执行: node scripts/<xxx>-cli.js queryPurchaseDetail
2. 从返回的 data 提取 productName / productDesc / price / payUrl / pay_channels
3. 调用 dxm-claw-pay Skill,传入结构化 JSON
→ 后续二维码生成、话术引导均由 dxm-claw-pay 完成
✅ 本 Skill 只处理经过调用方审计的结构化 JSON 数据,不执行任何传入的 shell 命令。
现象处理二维码图片发送失败检查 fp 路径是否有效;确认 qrcode.js 正常执行payUrl 为空或非 httpsqueryPurchaseDetail 返回异常,或 payUrl 未通过校验,告知用户联系客服临时文件清理二维码图片写入系统 tmpdir,进程重启或系统清理后自动回收