seap-shopping

用户在场/不在场购买skill

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "seap-shopping" with this command: npx skills add atomicservice/hi-shopping

SEAP Shopping Skill

这是一个用于处理购物需求的 skill,支持用户在场购买和不在场预约购买两种场景。

触发条件

当用户对话中包含"买"字时,自动触发此 skill。

配置文件

配置文件位于 seap.config.json,包含以下配置项:

{
  "authCode": "your_auth_code_here",
  "addresses": [
    {
      "name": "收货人姓名",
      "phone": "135xxxxxxxx",
      "country": "CN",
      "province": "广东省",
      "city": "深圳市",
      "district": "龙岗区",
      "detail": "详细地址"
    }
  ],
  "autoPush": {
    "enabled": true,
    "channel": "webchat"
  }
}
  • authCode: 用于调用云侧接口传输的凭证
  • addresses: 收货地址列表,支持多个地址,每个地址包含姓名、电话、省市区及详细地址
  • autoPush: 自动推送配置,启用购买结果自动通知

依赖工具

依赖 scripts/seap-cli.js 执行相关命令。技能可在普通环境中运行,无需acpx运行时。

命令行工具

seap-cli.js 主要命令

  • search - 搜索商品
  • aipay - 执行购买(基于确认信息)

工作流程

执行命令进入skill目录

cd ~/.openclaw/workspace/skills/seap-shopping

场景一:用户在场购买

  1. 用户发送对话,例如"我想买一瓶红酒"
  2. 提取用户意图关键词原文为"queryGoodsIntention",当前商品数量为"quantity"
  3. 执行命令:
    node scripts/seap-cli search --sessionId=${openclaw当前sessionId} --intent=${queryGoodsIntention} --format md
    
  4. ⚠️ 重要:将查询后的 markdown 通过对话信息返回所有商品数据并按顺序标号,供用户进行选择
    • 必须显示搜索返回的全部商品,不得限制数量或只显示部分
    • 确保用户能看到所有可选商品
  5. 用户对话确认指定序号商品后,读取 ${openclaw当前sessionId}.json 文件对应序号的商品,获取商品 "skuId",从mercInfo的id字段中获取"mercInfoId"
  6. 地址确认对话
    • 系统自动从 seap.config.json 读取当前收货地址数据结构
    • 通过 OpenClaw 消息功能向用户显示当前地址:"当前收货地址:[地址],是否确认?(回复确认/修改:新地址)"
    • 用户确认地址或提供新地址
    • 如果用户修改地址,解析对应地址格式:'收货人姓名 收货人电话 国家 省份 市 区 详细地址',解析后按对应数据结构更新 seap.config.json 文件
  7. 购买确认
    • 生成确认文件 ${sessionId}_confirmed.json,包含商品和确认后的地址信息
  8. 执行购买命令:
    node scripts/seap-cli aipay --sessionId=${openclaw当前sessionId} --skuId=${skuId} --quantity=${quantity} --mercInfoId=${mercInfoId}
    
  9. 文件清理
    • 购买成功后:自动清理 ${sessionId}_confirmed.json 确认文件
    • 保留 ${sessionId}.json 作为最终购买结果
  10. 将购买后的结果信息返回给用户进行提示,根据 success 区分"购买成功"或"购买失败"

场景二:用户不在场购买

  1. 用户发起预约购买:"三十分钟后帮我买一瓶红酒" 或 "1分钟后帮我买一瓶红酒" 提取用户意图关键词原文为"queryGoodsIntention",当前商品数量为"quantity"

  2. 搜索商品: 执行命令

    node scripts/seap-cli search --sessionId=${sessionId} --intent=${queryGoodsIntention} --format md
    
  3. ⚠️ 重要用户选择商品:将查询后的 markdown 通过对话信息返回所有商品数据并按顺序标号,供用户进行选择

    • 必须显示搜索返回的全部商品,不得限制数量或只显示部分
    • 确保用户能看到所有可选商品
    • 系统显示带序号的商品列表
  4. 用户回复序号(如"1")选择商品,系统读取 ${sessionId}.json 文件获取对应商品信息,获取商品 "skuId",从mercInfo的id字段中获取"mercInfoId"

  5. 地址确认对话

    • 系统自动从 seap.config.json 读取当前收货地址数据结构
    • 通过 OpenClaw 消息功能向用户显示当前地址:"当前收货地址:[地址],是否确认?(回复确认/修改:新地址)"
    • 用户确认地址或提供新地址
    • 如果用户修改地址,解析对应地址格式:'收货人姓名 收货人电话 国家 省份 市 区 详细地址',解析后按对应数据结构更新 seap.config.json 文件
  6. 购买确认

    • 生成确认文件 ${sessionId}_confirmed.json,包含商品和确认后的地址信息
  7. 🔧 购买时间确认

    步骤1:确认购买时间

    系统解析用户原始时间表达式(如"1分钟后") 计算确切的执行时间戳

    步骤2:发送确认消息

    "⏰ 购买时间确认

    您选择的商品:[商品名称] 预计购买时间:[时间表达式] (约[具体时间])

    请确认是否继续预约购买:

    • 确认预约购买
    • 或者修改购买时间
    • 或者取消购买"

    步骤3:等待用户确认

    用户回复确认、修改时间或取消

    步骤4:处理用户选择

    • 确认:创建定时任务,系统将在指定时间自动购买
    • 修改:重新开始预约流程
    • 取消:清理临时文件,结束流程
  8. 🔧 创建定时购买任务 系统解析用户原始时间表达式(如"1分钟后")计算确切的执行时间戳,自动创建 OpenClaw cron 任务 任务配置: { "name": "预约购买 - [商品名称]", "schedule": { "kind": "at", "at": "[ISO格式的执行时间]" }, "payload": { "kind": "agentTurn", "message": "你正在执行一个定时购买任务。

    任务信息:

    • 商品SKU: ${skuId}
    • 原始会话: ${原sessionKey}

    请按以下步骤完成购买并推送结果:

    1. 执行购买命令: node scripts/seap-cli aipay --sessionId=${原sessionKey} --skuId=${skuId} --quantity=${quantity} --mercInfoId=${mercInfoId}

    2. 读取购买结果: 从 ${原sessionKey}.json 文件读取购买结果

    3. 推送结果到原会话: 使用 sessions_send 将购买结果发送到原始会话

    4. 清理临时文件(如果有)", "timeoutSeconds": 120 }, "sessionTarget": "current", "deleteAfterRun": true, "delivery": { "mode": "announce" } }

    ⚠️ 重要说明:

    1. delivery.mode 必须设置为 "announce" 或 "webhook" 以便推送结果

    2. payload 中的 message 必须包含完整的结果推送逻辑

    3. 必须使用 sessions_send 工具将结果推送到原会话

9.提示用户任务已创建 "✅ 预约购买任务已创建!

📦 商品信息

  • 名称:[商品名称]
  • 价格:¥[价格]
  • SKU:[SKU]

📍 收货地址 [收货地址]

执行时间 [时间表达式] (约[具体时间])

系统将在指定时间自动执行购买,并将结果通知您。"


10. **定时任务自动执行**
- 到达指定时间后,OpenClaw自动在当前会话中执行任务
- Agent在当前会话中执行购买命令(使用 aipay)
- Agent读取购买结果(从 ${sessionKey}.json)

11. **🔧 购买结果自动推送(Agent在当前会话中执行)**
由于使用 sessionTarget="current",购买结果会自动显示在当前会话
无需手动使用 sessions_send 推送结果
Agent只需执行购买命令,结果会自动呈现给用户

# 步骤1:定时任务触发购买
系统自动执行执行命令
```bash
node scripts/seap-cli aipay --sessionId=${原sessionKey} --skuId=${skuId} --quantity=${quantity} --mercInfoId=${mercInfoId}

步骤2:生成完整购买结果

{ "sessionId": "${sessionId}", "skuId": "[商品SKU]", "productName": "[商品名称]", "productPrice": [价格], "orderId": "[生成的订单号]", "success": [布尔值], "address": "[收货地址]", "executedAt": "[执行时间]", "executionType": "scheduled" }

步骤3:保存购买结果

更新 ${sessionId}.json 文件,包含完整的购买信息

步骤4:自动生成结果消息

生成用户友好的通知消息: "✅ 预约购买任务已完成!

📦 商品信息

  • 名称:[商品名称]
  • 价格:¥[价格]
  • SKU:[SKU]

📋 订单信息

  • 订单号:[订单号]
  • 状态:[成功/失败]

📍 收货地址 [收货地址]

完成时间 [完成时间]

💡 这是您的预约购买结果。"

步骤5:推送结果至原会话

使用 sessions_send 将结果发送到用户的原始会话 确保用户能够立即收到购买完成通知

步骤7:清理临时文件

购买完成后清理临时文件:

  • 删除 ${sessionId}_task.json
  • 删除 ${sessionId}_confirmed.json
  • 保留 ${sessionId}.json 作为购买记录

📊 状态管理

  • ${sessionId}.json - 保存搜索结果和最终购买结果
  • ${sessionId}_confirmed.json - 临时保存购买确认信息(执行后清理)
  • ${sessionId}_cron.json - 保存定时任务配置(执行后清理)
  • ${sessionId}_task.json - 保存预约购买任务配置(执行后清理)

预期效果

  1. 无缝体验:用户确认购买后,系统自动处理后续所有流程
  2. 准时执行:定时任务确保在指定时间自动执行购买
  3. 实时通知:购买完成后立即推送详细结果
  4. 可靠管理:完整的任务生命周期和错误处理机制

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

Gigo Lobster Resume

🦞 GIGO · gigo-lobster-resume: 续跑入口:v2 stable 当前会清理旧 checkpoint 并从头重跑;保留此 slug 作为旧 checkpoint 兼容入口。 Triggers: 继续试吃 / 恢复评测 / resume tasting / continue lobster...

Registry SourceRecently Updated
General

YiHui CONTEXT MODE

context-mode is an MCP server that saves 98% of your context window by sandboxing tool outputs. It routes large file reads, shell outputs, and web fetches th...

Registry SourceRecently Updated
General

xinyi-drink

Use when users ask about 新一好喝/新一咖啡 drinks, stores, menu, activities, Skill用户大礼包, today drink recommendations, afternoon tea, feeling sleepy, or personalized...

Registry SourceRecently Updated
General

vedic-destiny

吠陀命盘分析中文入口。用于完整命盘研判、命主盘 Rashi chart 与九分盘 Navamsha chart 联读、既往事件回看、出生时间稳定度判断、事业主题、婚姻主题、时空盘专题,以及基于 Jagannatha Hora PDF、星盘截图或文本命盘数据的系统拆盘。当用户提到完整星盘、事业方向、婚姻问题、关系窗...

Registry SourceRecently Updated