Token导航 LogoToken导航TokenDH.com
研究检索敏感数据clawhub未标认证来源可访问clear审计提醒

online-shopping网上购物

Agent Skill

online-shopping 用于查找、检索和筛选相关信息,适合在 OpenClaw 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

22,813

周安装

914

GitHub Stars

1

下载量

7,385
OpenClaw

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

MIT-0

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:online-shopping(网上购物)
来源仓库:https://github.com/filipmartinsson/online-shopping
安装命令:
openclaw skills install online-shopping
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install online-shopping

简介

online-shopping 支持从受 Cloudflare 保护的网站浏览、比较和订购商品,实现自动化购物流程。

  • 适用于比价采购、产品调研或批量下单等电商相关任务场景。
  • 通过关键词搜索商品,获取价格、库存及配送信息,辅助决策与订单提交。
  • 使用过程中可能涉及支付接口调用,需确保账户安全与交易环境可信。
  • 建议核实商家资质与退换货政策后再进行购买操作。

SKILL.md

name
online-shopping
description
Browse and buy products from online stores, including Cloudflare-protected sites. Use when the user asks to find, compare, or order products online. Handles product search, price comparison, adding to cart, filling checkout forms, and navigating to payment. Uses a stealth browser (Patchright) to bypass bot detection.

Online Shopping

Overview

Search for products, compare options, and complete purchases on online stores — even those protected by Cloudflare. Uses Patchright (stealth Playwright) to avoid bot detection.

First-Time Setup

Run the setup script to install all dependencies:

bash <skill-dir>/scripts/setup.sh

This installs xvfb, Patchright, and Chromium, then verifies everything works. See references/setup.md for manual steps or troubleshooting.

Workflow

  1. Understand the request — product type, specs, size, brand preference, budget
  2. Browse the store — use stealth browser script to search and extract product listings
  3. Recommend — present options with price, availability, ratings. Give a clear recommendation.
  4. Confirm — get explicit approval before adding to cart
  5. Checkout — fill shipping/contact details, select delivery and payment
  6. Stop before paying — always confirm with the user before completing a purchase

Using the Stealth Browser

All browsing goes through Patchright scripts executed with xvfb-run. Do NOT use OpenClaw's built-in browser tool for Cloudflare-protected sites — it connects via CDP which leaks Runtime.enable calls that Cloudflare detects.

Quick browse (bundled script)

xvfb-run --auto-servernum node <skill-dir>/scripts/browse.mjs "<url>" --screenshot /tmp/page.png --text

Custom scripts

Write .mjs scripts in /tmp/ for multi-step flows. Auto-detect Patchright path:

import { createRequire } from 'module';
import { execSync } from 'node:child_process';
import { existsSync } from 'node:fs';

function findPatchright() {
  const root = execSync('npm root -g 2>/dev/null').toString().trim();
  const candidates = [
    root + '/openclaw/node_modules/patchright',
    process.env.HOME + '/.npm-global/lib/node_modules/openclaw/node_modules/patchright',
    root + '/patchright',
  ];
  for (const p of candidates) {
    try { if (existsSync(p)) return p; } catch {}
  }
  throw new Error('Patchright not found. Run setup.sh first.');
}

const require = createRequire(import.meta.url);
const { chromium } = require(findPatchright());

const browser = await chromium.launchPersistentContext('/tmp/patchright-ctx', {
  headless: false,   // REQUIRED — Cloudflare detects headless
  viewport: null,    // REQUIRED — use real viewport, not default 800x600
  args: ['--no-sandbox', '--disable-gpu'],
});

const page = browser.pages()[0] || await browser.newPage();
// ... your automation here ...
await browser.close();

Execute with: xvfb-run --auto-servernum node /tmp/my-script.mjs

Critical best practices (from Patchright docs)

These are essential for avoiding bot detection:

  1. headless: false — always. Cloudflare fingerprints headless mode. Use xvfb for servers without a display.
  2. viewport: null — let the browser use its natural viewport. Custom viewports are a detection signal.
  3. Do NOT set custom userAgent or HTTP headers — fingerprint injection makes you more detectable, not less.
  4. Use persistent context (launchPersistentContext) — retains cookies, localStorage, and session state between runs. Also more closely resembles real browser behavior.
  5. Prefer Google Chrome over Chromium where available (x86_64: npx patchright install chrome, then channel: "chrome"). Chromium has subtle fingerprint differences. ARM64 only supports Chromium.
  6. Do NOT use connectOverCDP() — connecting via raw CDP bypasses Patchright's patches. Always use chromium.launch() or chromium.launchPersistentContext().

Why Patchright works where Playwright doesn't

Patchright patches three key detection vectors:

  • Runtime.enable leak — Playwright uses Runtime.enable CDP call which sites detect. Patchright executes JS in isolated execution contexts instead.
  • Command flag leaks — Removes --enable-automation, adds --disable-blink-features=AutomationControlled.
  • Console.enable leak — Disables console API to avoid detection (console.log won't work in page context).

Script workflow for shopping

  1. Search script — navigate to store, search for product, extract listings as text
  2. Product script — click into a product page, get details
  3. Cart script — add to cart, navigate to checkout
  4. Checkout script — dump form fields with page.evaluate(), fill details, select shipping/payment
  5. Screenshot — always screenshot before completing purchase for user confirmation

Write each step as a separate .mjs script in /tmp/. Persistent context means the cart and session carry over between scripts.

Debugging tips

  • Use page.screenshot() liberally to see what the page looks like
  • Use page.evaluate(() => document.body.innerText) to dump page text
  • Dump form fields with page.evaluate(() => { ... querySelectorAll('input') ... }) before filling
  • Some fields may be read-only (auto-filled from other fields) — check before trying to fill
  • Use page.waitForTimeout() generously — sites need time to load/render
  • Close cookie banners early — they can block interactions

User Details & Preferences

Check references/preferences.md for saved shopping data (addresses, payment methods, delivery preferences, order history). If it doesn't exist yet, copy references/preferences-template.md to references/preferences.md and fill it in.

Fall back to USER.md for basic contact/address info.

When checkout requires info not on file, ask the user. After a successful order, update references/preferences.md with:

  • Any new address or delivery preference
  • The order in the history table

Never store card numbers or sensitive payment credentials. Only store method names (e.g. "Swish", "PayPal", "Visa ending 4321").

Safety

  • Never complete a purchase without explicit user confirmation
  • Show the cart summary, total price, and shipping cost before final step
  • Screenshot the checkout page and describe it to the user
  • If something looks wrong (wrong product, unexpected charges), stop and ask

Site-Specific Notes

See references/sites.md for store-specific quirks and tips. If the file doesn't exist yet, copy references/sites-template.md to get started.

适合场景

01

OpenClaw 用户查找和安装 Skill 时

02

用户想查找某类 Agent Skill 时

03

需要根据任务场景推荐可安装能力包时

04

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

OpenClaw

96.38%
按下载量换算7,118

安全审计

VirusTotal

可疑

ClawScan

通过

Static analysis

未展示

权限和风险

敏感数据

该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills