360 Secure SkillHub
360 安全技能中心

order

该 Skill 通过 OpenClaw 网关节点调用接口操作已配对的 Android 设备应用,提供获取菜单、查看购物车、按 ID 或名称模糊增删商品、清空购物车、批量添加和提交订单等命令;订单流程在设备内存中完成,为演示流程,不涉及真实支付或 POS 后端。

04551lh
04551lh
热度 77.19
最近更新 2026-05-11 17:29:08
分类:生活依赖:MCP 服务 / 第三方 API应用场景:购物

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add order
Metadata
name
android-order
description
Order food/drinks (点餐) on an Android device paired as an OpenClaw node. Uses in-app menu and cart; add goods, view cart, submit order (demo, no real payment).
version
1.0.0
user-invocable
true
metadata
{"openclaw":{"capabilities":["order"],"commands":[{"name":"order.getGoods","description":"Get the menu / goods list (id, name, price).","params":[]},{"name":"order.getSelectedGoods","description":"Get current cart / selected items.","params":[]},{"name":"order.addGoods","description":"Add a product to the cart by id or name (fuzzy). Default quantity 1.","params":[{"name":"id","type":"string","description":"Goods ID from the menu (e.g. \"1\")."},{"name":"name","type":"string","description":"Goods name, supports fuzzy match (e.g. \"拿铁\", \"美式\")."},{"name":"quantity","type":"string","description":"Quantity, default \"1\"."}]},{"name":"order.removeGoods","description":"Remove a product from the cart by id or name.","params":[{"name":"id","type":"string","description":"Goods ID."},{"name":"name","type":"string","description":"Goods name (fuzzy)."},{"name":"quantity","type":"string","description":"Quantity to remove, default \"1\"."}]},{"name":"order.clearGoods","description":"Clear all items in the cart.","params":[]},{"name":"order.submitOrder","description":"Submit the current cart as an order (demo; no real payment).","params":[]},{"name":"order.batchAddGoods","description":"Add multiple items at once. list is JSON array [{\"id\":\"1\",\"quantity\":2},...].","params":[{"name":"list","type":"string","description":"JSON array of objects with id and quantity."}]}]}}

Android Order Skill (点餐)

This skill uses the paired Android device (OpenClaw SMS Demo app with order capability) to manage an in-app menu and cart: get menu, add/remove items, view cart, submit order. Inspired by EdgeOSToolService (MEOW PAY); implementation is in-memory on the device (demo, no real POS backend).

When to use this skill

  • User asks to order food/drinks, view menu, add to cart, or submit an order on the paired Android device: use the order.* commands below.

Commands overview

Command Description
order.getGoods Return menu (id, name, priceCents, price).
order.getSelectedGoods Return current cart with quantities and subtotals.
order.addGoods Add by id or name (and optional quantity).
order.removeGoods Remove by id or name (and optional quantity).
order.clearGoods Clear cart.
order.submitOrder Submit cart as order; returns summary (demo only).
order.batchAddGoods Add multiple items: list = [{"id":"1","quantity":2},...].

How to call the underlying commands

Invoke via the OpenClaw gateway node invoke API:

  • command: one of order.getGoods, order.getSelectedGoods, order.addGoods, order.removeGoods, order.clearGoods, order.submitOrder, order.batchAddGoods.
  • paramsJSON: JSON object string, or null for no-param commands.

order.getGoods

  • command: "order.getGoods"
  • paramsJSON: null or "{}"
  • Success: payload is a JSON array of { "id", "name", "priceCents", "price" }.

order.getSelectedGoods

  • command: "order.getSelectedGoods"
  • paramsJSON: null or "{}"
  • Success: payload is a JSON array of cart items with id, name, quantity, priceCents, subtotalCents.

order.addGoods

  • command: "order.addGoods"

  • paramsJSON: provide id or name (or both); optional quantity (default 1).

    { "id": "1", "quantity": "2" }
    

    or

    { "name": "拿铁", "quantity": "1" }
    
  • Success: payload includes success: true and message (e.g. "已添加 拿铁 x1").

order.removeGoods

  • command: "order.removeGoods"
  • paramsJSON: same shape as addGoods (id or name, optional quantity).

order.clearGoods

  • command: "order.clearGoods"
  • paramsJSON: null or "{}".

order.submitOrder

  • command: "order.submitOrder"
  • paramsJSON: null or "{}".
  • Success: payload includes success, message, totalCents, items. Cart is cleared after submit.
  • Error: CART_EMPTY if cart is empty.

order.batchAddGoods

  • command: "order.batchAddGoods"
  • paramsJSON: { "list": "[{\"id\":\"1\",\"quantity\":2},{\"id\":\"2\",\"quantity\":1}]" }
  • Success: payload includes success and message (e.g. "已批量添加 2 项").

Error handling

  • GOODS_NOT_FOUND: No menu item matched the given id or name. Suggest calling order.getGoods to see the menu.
  • NOT_IN_CART: Item not in cart when removing.
  • CART_EMPTY: Cannot submit when cart is empty.
  • INVALID_REQUEST: Missing or malformed params (e.g. empty list for batchAddGoods).

Demo menu (default on device)

The in-app menu includes items such as: 拿铁, 美式, 卡布奇诺, 三明治, 沙拉, 蛋糕 (with ids "1"–"6"). Use order.getGoods to get the current list and prices.

Safety notes

  • This is a demo flow: submit order does not charge or send to a real POS. Do not expose as real payment.
  • Prefer confirming with the user before submitting an order (e.g. read back cart and total).