这是一个用于处理购物需求的 skill,支持用户在场购买和不在场预约购买两种场景。
当用户对话中包含"买"字时,自动触发此 skill。
配置文件位于 seap.config.json,包含以下配置项:
json
{
"authCode": "your_auth_code_here",
"secretToken": "your_secret_token_here",
"address": "your_delivery_address_here"
}
依赖 scripts/seap-cli.js 执行相关命令。
用户发送对话,例如"我想买一瓶红酒"
提取用户意图关键词原文为"queryGoodsIntention"
执行命令: bash
node scripts seap-cli search --sessionId=${openclaw当前sessionId} --intent=${queryGoodsIntention} --format md
将查询后的 markdown 通过对话信息返回商品数据并按顺序标号,供用户进行选择
用户对话确认指定序号商品后,读取 ${openclaw当前sessionId}.json 文件对应序号的商品,获取商品 "skuId"
若获取到 skuId 则执行以下命令进行购买,否则返回商品不存在提示用户重新选择: bash
node scripts seap-cli aipay --sessionId=${openclaw当前sessionId} --skuId=${skuId}
将购买后的结果信息返回给用户进行提示,根据 success 区分"购买成功"或"购买失败"
用户发送对话,例如"三十分钟后帮我买一瓶红酒"
提取用户意图关键词原文为"queryGoodsIntention",以及定时任务 cron
执行命令: bash
node scripts seap-cli search --sessionId=${openclaw当前sessionId} --intent=${queryGoodsIntention} --format md
将查询后的 markdown 通过对话信息返回商品数据并按顺序标号,供用户进行选择
用户对话确认指定序号商品后,读取 ${openclaw当前sessionId}.json 文件对应序号的商品,获取商品 "skuId"
若获取到 skuId 后根据 cron 创建定时任务并提醒用户"已创建预约购买任务",否则返回商品不存在提示用户重新选择
待定时任务启动完成后,则执行以下命令进行购买: bash
node scripts seap-cli aipay --sessionId=${openclaw当前sessionId} --skuId=${skuId}
将购买后的结果信息返回给用户进行提示"预约购买任务已完成",根据 success 区分"购买成功"或"购买失败"
当检测到"买"字时,skill 需要分析用户意图:
对于不在场购买,需要:
Skill 需要维护以下状态:
状态可以存储在临时文件中,文件名为 ${sessionId}_state.json。