词元之母TOK.MOM - 平台充值汇率 1:1 即 1 人民币充值到账 1 美元,支持一个 Key 调用近 600+ 海内外模型,限时特价模型低至 1 折,欢迎上岸!
| 来源 | 可选 — 使用 hermes skills install official/productivity/shop-app 安装 |
| 路径 | optional-skills/productivity/shop-app |
| 版本 | 0.0.28 |
| 作者 | community |
| 许可证 | MIT |
| 平台 | linux, macos, windows |
| 标签 | Shopping, E-commerce, Shop.app, Products, Orders, Returns |
| 相关 skill | shopify, maps |
# Error\n\n{message} ({status}))。通过 terminal 工具使用 curl;试穿功能使用 image_generate 工具。GET https://shop.app/agents/search| 参数 | 类型 | 必填 | 默认值 | 描述 |
|---|---|---|---|---|
query | string | 是 | — | 搜索关键词 |
limit | int | 否 | 10 | 结果数 1–10 |
ships_to | string | 否 | US | ISO-3166 国家代码(控制货币和可用性) |
ships_from | string | 否 | — | 商品原产地 ISO-3166 国家代码 |
min_price | decimal | 否 | — | 最低价格 |
max_price | decimal | 否 | — | 最高价格 |
available_for_sale | int | 否 | 1 | 1 = 仅显示有货商品 |
include_secondhand | int | 否 | 1 | 0 = 仅显示全新商品 |
categories | string | 否 | — | 逗号分隔的 Shopify 分类 ID |
shop_ids | string | 否 | — | 筛选特定店铺 |
products_limit | int | 否 | 10 | 每个商品的变体数,1–10 |
\n\n---\n\n 分隔。$PRICE at BRAND — RATING)https:// 开头的行Img: 开头的行id: 开头的行variant= 查询参数里Checkout: 开头的行(包含 {id} 占位符;替换为真实的变体 ID)query 缺失或为空时返回 # Error\n\nquery is missing (400)。variant_id 必须来自商品 URL 中的 variant= 查询参数 — 搜索结果中的 id: 字段不被接受。curl -o),再用 base64 -w0 file.jpg 内联。| 键 | 生命周期 | 描述 |
|---|---|---|
access_token | 直到过期 / 401 | 认证端点的 Bearer token |
refresh_token | 直到刷新失败 | 无需重新认证即可续期 access_token |
device_id | 整个会话 | shop-skill--<uuid> — 生成一次,每次请求复用 |
country | 整个会话 | ISO 国家代码(US、CA、GB……)— 询问或推断 |
user_code 始终为 8 个大写字母,格式为 XXXXXXXX。client_id、client_secret 或回调 — 代理层负责处理。.env 或任何文件。device_code、user_code、sign_in_url、interval、expires_in。将 sign_in_url(及 user_code)展示给用户。interval 秒轮询 token:authorization_pending(继续轮询)、slow_down(间隔加 5 秒)、expired_token / access_denied(重启流程)。成功返回 access_token + refresh_token。范围: Shop.app 通过用户在 Shop app 中关联的邮件收据,聚合所有店铺(不仅限于 Shopify)的订单。此 skill 不直接访问用户邮件。
paid → fulfilled → in_transit → out_for_delivery → deliveredattempted_delivery、refunded、cancelled、buyer_action_requiredlimit(1–50,默认 20)、cursor(来自上一次响应)。uuid: …at …、Store domain: …、Store URL: …Store URL 后的行Ordered: …Status: …、Delivery: …Can reorder: yes— Items — 下,每项可选包含 [product:ID] [variant:ID] 和 Img:— Tracking — 下(承运商、单号、追踪 URL、预计到达时间)tracker_id: …Return URL: …(仅在符合条件时出现)cursor: <value>,将其作为 ?cursor=<value> 传入下一次请求。持续翻页直到不再出现 cursor: 行。Ordered: 日期、Delivery: 状态等)。— Tracking — 部分:delivered via UPS — 1Z999AA10123456784
Tracking URL: https://ups.com/track?num=…
ETA: Arrives TuesdayOrdered: 已是数月前但配送状态仍为 in_transit,告知用户追踪信息可能已过期。Return URL: …。Returnable(yes / no / unknown)、Return window(天数)、Return policy URL、Shipping policy URL。web_extract(或 curl + 去除标签)获取退货政策 URL — 内容为 HTML。limit=50 获取订单,通过 uuid: 或店铺/商品匹配找到目标订单。Can reorder: yes — 若不存在,重新下单可能无法成功。— Items — 中提取 [variant:ID] 和商品标题,从 Store domain: 或 Store URL: 中提取店铺域名。https://{domain}/cart/{variantId}:{quantity}。at Allbirds + Store domain: allbirds.myshopify.com + [variant:789012] → https://allbirds.myshopify.com/cart/789012:1[variant:ID]): 回退到店铺搜索链接:https://{domain}/search?q={title}。| 参数 | 描述 |
|---|---|
items | { variant_id, quantity } 对象数组 |
store_url | 店铺 URL(如 https://allbirds.ca) |
email | 预填邮箱 — 仅使用已有信息 |
city | 预填城市 |
country | 预填国 家代码 |
https://{store}/cart/{variant_id}:{qty},{variant_id}:{qty}?checkout[email]=…Checkout: URL 包含 {id} 占位符 — 替换为真实的 variant_id。image_generate 可用时,主动提供商品可视化服务:https://{shop_domain}/policies/shipping-policy
https://{shop_domain}/policies/refund-policyweb_extract(或 curl + 去除标签)后再展示。product_id 时,优先使用 GET /agents/returns?product_id=… 获取退货资格和政策链接。min_price、max_price、ships_to)。dimmable vintage bulbs e27 → vintage edison bulbs → e27 dimmable bulbs → filament bulbs。limit=50)— 查询时使用较大的 limit。at <store>)或 — Items — 中的商品标题扫描匹配。宽松匹配 — "Yoto" 可匹配 "Yoto Ltd"。cursor 翻页,或请用户提供更多信息。| 用户说 | 策 略 |
|---|---|
| "我的 Yoto 订单到哪了?" | 获取 50 条 → 找到 at Yoto → 显示追踪信息 |
| "显示我最近的订单" | 获取 20 条(默认) |
| "退掉一月份买的鞋?" | 获取 50 条 → 按 Ordered: 筛选一月份 → 检查退货 |
| "重新下单买咖啡" | 获取 50 条 → 找到咖啡商品 → 构建结账 URL |
| "我之前买过这个吗?" | 获取 50 条 → 与当前搜索结果交叉比对 → 显示匹配项 |
message() 工具调用(那属于 Shop.app 自身的运行时,不属于 Hermes)。