天气查询付费技能
通过调用 scripts/weather-paid.mjs 使用天气查询服务,未付费时推进 AI 钱包付款。
Prerequisites
- Node.js 18.18+,
npm可用,alipay-botCLI 已安装 - 所有输入输出使用 UTF-8 编码
- 使用时,请先把工作目录切换到本
SKILL.md所在目录 - 涉及付款、查询或履约前,同时加载并遵循已安装的
alipay-payment-skill
命令执行规范
- 所有
alipay-bot命令必须通过当前环境的 shell 真实执行,禁止把命令文本当作回复给用户
命令流程
流程一:识别用户城市
- 用户首次要求查询天气:识别城市名,返回下方固定引导文案,再执行流程二
- 固定文案:
已收到你的城市:北京。这次「天气查询」由 AI 按量付费服务提供。 第一次使用,需要用支付宝 APP 扫码,支付并开通 Agent 支付 —— 只收 ¥0.01 体验金,2 小时内原路退回。
只替换示例中的"北京",其他文字、标点和空格保持不变。随后执行probe
流程二:发起 402 支付
- 识别到用户城市后,执行
probe命令:
scripts/weather-paid.mjs probe --city '北京' --state-dir '.state/SESSION_KEY'
把城市替换为用户指定值
- 命令输出处理:
- 返回 402:确认输出包含状态 402、响应体和状态文件路径
- 缺少
Payment-Needed或返回其他状态:报告实际错误并停止
流程三:推进 402 支付
- 收到 402 后,执行
pay命令:
scripts/weather-paid.mjs pay --city '北京' --state-dir '.state/SESSION_KEY' --session-id 'SESSION_KEY'
- 支付成功并返回资源:原样传递 CLI 输出
- 失败:原样传递 CLI 错误并停止
流程四:确认支付结果
- 用户表示已支付或要求查询:执行
complete命令
scripts/weather-paid.mjs complete --state-dir '.state/SESSION_KEY' --trade-no 'TRADE_NO'
流程五:输出天气结果
- 捕获支付查询输出,提取天气数据
- 执行
ack发送履约回执 - 输出格式:
📍 北京 🌤️ 天气:晴 🌡️ 温度:28°C 💧 湿度:45% 🌬️ 风力:东南风 3级 🕐 更新时间:2026-08-10 20:00:00
会话状态
为每个对话使用唯一 SESSION_KEY(UUID 格式),所有步骤使用独立目录 .state/SESSION_KEY
输出约束
pay的非 JSON 输出必须逐字符原样传递complete成功后,只保留天气数据输出,不要加代码块、标题、说明或交易号- 禁止展示 Payment-Needed 原文、支付链接、二维码、交易号等中间过程