{"id":"87a70f42-d394-4211-9013-646faae3a1a6","entityType":"agent","slug":"clawhub-linkfox-ai-linkfox-etsy-store-query","name":"Etsy店铺查询","canonicalUrl":"https://www.xpersona.co/agent/clawhub-linkfox-ai-linkfox-etsy-store-query","canonicalPath":"/agent/clawhub-linkfox-ai-linkfox-etsy-store-query","generatedAt":"2026-10-10T17:35:52.426Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-10-10T14:32:59.169Z","emptyReason":null},"description":"按多维度筛选 Etsy 店铺（销量、收藏、评论、开店时间、国家、主营类目、Raving/星标等）。当用户提到 Etsy 店铺、Etsy 店搜、Etsy seller、Etsy 店铺排行、Etsy 周销量店铺、etsy stores、Etsy店铺查询 时触发。即使用户未提及工具名，只要在 Etsy 上找店铺、筛店铺数据或分析店铺表现，也应触发此技能。 Skill: Etsy店铺查询 Owner: linkfox-ai Summary: 按多维度筛选 Etsy 店铺（销量、收藏、评论、开店时间、国家、主营类目、Raving/星标等）。当用户提到 Etsy 店铺、Etsy 店搜、Etsy seller、Etsy 店铺排行、Etsy 周销量店铺、etsy stores、Etsy店铺查询 时触发。即使用户未提及工具名，只要在 Etsy 上找店铺、筛店铺数据或分析店铺表现，也应触发此技能。 Tags: latest:1.0.10 Version history: v1.0.10 | 2026-09-14T05:02:47.154Z | user Update from 1.0.9 to 1.0.10 v1.0.9 | 2026-08-14T14:51:16.760Z | user Update from 1.0.8 to 1.0.9 v1.0.8 | 2026-08-07T10:49:","descriptionLabel":"Technical summary","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 1.4K downloads reported by the source. Last updated 10/10/2026.","installCommand":"clawhub skill install s171g8b6m2khwdy9ye8bxj0wx183vd4z:linkfox-etsy-store-query","sourceUrl":"https://clawhub.ai/linkfox-ai/linkfox-etsy-store-query","homepage":"https://clawhub.ai/linkfox-ai/skills/linkfox-etsy-store-query","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/linkfox-ai/linkfox-etsy-store-query","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/linkfox-ai/skills/linkfox-etsy-store-query","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":63,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"按多维度筛选 Etsy 店铺（销量、收藏、评论、开店时间、国家、主营类目、Raving/星标等）。当用户提到 Etsy 店铺、Etsy 店搜、Etsy seller、Etsy 店铺排行、Etsy 周销量店铺、etsy stores、Etsy店铺查询 时触发。即使用户未提及工具名，只要在 Etsy 上找店铺、筛店铺数据或"},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-10T14:32:59.169Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[],"verifiedCount":0,"selfDeclaredCount":1,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile"}},"adoption":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-10T14:32:59.169Z","emptyReason":null},"stars":null,"forks":null,"downloads":1384,"packageName":null,"latestVersion":"1.0.10","tractionLabel":"1.4K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-10T14:32:59.169Z","emptyReason":null},"lastUpdatedAt":"2026-10-10T14:32:59.169Z","lastCrawledAt":"2026-10-10T14:32:59.169Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-11T14:32:59.169Z","lastVerifiedAt":null,"highlights":[{"version":"1.0.10","createdAt":"2026-09-14T05:02:47.154Z","changelog":"Update from 1.0.9 to 1.0.10","fileCount":7,"zipByteSize":19263},{"version":"1.0.9","createdAt":"2026-08-14T14:51:16.760Z","changelog":"Update from 1.0.8 to 1.0.9","fileCount":7,"zipByteSize":19268},{"version":"1.0.8","createdAt":"2026-08-07T10:49:24.799Z","changelog":"Update from 1.0.7 to 1.0.8","fileCount":7,"zipByteSize":19198},{"version":"1.0.7","createdAt":"2026-07-13T12:08:47.299Z","changelog":"Update from 1.0.6 to 1.0.7","fileCount":5,"zipByteSize":10170},{"version":"1.0.6","createdAt":"2026-07-10T05:40:12.388Z","changelog":"Update from 1.0.5 to 1.0.6","fileCount":5,"zipByteSize":9540},{"version":"1.0.5","createdAt":"2026-07-09T05:44:40.533Z","changelog":"Update from 1.0.4 to 1.0.5","fileCount":5,"zipByteSize":9465},{"version":"1.0.4","createdAt":"2026-07-09T05:19:37.741Z","changelog":"Update from 1.0.3 to 1.0.4","fileCount":5,"zipByteSize":9601}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s171g8b6m2khwdy9ye8bxj0wx183vd4z:linkfox-etsy-store-query","setupComplexity":"low","setupSteps":["Setup complexity is classified as HIGH. You must provision dedicated cloud infrastructure or an isolated VM. Do not run this directly on your local workstation.","Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-linkfox-ai-linkfox-etsy-store-query/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-linkfox-ai-linkfox-etsy-store-query/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-linkfox-ai-linkfox-etsy-store-query/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-linkfox-ai-linkfox-etsy-store-query/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-linkfox-ai-linkfox-etsy-store-query/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-linkfox-ai-linkfox-etsy-store-query/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-10T17:35:52.425Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-linkfox-ai-linkfox-etsy-store-query/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-linkfox-ai-linkfox-etsy-store-query/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-linkfox-ai-linkfox-etsy-store-query/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-linkfox-ai-linkfox-etsy-store-query/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"high","updatedAt":"2026-10-10T14:32:59.169Z","emptyReason":null},"readme":"Skill: Etsy店铺查询\n\nOwner: linkfox-ai\n\nSummary: 按多维度筛选 Etsy 店铺（销量、收藏、评论、开店时间、国家、主营类目、Raving/星标等）。当用户提到 Etsy 店铺、Etsy 店搜、Etsy seller、Etsy 店铺排行、Etsy 周销量店铺、etsy stores、Etsy店铺查询 时触发。即使用户未提及工具名，只要在 Etsy 上找店铺、筛店铺数据或分析店铺表现，也应触发此技能。\n\nTags: latest:1.0.10\n\nVersion history:\n\nv1.0.10 | 2026-09-14T05:02:47.154Z | user\n\nUpdate from 1.0.9 to 1.0.10\n\nv1.0.9 | 2026-08-14T14:51:16.760Z | user\n\nUpdate from 1.0.8 to 1.0.9\n\nv1.0.8 | 2026-08-07T10:49:24.799Z | user\n\nUpdate from 1.0.7 to 1.0.8\n\nv1.0.7 | 2026-07-13T12:08:47.299Z | user\n\nUpdate from 1.0.6 to 1.0.7\n\nv1.0.6 | 2026-07-10T05:40:12.388Z | user\n\nUpdate from 1.0.5 to 1.0.6\n\nv1.0.5 | 2026-07-09T05:44:40.533Z | user\n\nUpdate from 1.0.4 to 1.0.5\n\nv1.0.4 | 2026-07-09T05:19:37.741Z | user\n\nUpdate from 1.0.3 to 1.0.4\n\nArchive index:\n\nArchive v1.0.10: 7 files, 19263 bytes\n\nFiles: references/api.md (4820b), references/onboarding.md (1999b), scripts/etsy_store_query.py (12715b), scripts/onboarding.py (24027b), skill-card.md (2651b), SKILL.md (1949b), _meta.json (144b)\n\nFile v1.0.10:SKILL.md\n\n---\nname: linkfox-etsy-store-query\ndescription: 按多维度筛选 Etsy 店铺（销量、收藏、评论、开店时间、国家、主营类目、Raving/星标等）。当用户提到 Etsy 店铺、Etsy 店搜、Etsy seller、Etsy 店铺排行、Etsy 周销量店铺、etsy stores、Etsy店铺查询 时触发。即使用户未提及工具名，只要在 Etsy 上找店铺、筛店铺数据或分析店铺表现，也应触发此技能。\n---\n\n# Etsy 店铺查询\n\n## 要点\n\n- **分页**：`page` 从 1 起；`pageSize` 默认 20、最大 100。\n- **区间入参**：`begin*` / `end*` 成对对应上游逗号范围；只填一侧时上游为「起始~」或「~结束」。\n- **排序**：`sortBy` 仅 **8~11**（8 总销量、9 周销量、10 评论数、11 收藏数）。`sortDesc`：**1=降序，0=升序**（勿与商品接口的 `sortDesc` 混用）。\n\n## 脚本（可选）\n\n命令行调试：`python scripts/etsy_store_query.py '<JSON>'`（需 `LINKFOXAGENT_API_KEY`）。详见 [references/api.md](references/api.md) 末尾。\n\n## 参考\n\n入参/出参表见 [references/api.md](references/api.md)。\n\n## 解决认证和算力问题\n发生以下异常情况时，采用 references/onboarding.md 引导解决问题：\n\n### 异常情况\n- **未配置API Key**：环境变量未配置 `LINKFOX_AGENT_API_KEY`，也未配置 `LINKFOXAGENT_API_KEY`。\n- **响应401或402状态码**\n- **响应提示算力或余额不足**：消息含\"算力余额不足/计费不足/余额不足/quota exceeded/insufficient balance/套餐到期/需充值/请充值\"，或类似含义的内容。\n\n## 算力消耗规则\n\n按动态规则计费：消耗算力 = 返回的店铺数 × 1.8。按本页返回条数计费；翻到下一页，本质上是再发一次请求，再按下一页返回条数重新计算。\n\n> **重要**：本技能的服务按倍数动态计算，可能一次性消耗大量算力，必须提醒用户，由用户决定是否继续。\n\nFile v1.0.10:_meta.json\n\n{\n  \"ownerId\": \"kn7dmc1t4j28hem1twwyav85p182pb1j\",\n  \"slug\": \"linkfox-etsy-store-query\",\n  \"version\": \"1.0.10\",\n  \"publishedAt\": 1789362167154\n}\n\nFile v1.0.10:references/api.md\n\n# `_ehunt_storeQuery` API 参考\n\n## 调用说明\n\n- **工具名**：`_ehunt_storeQuery`（LinkFox MCP，`serverName`：第三方数据服务）。\n- **MCP 展示名**：Etsy店铺查询。\n- **说明**：参数与返回结构以当前网关返回为准；若上游返回 JSON 根级 `code` 字段，成功值以实网为准。\n\n## 请求参数（JSON）\n\n| 参数 | 类型 | 必填 | 说明 |\n|------|------|------|------|\n| beginFavorites | integer，≥0 | 否 | 店铺收藏数（起始），与结束值组成上游 favorites |\n| beginFavoritesWeekly | integer，≥0 | 否 | 店铺周新增收藏（起始），与结束值组成上游 favorites_weekly |\n| beginReviews | integer，≥0 | 否 | 店铺评论数（起始），与结束值组成上游 reviews |\n| beginReviewsWeekly | integer，≥0 | 否 | 店铺周新增评论（起始），与结束值组成上游 reviews_weekly |\n| beginSales | integer，≥0 | 否 | 店铺总销量（起始），与结束值组成上游 sales |\n| beginSalesWeekly | integer，≥0 | 否 | 店铺周销量（起始），与结束值组成上游 sales_weekly，如 10,100 |\n| beginStoreOpenedAt | string, pattern | 否 | 店铺开店时间区间起始（YYYY-MM-DD），与结束日期组成上游 start_at，如 2020-01-01~2023-01-01 |\n| category | string, maxLen=1000 | 否 | 店铺主营分类 |\n| country | string, maxLen=1000 | 否 | 店铺所在国家 |\n| endFavorites | integer，≥0 | 否 | 店铺收藏数（结束） |\n| endFavoritesWeekly | integer，≥0 | 否 | 店铺周新增收藏（结束） |\n| endReviews | integer，≥0 | 否 | 店铺评论数（结束） |\n| endReviewsWeekly | integer，≥0 | 否 | 店铺周新增评论（结束） |\n| endSales | integer，≥0 | 否 | 店铺总销量（结束） |\n| endSalesWeekly | integer，≥0 | 否 | 店铺周销量（结束） |\n| endStoreOpenedAt | string, pattern | 否 | 店铺开店时间区间结束（YYYY-MM-DD） |\n| isRaving | integer | 否 | 是否 Raving 店铺：1=是 |\n| isStar | integer | 否 | 是否星标店铺：1=是 |\n| page | integer，≥1，默认 1 | 否 | 页码（从 1 开始） |\n| pageSize | integer，1~100，默认 20 | 否 | 每页条数，最大 100 |\n| searchKey | string, maxLen=500 | 否 | 搜索关键词或店铺名称、店铺 URL |\n| sortBy | integer (8~11) | 否 | 排序字段 sort_by：8=总销量，9=周销量，10=评论数，11=收藏数 |\n| sortDesc | integer | 否 | 排序方向（对应上游 desc）：1=降序，0=升序 |\n| status | integer | 否 | 店铺状态：1=活跃，0=非活跃 |\n\n## 响应主要字段\n\n| 字段 | 类型 | 说明 |\n|------|------|------|\n| total | integer | 记录数（本页返回条数） |\n| sourceTool | string | 工具类型：ehunt |\n| sourceType | string | 来源类型：etsy |\n| stores | array | 店铺列表 |\n| columns | array | 渲染的列 |\n| costToken | integer | 消耗 token（按本页返回条数估算） |\n| storeNum | integer | 符合条件的店铺总数（上游 store_num） |\n| title | string | 标题 |\n| type | string | 渲染的样式 |\n\n### `stores[]` 元素\n\n| 字段 | 类型 | 说明 |\n|------|------|------|\n| category | array | 主营类目列表 |\n| country | array | 国家/地区列表 |\n| favorites | integer | 收藏数 |\n| favoritesWeekly | integer | 周新增收藏数 |\n| isRaving | integer | 是否 Raving：1=是 |\n| isStar | integer | 是否星标：1=是 |\n| logoUrl | string | 店铺头像 URL |\n| productCount | integer | 店铺商品数量 |\n| rating | number | 评分 |\n| reviews | integer | 评论数 |\n| reviewsWeekly | integer | 周新增评论数 |\n| salesTotal | integer | 总销量 |\n| salesWeekly | integer | 周销量 |\n| shopWebsite | string | 店铺官网/外链 |\n| startAt | string | 开店日期 |\n| status | integer | 店铺状态：1=活跃，0=非活跃 |\n| storeId | string | 店铺 ID |\n| storeName | string | 店铺名称 |\n| storeUrl | string | 店铺链接 |\n\n## 脚本调试（可选）\n\n仓库内提供 **`scripts/etsy_store_query.py`**（Python 3，仅标准库），向 LinkFox 工具网关 POST 与 MCP 入参一致的 JSON。\n\n- **网关**：`https://tool-gateway.linkfox.com`（可用 `LINKFOX_TOOL_GATEWAY_BASE` 覆盖根 URL）\n- **默认路径段**：`ehunt/etsy/storeQuery`（可用 `LINKFOX_EHUNT_STORE_QUERY_PATH` 覆盖，不含域名）\n- **鉴权**：环境变量 `LINKFOXAGENT_API_KEY`（与其他 `linkfox-*` skill 相同；如未配置 按 SKILL.md 的 **## 解决认证和算力问题** 处理）\n\n```bash\nexport LINKFOXAGENT_API_KEY=\"<your-key>\"\npython scripts/etsy_store_query.py '{\"searchKey\": \"ceramic\", \"country\": \"US\", \"page\": 1, \"pageSize\": 20}'\n```\n\n若返回 404，说明部署上该工具的 HTTP 路径与默认不一致，请用 `listEnabledTool` 或运维确认实际 path 后设置 `LINKFOX_EHUNT_STORE_QUERY_PATH`。\n\nFile v1.0.10:references/onboarding.md\n\n# 解决认证和算力问题\n\n调用本 skill 时若网关返回 **auth** 或 **billing** 错误，走本 skill 自带的 `scripts/onboarding.py` 完成引导。\n\n**auth 场景**：`errcode=401` 或消息含 `authorized error`/`鉴权失败`/`未授权`/`unauthorized`；或 `LINKFOX_AGENT_API_KEY` 与 `LINKFOXAGENT_API_KEY` 均为空。\n1. 若已配置 key → 先让用户重启会话（最常见误判），仍失败让用户重新取 key 或换手机号重注册\n2. 未配置 → 询问：自助去 https://agent.linkfox.com/ 取 key，或提供手机号让脚本注册\n3. 手机号路径：\n   - `python scripts/onboarding.py send-code <phone>` → 展示 JSON 里的 phone/agreements\n   - 收到验证码后：`python scripts/onboarding.py login <phone> <code>`\n   - 拿到 `api_key` 后把下面三平台配置转发给用户，提示重启会话生效：\n     - Windows PowerShell（永久）：`setx LINKFOX_AGENT_API_KEY \"<key>\"`\n     - macOS zsh：`echo 'export LINKFOX_AGENT_API_KEY=\"<key>\"' >> ~/.zshrc && source ~/.zshrc`\n     - Linux bash：`echo 'export LINKFOX_AGENT_API_KEY=\"<key>\"' >> ~/.bashrc && source ~/.bashrc`\n     - 变量名 `LINKFOX_AGENT_API_KEY`（主推）或 `LINKFOXAGENT_API_KEY`（老规范）任一即可\n\n**billing 场景**：`errcode=402` 或消息含 `算力/余额/quota/insufficient/充值/套餐到期`。\n- `python scripts/onboarding.py list-plans` → 有 AskUserQuestion 就弹菜单，否则输出编号清单让用户选\n- 校验 `plan_id` ∈ 清单、支付方式 ∈ 该套餐 `available_methods`（通常 `wechat/alipay`）\n- `python scripts/onboarding.py order <plan_id> <method>` → 展示优先级 PNG > `pay_url` > `ascii_qr`（标注兜底）\n- 已付款可选调 `python scripts/onboarding.py query <order_id>`，不主动轮询\n\n排除 `errcode=403`（无权限，不归入这两类）。所有子命令输出 stdout JSON，`error` 字段已含阶段前缀，透传给用户即可。完整用法：`python scripts/onboarding.py --help`。\n\nFile v1.0.10:skill-card.md\n\n## Description:\n\n按多维度筛选 Etsy 店铺（销量、收藏、评论、开店时间、国家、主营类目、Raving/星标等）。\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[linkfox-ai](https://clawhub.ai/user/linkfox-ai)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal e-commerce operators, sellers, and analysts use this skill to query Etsy stores and filter them by sales, weekly sales, favorites, reviews, opening date, country, category, Raving status, and star status.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill interacts with LinkFox account, API key, billing, and payment-order flows.\n\nMitigation: Use the official LinkFox site for login and key management when possible, review payment details before creating orders, and install only if those account and billing interactions are acceptable.\n\nRisk: Credentials, OTPs, or API keys may be exposed through command history or shared shell profiles.\n\nMitigation: Avoid passing OTPs in reusable shell history, store API keys only in trusted local profiles or secret managers, and restart sessions after credential changes.\n\nRisk: Endpoint override environment variables can redirect requests away from the default LinkFox services.\n\nMitigation: Set LinkFox endpoint override variables only when the destination is trusted and intentionally configured.\n\nRisk: Store queries consume LinkFox credits based on returned store count and can incur larger-than-expected usage.\n\nMitigation: Warn users before broad queries, start with narrow filters and smaller page sizes, and continue only after the user accepts the credit cost.\n\n## Reference(s):\n\n- [_ehunt_storeQuery API Reference](references/api.md)\n- [Authentication and Billing Onboarding](references/onboarding.md)\n- [ClawHub Skill Page](https://clawhub.ai/linkfox-ai/skills/linkfox-etsy-store-query)\n\n## Skill Output:\n\n**Output Type(s):** [Text, JSON, Shell commands, Configuration instructions, Guidance, Files]\n\n**Output Format:** [Markdown guidance with JSON command output and saved JSON response files]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Full query responses are saved under a linkfox session data directory; large responses are summarized unless inline output is requested.]\n\n## Skill Version(s):\n\n1.0.10 (source: server release evidence)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v1.0.9: 7 files, 19268 bytes\n\nFiles: references/api.md (4820b), references/onboarding.md (2046b), scripts/etsy_store_query.py (12659b), scripts/onboarding.py (24089b), skill-card.md (2813b), SKILL.md (1949b), _meta.json (143b)\n\nFile v1.0.9:SKILL.md\n\n---\nname: linkfox-etsy-store-query\ndescription: 按多维度筛选 Etsy 店铺（销量、收藏、评论、开店时间、国家、主营类目、Raving/星标等）。当用户提到 Etsy 店铺、Etsy 店搜、Etsy seller、Etsy 店铺排行、Etsy 周销量店铺、etsy stores、Etsy店铺查询 时触发。即使用户未提及工具名，只要在 Etsy 上找店铺、筛店铺数据或分析店铺表现，也应触发此技能。\n---\n\n# Etsy 店铺查询\n\n## 要点\n\n- **分页**：`page` 从 1 起；`pageSize` 默认 20、最大 100。\n- **区间入参**：`begin*` / `end*` 成对对应上游逗号范围；只填一侧时上游为「起始~」或「~结束」。\n- **排序**：`sortBy` 仅 **8~11**（8 总销量、9 周销量、10 评论数、11 收藏数）。`sortDesc`：**1=降序，0=升序**（勿与商品接口的 `sortDesc` 混用）。\n\n## 脚本（可选）\n\n命令行调试：`python scripts/etsy_store_query.py '<JSON>'`（需 `LINKFOXAGENT_API_KEY`）。详见 [references/api.md](references/api.md) 末尾。\n\n## 参考\n\n入参/出参表见 [references/api.md](references/api.md)。\n\n## 解决认证和积分问题\n发生以下异常情况时，采用 references/onboarding.md 引导解决问题：\n\n### 异常情况\n- **未配置API Key**：环境变量未配置 `LINKFOX_AGENT_API_KEY`，也未配置 `LINKFOXAGENT_API_KEY`。\n- **响应401或402状态码**\n- **响应提示积分或余额不足**：消息含\"积分余额不足/计费不足/余额不足/quota exceeded/insufficient balance/套餐到期/需充值/请充值\"，或类似含义的内容。\n\n## 积分消耗规则\n\n按动态规则计费：消耗积分 = 返回的店铺数 × 1.8。按本页返回条数计费；翻到下一页，本质上是再发一次请求，再按下一页返回条数重新计算。\n\n> **重要**：本技能的服务按倍数动态计算，可能一次性消耗大量积分，必须提醒用户，由用户决定是否继续。\n\nFile v1.0.9:_meta.json\n\n{\n  \"ownerId\": \"kn7dmc1t4j28hem1twwyav85p182pb1j\",\n  \"slug\": \"linkfox-etsy-store-query\",\n  \"version\": \"1.0.9\",\n  \"publishedAt\": 1786719076760\n}\n\nFile v1.0.9:references/api.md\n\n# `_ehunt_storeQuery` API 参考\n\n## 调用说明\n\n- **工具名**：`_ehunt_storeQuery`（LinkFox MCP，`serverName`：第三方数据服务）。\n- **MCP 展示名**：Etsy店铺查询。\n- **说明**：参数与返回结构以当前网关返回为准；若上游返回 JSON 根级 `code` 字段，成功值以实网为准。\n\n## 请求参数（JSON）\n\n| 参数 | 类型 | 必填 | 说明 |\n|------|------|------|------|\n| beginFavorites | integer，≥0 | 否 | 店铺收藏数（起始），与结束值组成上游 favorites |\n| beginFavoritesWeekly | integer，≥0 | 否 | 店铺周新增收藏（起始），与结束值组成上游 favorites_weekly |\n| beginReviews | integer，≥0 | 否 | 店铺评论数（起始），与结束值组成上游 reviews |\n| beginReviewsWeekly | integer，≥0 | 否 | 店铺周新增评论（起始），与结束值组成上游 reviews_weekly |\n| beginSales | integer，≥0 | 否 | 店铺总销量（起始），与结束值组成上游 sales |\n| beginSalesWeekly | integer，≥0 | 否 | 店铺周销量（起始），与结束值组成上游 sales_weekly，如 10,100 |\n| beginStoreOpenedAt | string, pattern | 否 | 店铺开店时间区间起始（YYYY-MM-DD），与结束日期组成上游 start_at，如 2020-01-01~2023-01-01 |\n| category | string, maxLen=1000 | 否 | 店铺主营分类 |\n| country | string, maxLen=1000 | 否 | 店铺所在国家 |\n| endFavorites | integer，≥0 | 否 | 店铺收藏数（结束） |\n| endFavoritesWeekly | integer，≥0 | 否 | 店铺周新增收藏（结束） |\n| endReviews | integer，≥0 | 否 | 店铺评论数（结束） |\n| endReviewsWeekly | integer，≥0 | 否 | 店铺周新增评论（结束） |\n| endSales | integer，≥0 | 否 | 店铺总销量（结束） |\n| endSalesWeekly | integer，≥0 | 否 | 店铺周销量（结束） |\n| endStoreOpenedAt | string, pattern | 否 | 店铺开店时间区间结束（YYYY-MM-DD） |\n| isRaving | integer | 否 | 是否 Raving 店铺：1=是 |\n| isStar | integer | 否 | 是否星标店铺：1=是 |\n| page | integer，≥1，默认 1 | 否 | 页码（从 1 开始） |\n| pageSize | integer，1~100，默认 20 | 否 | 每页条数，最大 100 |\n| searchKey | string, maxLen=500 | 否 | 搜索关键词或店铺名称、店铺 URL |\n| sortBy | integer (8~11) | 否 | 排序字段 sort_by：8=总销量，9=周销量，10=评论数，11=收藏数 |\n| sortDesc | integer | 否 | 排序方向（对应上游 desc）：1=降序，0=升序 |\n| status | integer | 否 | 店铺状态：1=活跃，0=非活跃 |\n\n## 响应主要字段\n\n| 字段 | 类型 | 说明 |\n|------|------|------|\n| total | integer | 记录数（本页返回条数） |\n| sourceTool | string | 工具类型：ehunt |\n| sourceType | string | 来源类型：etsy |\n| stores | array | 店铺列表 |\n| columns | array | 渲染的列 |\n| costToken | integer | 消耗 token（按本页返回条数估算） |\n| storeNum | integer | 符合条件的店铺总数（上游 store_num） |\n| title | string | 标题 |\n| type | string | 渲染的样式 |\n\n### `stores[]` 元素\n\n| 字段 | 类型 | 说明 |\n|------|------|------|\n| category | array | 主营类目列表 |\n| country | array | 国家/地区列表 |\n| favorites | integer | 收藏数 |\n| favoritesWeekly | integer | 周新增收藏数 |\n| isRaving | integer | 是否 Raving：1=是 |\n| isStar | integer | 是否星标：1=是 |\n| logoUrl | string | 店铺头像 URL |\n| productCount | integer | 店铺商品数量 |\n| rating | number | 评分 |\n| reviews | integer | 评论数 |\n| reviewsWeekly | integer | 周新增评论数 |\n| salesTotal | integer | 总销量 |\n| salesWeekly | integer | 周销量 |\n| shopWebsite | string | 店铺官网/外链 |\n| startAt | string | 开店日期 |\n| status | integer | 店铺状态：1=活跃，0=非活跃 |\n| storeId | string | 店铺 ID |\n| storeName | string | 店铺名称 |\n| storeUrl | string | 店铺链接 |\n\n## 脚本调试（可选）\n\n仓库内提供 **`scripts/etsy_store_query.py`**（Python 3，仅标准库），向 LinkFox 工具网关 POST 与 MCP 入参一致的 JSON。\n\n- **网关**：`https://tool-gateway.linkfox.com`（可用 `LINKFOX_TOOL_GATEWAY_BASE` 覆盖根 URL）\n- **默认路径段**：`ehunt/etsy/storeQuery`（可用 `LINKFOX_EHUNT_STORE_QUERY_PATH` 覆盖，不含域名）\n- **鉴权**：环境变量 `LINKFOXAGENT_API_KEY`（与其他 `linkfox-*` skill 相同；如未配置 按 SKILL.md 的 **## 解决认证和积分问题** 处理）\n\n```bash\nexport LINKFOXAGENT_API_KEY=\"<your-key>\"\npython scripts/etsy_store_query.py '{\"searchKey\": \"ceramic\", \"country\": \"US\", \"page\": 1, \"pageSize\": 20}'\n```\n\n若返回 404，说明部署上该工具的 HTTP 路径与默认不一致，请用 `listEnabledTool` 或运维确认实际 path 后设置 `LINKFOX_EHUNT_STORE_QUERY_PATH`。\n\nFile v1.0.9:references/onboarding.md\n\n# 解决认证和积分问题\n\n调用本 skill 时若网关返回 **auth** 或 **billing** 错误，走本 skill 自带的 `scripts/onboarding.py` 完成引导。\n\n**auth 场景**：`errcode=401` 或消息含 `authorized error`/`鉴权失败`/`未授权`/`unauthorized`；或 `LINKFOX_AGENT_API_KEY` 与 `LINKFOXAGENT_API_KEY` 均为空。\n1. 若已配置 key → 先让用户重启会话（最常见误判），仍失败让用户重新取 key 或换手机号重注册\n2. 未配置 → 询问：自助去 https://agent.linkfox.com/ 取 key，或提供手机号让脚本注册\n3. 手机号路径：\n   - `python scripts/onboarding.py send-code <phone>` → 展示 JSON 里的 phone/agreements\n   - 收到验证码后：`python scripts/onboarding.py login <phone> <code>`（workbuddy 宿主加 `--channel workbuddy`）\n   - 拿到 `api_key` 后把下面三平台配置转发给用户，提示重启会话生效：\n     - Windows PowerShell（永久）：`setx LINKFOX_AGENT_API_KEY \"<key>\"`\n     - macOS zsh：`echo 'export LINKFOX_AGENT_API_KEY=\"<key>\"' >> ~/.zshrc && source ~/.zshrc`\n     - Linux bash：`echo 'export LINKFOX_AGENT_API_KEY=\"<key>\"' >> ~/.bashrc && source ~/.bashrc`\n     - 变量名 `LINKFOX_AGENT_API_KEY`（主推）或 `LINKFOXAGENT_API_KEY`（老规范）任一即可\n\n**billing 场景**：`errcode=402` 或消息含 `积分/余额/quota/insufficient/充值/套餐到期`。\n- `python scripts/onboarding.py list-plans` → 有 AskUserQuestion 就弹菜单，否则输出编号清单让用户选\n- 校验 `plan_id` ∈ 清单、支付方式 ∈ 该套餐 `available_methods`（通常 `wechat/alipay`）\n- `python scripts/onboarding.py order <plan_id> <method>` → 展示优先级 PNG > `pay_url` > `ascii_qr`（标注兜底）\n- 已付款可选调 `python scripts/onboarding.py query <order_id>`，不主动轮询\n\n排除 `errcode=403`（无权限，不归入这两类）。所有子命令输出 stdout JSON，`error` 字段已含阶段前缀，透传给用户即可。完整用法：`python scripts/onboarding.py --help`。\n\nFile v1.0.9:skill-card.md\n\n## Description:\n\nFilters and queries Etsy stores by sales, favorites, reviews, opening date, country, category, and Raving or star status.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[linkfox-ai](https://clawhub.ai/user/linkfox-ai)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal sellers, ecommerce analysts, and developers use this skill to find Etsy stores that match commercial filters and compare store performance signals. It also guides users through LinkFox API-key and credit setup when authentication or billing blocks a query.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill sends Etsy store-query parameters and an API key to LinkFox’s external service.\n\nMitigation: Install and run it only when use of LinkFox’s external service and API-key sharing are acceptable for the task.\n\nRisk: The onboarding flow can request phone/SMS login details and generate an API token.\n\nMitigation: Prefer self-service setup on the official LinkFox site and avoid giving SMS codes to an agent unless the flow is understood and approved.\n\nRisk: The billing flow can list paid plans and create unpaid payment orders for credits.\n\nMitigation: Require explicit user confirmation before selecting a plan or creating an order, and verify any payment QR code or URL before payment.\n\nRisk: The service charges credits dynamically based on returned store count, so broad queries can consume more credits than expected.\n\nMitigation: Confirm filters, page size, and expected cost before running broad or paginated searches.\n\nRisk: Full responses, cached responses, or QR images may be written to a local linkfox output/cache directory.\n\nMitigation: Review and delete local linkfox output or cache files when they are no longer needed.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/linkfox-ai/skills/linkfox-etsy-store-query)\n- [Etsy store query API reference](artifact/references/api.md)\n- [Authentication and credits onboarding](artifact/references/onboarding.md)\n\n## Skill Output:\n\n**Output Type(s):** [JSON, Files, Shell commands, Configuration instructions, Guidance]\n\n**Output Format:** [Markdown guidance with JSON API results and optional shell commands]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [May save full API responses, cached responses, or payment QR images under a local linkfox session directory; large responses may be summarized in the agent output.]\n\n## Skill Version(s):\n\n1.0.9 (source: server release evidence)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v1.0.8: 7 files, 19198 bytes\n\nFiles: references/api.md (4820b), references/onboarding.md (2046b), scripts/etsy_store_query.py (12659b), scripts/onboarding.py (24089b), skill-card.md (2572b), SKILL.md (1949b), _meta.json (143b)\n\nFile v1.0.8:SKILL.md\n\n---\nname: linkfox-etsy-store-query\ndescription: 按多维度筛选 Etsy 店铺（销量、收藏、评论、开店时间、国家、主营类目、Raving/星标等）。当用户提到 Etsy 店铺、Etsy 店搜、Etsy seller、Etsy 店铺排行、Etsy 周销量店铺、etsy stores、Etsy店铺查询 时触发。即使用户未提及工具名，只要在 Etsy 上找店铺、筛店铺数据或分析店铺表现，也应触发此技能。\n---\n\n# Etsy 店铺查询\n\n## 要点\n\n- **分页**：`page` 从 1 起；`pageSize` 默认 20、最大 100。\n- **区间入参**：`begin*` / `end*` 成对对应上游逗号范围；只填一侧时上游为「起始~」或「~结束」。\n- **排序**：`sortBy` 仅 **8~11**（8 总销量、9 周销量、10 评论数、11 收藏数）。`sortDesc`：**1=降序，0=升序**（勿与商品接口的 `sortDesc` 混用）。\n\n## 脚本（可选）\n\n命令行调试：`python scripts/etsy_store_query.py '<JSON>'`（需 `LINKFOXAGENT_API_KEY`）。详见 [references/api.md](references/api.md) 末尾。\n\n## 参考\n\n入参/出参表见 [references/api.md](references/api.md)。\n\n## 解决认证和积分问题\n发生以下异常情况时，采用 references/onboarding.md 引导解决问题：\n\n### 异常情况\n- **未配置API Key**：环境变量未配置 `LINKFOX_AGENT_API_KEY`，也未配置 `LINKFOXAGENT_API_KEY`。\n- **响应401或402状态码**\n- **响应提示积分或余额不足**：消息含\"积分余额不足/计费不足/余额不足/quota exceeded/insufficient balance/套餐到期/需充值/请充值\"，或类似含义的内容。\n\n## 积分消耗规则\n\n按动态规则计费：消耗积分 = 返回的店铺数 × 1.8。按本页返回条数计费；翻到下一页，本质上是再发一次请求，再按下一页返回条数重新计算。\n\n> **重要**：本技能的服务按倍数动态计算，可能一次性消耗大量积分，必须提醒用户，由用户决定是否继续。\n\nFile v1.0.8:_meta.json\n\n{\n  \"ownerId\": \"kn7dmc1t4j28hem1twwyav85p182pb1j\",\n  \"slug\": \"linkfox-etsy-store-query\",\n  \"version\": \"1.0.8\",\n  \"publishedAt\": 1786099764799\n}\n\nFile v1.0.8:references/api.md\n\n# `_ehunt_storeQuery` API 参考\n\n## 调用说明\n\n- **工具名**：`_ehunt_storeQuery`（LinkFox MCP，`serverName`：第三方数据服务）。\n- **MCP 展示名**：Etsy店铺查询。\n- **说明**：参数与返回结构以当前网关返回为准；若上游返回 JSON 根级 `code` 字段，成功值以实网为准。\n\n## 请求参数（JSON）\n\n| 参数 | 类型 | 必填 | 说明 |\n|------|------|------|------|\n| beginFavorites | integer，≥0 | 否 | 店铺收藏数（起始），与结束值组成上游 favorites |\n| beginFavoritesWeekly | integer，≥0 | 否 | 店铺周新增收藏（起始），与结束值组成上游 favorites_weekly |\n| beginReviews | integer，≥0 | 否 | 店铺评论数（起始），与结束值组成上游 reviews |\n| beginReviewsWeekly | integer，≥0 | 否 | 店铺周新增评论（起始），与结束值组成上游 reviews_weekly |\n| beginSales | integer，≥0 | 否 | 店铺总销量（起始），与结束值组成上游 sales |\n| beginSalesWeekly | integer，≥0 | 否 | 店铺周销量（起始），与结束值组成上游 sales_weekly，如 10,100 |\n| beginStoreOpenedAt | string, pattern | 否 | 店铺开店时间区间起始（YYYY-MM-DD），与结束日期组成上游 start_at，如 2020-01-01~2023-01-01 |\n| category | string, maxLen=1000 | 否 | 店铺主营分类 |\n| country | string, maxLen=1000 | 否 | 店铺所在国家 |\n| endFavorites | integer，≥0 | 否 | 店铺收藏数（结束） |\n| endFavoritesWeekly | integer，≥0 | 否 | 店铺周新增收藏（结束） |\n| endReviews | integer，≥0 | 否 | 店铺评论数（结束） |\n| endReviewsWeekly | integer，≥0 | 否 | 店铺周新增评论（结束） |\n| endSales | integer，≥0 | 否 | 店铺总销量（结束） |\n| endSalesWeekly | integer，≥0 | 否 | 店铺周销量（结束） |\n| endStoreOpenedAt | string, pattern | 否 | 店铺开店时间区间结束（YYYY-MM-DD） |\n| isRaving | integer | 否 | 是否 Raving 店铺：1=是 |\n| isStar | integer | 否 | 是否星标店铺：1=是 |\n| page | integer，≥1，默认 1 | 否 | 页码（从 1 开始） |\n| pageSize | integer，1~100，默认 20 | 否 | 每页条数，最大 100 |\n| searchKey | string, maxLen=500 | 否 | 搜索关键词或店铺名称、店铺 URL |\n| sortBy | integer (8~11) | 否 | 排序字段 sort_by：8=总销量，9=周销量，10=评论数，11=收藏数 |\n| sortDesc | integer | 否 | 排序方向（对应上游 desc）：1=降序，0=升序 |\n| status | integer | 否 | 店铺状态：1=活跃，0=非活跃 |\n\n## 响应主要字段\n\n| 字段 | 类型 | 说明 |\n|------|------|------|\n| total | integer | 记录数（本页返回条数） |\n| sourceTool | string | 工具类型：ehunt |\n| sourceType | string | 来源类型：etsy |\n| stores | array | 店铺列表 |\n| columns | array | 渲染的列 |\n| costToken | integer | 消耗 token（按本页返回条数估算） |\n| storeNum | integer | 符合条件的店铺总数（上游 store_num） |\n| title | string | 标题 |\n| type | string | 渲染的样式 |\n\n### `stores[]` 元素\n\n| 字段 | 类型 | 说明 |\n|------|------|------|\n| category | array | 主营类目列表 |\n| country | array | 国家/地区列表 |\n| favorites | integer | 收藏数 |\n| favoritesWeekly | integer | 周新增收藏数 |\n| isRaving | integer | 是否 Raving：1=是 |\n| isStar | integer | 是否星标：1=是 |\n| logoUrl | string | 店铺头像 URL |\n| productCount | integer | 店铺商品数量 |\n| rating | number | 评分 |\n| reviews | integer | 评论数 |\n| reviewsWeekly | integer | 周新增评论数 |\n| salesTotal | integer | 总销量 |\n| salesWeekly | integer | 周销量 |\n| shopWebsite | string | 店铺官网/外链 |\n| startAt | string | 开店日期 |\n| status | integer | 店铺状态：1=活跃，0=非活跃 |\n| storeId | string | 店铺 ID |\n| storeName | string | 店铺名称 |\n| storeUrl | string | 店铺链接 |\n\n## 脚本调试（可选）\n\n仓库内提供 **`scripts/etsy_store_query.py`**（Python 3，仅标准库），向 LinkFox 工具网关 POST 与 MCP 入参一致的 JSON。\n\n- **网关**：`https://tool-gateway.linkfox.com`（可用 `LINKFOX_TOOL_GATEWAY_BASE` 覆盖根 URL）\n- **默认路径段**：`ehunt/etsy/storeQuery`（可用 `LINKFOX_EHUNT_STORE_QUERY_PATH` 覆盖，不含域名）\n- **鉴权**：环境变量 `LINKFOXAGENT_API_KEY`（与其他 `linkfox-*` skill 相同；如未配置 按 SKILL.md 的 **## 解决认证和积分问题** 处理）\n\n```bash\nexport LINKFOXAGENT_API_KEY=\"<your-key>\"\npython scripts/etsy_store_query.py '{\"searchKey\": \"ceramic\", \"country\": \"US\", \"page\": 1, \"pageSize\": 20}'\n```\n\n若返回 404，说明部署上该工具的 HTTP 路径与默认不一致，请用 `listEnabledTool` 或运维确认实际 path 后设置 `LINKFOX_EHUNT_STORE_QUERY_PATH`。\n\nFile v1.0.8:references/onboarding.md\n\n# 解决认证和积分问题\n\n调用本 skill 时若网关返回 **auth** 或 **billing** 错误，走本 skill 自带的 `scripts/onboarding.py` 完成引导。\n\n**auth 场景**：`errcode=401` 或消息含 `authorized error`/`鉴权失败`/`未授权`/`unauthorized`；或 `LINKFOX_AGENT_API_KEY` 与 `LINKFOXAGENT_API_KEY` 均为空。\n1. 若已配置 key → 先让用户重启会话（最常见误判），仍失败让用户重新取 key 或换手机号重注册\n2. 未配置 → 询问：自助去 https://agent.linkfox.com/ 取 key，或提供手机号让脚本注册\n3. 手机号路径：\n   - `python scripts/onboarding.py send-code <phone>` → 展示 JSON 里的 phone/agreements\n   - 收到验证码后：`python scripts/onboarding.py login <phone> <code>`（workbuddy 宿主加 `--channel workbuddy`）\n   - 拿到 `api_key` 后把下面三平台配置转发给用户，提示重启会话生效：\n     - Windows PowerShell（永久）：`setx LINKFOX_AGENT_API_KEY \"<key>\"`\n     - macOS zsh：`echo 'export LINKFOX_AGENT_API_KEY=\"<key>\"' >> ~/.zshrc && source ~/.zshrc`\n     - Linux bash：`echo 'export LINKFOX_AGENT_API_KEY=\"<key>\"' >> ~/.bashrc && source ~/.bashrc`\n     - 变量名 `LINKFOX_AGENT_API_KEY`（主推）或 `LINKFOXAGENT_API_KEY`（老规范）任一即可\n\n**billing 场景**：`errcode=402` 或消息含 `积分/余额/quota/insufficient/充值/套餐到期`。\n- `python scripts/onboarding.py list-plans` → 有 AskUserQuestion 就弹菜单，否则输出编号清单让用户选\n- 校验 `plan_id` ∈ 清单、支付方式 ∈ 该套餐 `available_methods`（通常 `wechat/alipay`）\n- `python scripts/onboarding.py order <plan_id> <method>` → 展示优先级 PNG > `pay_url` > `ascii_qr`（标注兜底）\n- 已付款可选调 `python scripts/onboarding.py query <order_id>`，不主动轮询\n\n排除 `errcode=403`（无权限，不归入这两类）。所有子命令输出 stdout JSON，`error` 字段已含阶段前缀，透传给用户即可。完整用法：`python scripts/onboarding.py --help`。\n\nFile v1.0.8:skill-card.md\n\n## Description:\n\nEtsy店铺查询 helps agents filter and retrieve Etsy store data by sales, favorites, reviews, opening date, country, category, and Raving or star status.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[linkfox-ai](https://clawhub.ai/user/linkfox-ai)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal users and developers use this skill to query and compare Etsy shops through LinkFox's hosted data service, including filtering by activity, sales, review, favorite, geography, category, and status signals.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The security verdict is suspicious because the skill includes account login, API key generation, and payment-order flows in addition to Etsy store queries.\n\nMitigation: Install only when the user intends to use LinkFox's paid hosted service, and ask for explicit user confirmation before account setup, SMS-code handling, API-key configuration, or billing actions.\n\nRisk: Queries consume paid credits based on returned store count and may incur higher-than-expected cost for broad or repeated searches.\n\nMitigation: Explain the dynamic credit rule before running broad queries, use scoped filters and pagination, and let the user decide whether to continue.\n\nRisk: Endpoint override environment variables can redirect requests away from the default LinkFox services.\n\nMitigation: Use endpoint overrides only in trusted development environments and review them before executing authentication, billing, or query commands.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/linkfox-ai/skills/linkfox-etsy-store-query)\n- [_ehunt_storeQuery API reference](artifact/references/api.md)\n- [Authentication and billing onboarding](artifact/references/onboarding.md)\n- [LinkFox tool gateway](https://tool-gateway.linkfox.com)\n\n## Skill Output:\n\n**Output Type(s):** [text, markdown, JSON, files, shell commands, configuration, guidance]\n\n**Output Format:** [Markdown guidance with JSON API responses and optional saved JSON files]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [The query script may summarize large responses while saving the full response as a JSON data file.]\n\n## Skill Version(s):\n\n1.0.8 (source: server release evidence)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v1.0.7: 5 files, 10170 bytes\n\nFiles: references/api.md (4820b), scripts/etsy_store_query.py (12659b), skill-card.md (2364b), SKILL.md (2566b), _meta.json (143b)\n\nFile v1.0.7:SKILL.md\n\n---\nname: linkfox-etsy-store-query\ndescription: 按多维度筛选 Etsy 店铺（销量、收藏、评论、开店时间、国家、主营类目、Raving/星标等）。当用户提到 Etsy 店铺、Etsy 店搜、Etsy seller、Etsy 店铺排行、Etsy 周销量店铺、etsy stores、Etsy店铺查询 时触发。即使用户未提及工具名，只要在 Etsy 上找店铺、筛店铺数据或分析店铺表现，也应触发此技能。\n---\n\n# Etsy 店铺查询\n\n## 要点\n\n- **分页**：`page` 从 1 起；`pageSize` 默认 20、最大 100。\n- **区间入参**：`begin*` / `end*` 成对对应上游逗号范围；只填一侧时上游为「起始~」或「~结束」。\n- **排序**：`sortBy` 仅 **8~11**（8 总销量、9 周销量、10 评论数、11 收藏数）。`sortDesc`：**1=降序，0=升序**（勿与商品接口的 `sortDesc` 混用）。\n\n## 脚本（可选）\n\n命令行调试：`python scripts/etsy_store_query.py '<JSON>'`（需 `LINKFOXAGENT_API_KEY`）。详见 [references/api.md](references/api.md) 末尾。\n\n## 参考\n\n入参/出参表见 [references/api.md](references/api.md)。\n\n## 解决认证和积分问题\n发生以下异常情况时，采用以下措施来处理：\n\n### 异常情况\n- **未配置API Key**：环境变量未配置 `LINKFOX_AGENT_API_KEY`，也未配置 `LINKFOXAGENT_API_KEY`。\n- **响应401或402状态码**\n- **响应提示积分或余额不足**：消息含\"积分余额不足/计费不足/余额不足/quota exceeded/insufficient balance/套餐到期/需充值/请充值\"，或类似含义的内容。\n\n### 措施\n- 优先采用skill内的 onboarding.md 引导解决问题。\n- 如找不到 onboarding.md 文件，则加载 /linkfox-onboarding 这个skill并根据它的引导来处理。如未安装请先安装：\n    - 下载 https://agent-files.linkfox.com/skills/linkfox-onboarding/release.zip，解压后安装这个skill。如需用户授权才可下载，要询问用户获得授权，你不能自己放弃下载。\n- 兜底措施：仅当前面两个措施经过所有努力都走不通时，才提示用户依据 https://skill.linkfox.com/linkfoxskills/guide.htm 指引获取API Key，或去 https://os.linkfox.com/ 补充积分。\n\n## 积分消耗规则\n\n按动态规则计费：消耗积分 = 返回的店铺数 × 1.8。按本页返回条数计费；翻到下一页，本质上是再发一次请求，再按下一页返回条数重新计算。\n\n> **重要**：本技能的服务按倍数动态计算，可能一次性消耗大量积分，必须提醒用户，由用户决定是否继续。\n\nFile v1.0.7:_meta.json\n\n{\n  \"ownerId\": \"kn7dmc1t4j28hem1twwyav85p182pb1j\",\n  \"slug\": \"linkfox-etsy-store-query\",\n  \"version\": \"1.0.7\",\n  \"publishedAt\": 1783944527299\n}\n\nFile v1.0.7:references/api.md\n\n# `_ehunt_storeQuery` API 参考\n\n## 调用说明\n\n- **工具名**：`_ehunt_storeQuery`（LinkFox MCP，`serverName`：第三方数据服务）。\n- **MCP 展示名**：Etsy店铺查询。\n- **说明**：参数与返回结构以当前网关返回为准；若上游返回 JSON 根级 `code` 字段，成功值以实网为准。\n\n## 请求参数（JSON）\n\n| 参数 | 类型 | 必填 | 说明 |\n|------|------|------|------|\n| beginFavorites | integer，≥0 | 否 | 店铺收藏数（起始），与结束值组成上游 favorites |\n| beginFavoritesWeekly | integer，≥0 | 否 | 店铺周新增收藏（起始），与结束值组成上游 favorites_weekly |\n| beginReviews | integer，≥0 | 否 | 店铺评论数（起始），与结束值组成上游 reviews |\n| beginReviewsWeekly | integer，≥0 | 否 | 店铺周新增评论（起始），与结束值组成上游 reviews_weekly |\n| beginSales | integer，≥0 | 否 | 店铺总销量（起始），与结束值组成上游 sales |\n| beginSalesWeekly | integer，≥0 | 否 | 店铺周销量（起始），与结束值组成上游 sales_weekly，如 10,100 |\n| beginStoreOpenedAt | string, pattern | 否 | 店铺开店时间区间起始（YYYY-MM-DD），与结束日期组成上游 start_at，如 2020-01-01~2023-01-01 |\n| category | string, maxLen=1000 | 否 | 店铺主营分类 |\n| country | string, maxLen=1000 | 否 | 店铺所在国家 |\n| endFavorites | integer，≥0 | 否 | 店铺收藏数（结束） |\n| endFavoritesWeekly | integer，≥0 | 否 | 店铺周新增收藏（结束） |\n| endReviews | integer，≥0 | 否 | 店铺评论数（结束） |\n| endReviewsWeekly | integer，≥0 | 否 | 店铺周新增评论（结束） |\n| endSales | integer，≥0 | 否 | 店铺总销量（结束） |\n| endSalesWeekly | integer，≥0 | 否 | 店铺周销量（结束） |\n| endStoreOpenedAt | string, pattern | 否 | 店铺开店时间区间结束（YYYY-MM-DD） |\n| isRaving | integer | 否 | 是否 Raving 店铺：1=是 |\n| isStar | integer | 否 | 是否星标店铺：1=是 |\n| page | integer，≥1，默认 1 | 否 | 页码（从 1 开始） |\n| pageSize | integer，1~100，默认 20 | 否 | 每页条数，最大 100 |\n| searchKey | string, maxLen=500 | 否 | 搜索关键词或店铺名称、店铺 URL |\n| sortBy | integer (8~11) | 否 | 排序字段 sort_by：8=总销量，9=周销量，10=评论数，11=收藏数 |\n| sortDesc | integer | 否 | 排序方向（对应上游 desc）：1=降序，0=升序 |\n| status | integer | 否 | 店铺状态：1=活跃，0=非活跃 |\n\n## 响应主要字段\n\n| 字段 | 类型 | 说明 |\n|------|------|------|\n| total | integer | 记录数（本页返回条数） |\n| sourceTool | string | 工具类型：ehunt |\n| sourceType | string | 来源类型：etsy |\n| stores | array | 店铺列表 |\n| columns | array | 渲染的列 |\n| costToken | integer | 消耗 token（按本页返回条数估算） |\n| storeNum | integer | 符合条件的店铺总数（上游 store_num） |\n| title | string | 标题 |\n| type | string | 渲染的样式 |\n\n### `stores[]` 元素\n\n| 字段 | 类型 | 说明 |\n|------|------|------|\n| category | array | 主营类目列表 |\n| country | array | 国家/地区列表 |\n| favorites | integer | 收藏数 |\n| favoritesWeekly | integer | 周新增收藏数 |\n| isRaving | integer | 是否 Raving：1=是 |\n| isStar | integer | 是否星标：1=是 |\n| logoUrl | string | 店铺头像 URL |\n| productCount | integer | 店铺商品数量 |\n| rating | number | 评分 |\n| reviews | integer | 评论数 |\n| reviewsWeekly | integer | 周新增评论数 |\n| salesTotal | integer | 总销量 |\n| salesWeekly | integer | 周销量 |\n| shopWebsite | string | 店铺官网/外链 |\n| startAt | string | 开店日期 |\n| status | integer | 店铺状态：1=活跃，0=非活跃 |\n| storeId | string | 店铺 ID |\n| storeName | string | 店铺名称 |\n| storeUrl | string | 店铺链接 |\n\n## 脚本调试（可选）\n\n仓库内提供 **`scripts/etsy_store_query.py`**（Python 3，仅标准库），向 LinkFox 工具网关 POST 与 MCP 入参一致的 JSON。\n\n- **网关**：`https://tool-gateway.linkfox.com`（可用 `LINKFOX_TOOL_GATEWAY_BASE` 覆盖根 URL）\n- **默认路径段**：`ehunt/etsy/storeQuery`（可用 `LINKFOX_EHUNT_STORE_QUERY_PATH` 覆盖，不含域名）\n- **鉴权**：环境变量 `LINKFOXAGENT_API_KEY`（与其他 `linkfox-*` skill 相同；如未配置 按 SKILL.md 的 **## 解决认证和积分问题** 处理）\n\n```bash\nexport LINKFOXAGENT_API_KEY=\"<your-key>\"\npython scripts/etsy_store_query.py '{\"searchKey\": \"ceramic\", \"country\": \"US\", \"page\": 1, \"pageSize\": 20}'\n```\n\n若返回 404，说明部署上该工具的 HTTP 路径与默认不一致，请用 `listEnabledTool` 或运维确认实际 path 后设置 `LINKFOX_EHUNT_STORE_QUERY_PATH`。\n\nFile v1.0.7:skill-card.md\n\n## Description: <br>\nFilters and analyzes Etsy stores by sales, favorites, reviews, opening date, country, category, and Raving or star status. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[linkfox-ai](https://clawhub.ai/user/linkfox-ai) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nExternal users and developers use this skill to query Etsy store data, screen stores by performance and profile filters, and inspect returned store metrics through LinkFox's third-party data service. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: The skill sends Etsy search parameters and an API key to a third-party LinkFox gateway. <br>\nMitigation: Use the skill only when the user trusts LinkFox with the query parameters and key, and confirm that any gateway override is expected before execution. <br>\nRisk: Queries may consume paid LinkFox credits, with cost based on the number of returned stores. <br>\nMitigation: Confirm the expected page size and obtain user approval before running paid queries or additional pages. <br>\nRisk: Full API responses may be saved locally and cached in linkfox-related directories. <br>\nMitigation: Treat saved files as potentially sensitive and delete cached or session outputs when the results or search terms should not persist. <br>\n\n\n## Reference(s): <br>\n- [API Reference](artifact/references/api.md) <br>\n- [ClawHub skill page](https://clawhub.ai/linkfox-ai/skills/linkfox-etsy-store-query) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [text, markdown, code, shell commands, configuration, guidance] <br>\n**Output Format:** [Markdown guidance with JSON API parameters, shell commands, and saved JSON response files] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [The helper script may save full API responses under linkfox-related local directories and print either full JSON or a concise summary depending on response size.] <br>\n\n## Skill Version(s): <br>\n1.0.7 (source: ClawHub release evidence) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nArchive v1.0.6: 5 files, 9540 bytes\n\nFiles: references/api.md (4809b), scripts/etsy_store_query.py (12740b), skill-card.md (2391b), SKILL.md (1114b), _meta.json (143b)\n\nFile v1.0.6:SKILL.md\n\n---\nname: linkfox-etsy-store-query\ndescription: 按多维度筛选 Etsy 店铺（销量、收藏、评论、开店时间、国家、主营类目、Raving/星标等）。当用户提到 Etsy 店铺、Etsy 店搜、Etsy seller、Etsy 店铺排行、Etsy 周销量店铺、etsy stores、Etsy店铺查询 时触发。即使用户未提及工具名，只要在 Etsy 上找店铺、筛店铺数据或分析店铺表现，也应触发此技能。\n---\n\n# Etsy 店铺查询\n\n## 要点\n\n- **分页**：`page` 从 1 起；`pageSize` 默认 20、最大 100。\n- **区间入参**：`begin*` / `end*` 成对对应上游逗号范围；只填一侧时上游为「起始~」或「~结束」。\n- **排序**：`sortBy` 仅 **8~11**（8 总销量、9 周销量、10 评论数、11 收藏数）。`sortDesc`：**1=降序，0=升序**（勿与商品接口的 `sortDesc` 混用）。\n\n## 脚本（可选）\n\n命令行调试：`python scripts/etsy_store_query.py '<JSON>'`（需 `LINKFOXAGENT_API_KEY`）。详见 [references/api.md](references/api.md) 末尾。\n\n## 参考\n\n入参/出参表见 [references/api.md](references/api.md)。\n\nFile v1.0.6:_meta.json\n\n{\n  \"ownerId\": \"kn7dmc1t4j28hem1twwyav85p182pb1j\",\n  \"slug\": \"linkfox-etsy-store-query\",\n  \"version\": \"1.0.6\",\n  \"publishedAt\": 1783662012388\n}\n\nFile v1.0.6:references/api.md\n\n# `_ehunt_storeQuery` API 参考\n\n## 调用说明\n\n- **工具名**：`_ehunt_storeQuery`（LinkFox MCP，`serverName`：第三方数据服务）。\n- **MCP 展示名**：Etsy店铺查询。\n- **说明**：参数与返回结构以当前网关返回为准；若上游返回 JSON 根级 `code` 字段，成功值以实网为准。\n\n## 请求参数（JSON）\n\n| 参数 | 类型 | 必填 | 说明 |\n|------|------|------|------|\n| beginFavorites | integer，≥0 | 否 | 店铺收藏数（起始），与结束值组成上游 favorites |\n| beginFavoritesWeekly | integer，≥0 | 否 | 店铺周新增收藏（起始），与结束值组成上游 favorites_weekly |\n| beginReviews | integer，≥0 | 否 | 店铺评论数（起始），与结束值组成上游 reviews |\n| beginReviewsWeekly | integer，≥0 | 否 | 店铺周新增评论（起始），与结束值组成上游 reviews_weekly |\n| beginSales | integer，≥0 | 否 | 店铺总销量（起始），与结束值组成上游 sales |\n| beginSalesWeekly | integer，≥0 | 否 | 店铺周销量（起始），与结束值组成上游 sales_weekly，如 10,100 |\n| beginStoreOpenedAt | string, pattern | 否 | 店铺开店时间区间起始（YYYY-MM-DD），与结束日期组成上游 start_at，如 2020-01-01~2023-01-01 |\n| category | string, maxLen=1000 | 否 | 店铺主营分类 |\n| country | string, maxLen=1000 | 否 | 店铺所在国家 |\n| endFavorites | integer，≥0 | 否 | 店铺收藏数（结束） |\n| endFavoritesWeekly | integer，≥0 | 否 | 店铺周新增收藏（结束） |\n| endReviews | integer，≥0 | 否 | 店铺评论数（结束） |\n| endReviewsWeekly | integer，≥0 | 否 | 店铺周新增评论（结束） |\n| endSales | integer，≥0 | 否 | 店铺总销量（结束） |\n| endSalesWeekly | integer，≥0 | 否 | 店铺周销量（结束） |\n| endStoreOpenedAt | string, pattern | 否 | 店铺开店时间区间结束（YYYY-MM-DD） |\n| isRaving | integer | 否 | 是否 Raving 店铺：1=是 |\n| isStar | integer | 否 | 是否星标店铺：1=是 |\n| page | integer，≥1，默认 1 | 否 | 页码（从 1 开始） |\n| pageSize | integer，1~100，默认 20 | 否 | 每页条数，最大 100 |\n| searchKey | string, maxLen=500 | 否 | 搜索关键词或店铺名称、店铺 URL |\n| sortBy | integer (8~11) | 否 | 排序字段 sort_by：8=总销量，9=周销量，10=评论数，11=收藏数 |\n| sortDesc | integer | 否 | 排序方向（对应上游 desc）：1=降序，0=升序 |\n| status | integer | 否 | 店铺状态：1=活跃，0=非活跃 |\n\n## 响应主要字段\n\n| 字段 | 类型 | 说明 |\n|------|------|------|\n| total | integer | 记录数（本页返回条数） |\n| sourceTool | string | 工具类型：ehunt |\n| sourceType | string | 来源类型：etsy |\n| stores | array | 店铺列表 |\n| columns | array | 渲染的列 |\n| costToken | integer | 消耗 token（按本页返回条数估算） |\n| storeNum | integer | 符合条件的店铺总数（上游 store_num） |\n| title | string | 标题 |\n| type | string | 渲染的样式 |\n\n### `stores[]` 元素\n\n| 字段 | 类型 | 说明 |\n|------|------|------|\n| category | array | 主营类目列表 |\n| country | array | 国家/地区列表 |\n| favorites | integer | 收藏数 |\n| favoritesWeekly | integer | 周新增收藏数 |\n| isRaving | integer | 是否 Raving：1=是 |\n| isStar | integer | 是否星标：1=是 |\n| logoUrl | string | 店铺头像 URL |\n| productCount | integer | 店铺商品数量 |\n| rating | number | 评分 |\n| reviews | integer | 评论数 |\n| reviewsWeekly | integer | 周新增评论数 |\n| salesTotal | integer | 总销量 |\n| salesWeekly | integer | 周销量 |\n| shopWebsite | string | 店铺官网/外链 |\n| startAt | string | 开店日期 |\n| status | integer | 店铺状态：1=活跃，0=非活跃 |\n| storeId | string | 店铺 ID |\n| storeName | string | 店铺名称 |\n| storeUrl | string | 店铺链接 |\n\n## 脚本调试（可选）\n\n仓库内提供 **`scripts/etsy_store_query.py`**（Python 3，仅标准库），向 LinkFox 工具网关 POST 与 MCP 入参一致的 JSON。\n\n- **网关**：`https://tool-gateway.linkfox.com`（可用 `LINKFOX_TOOL_GATEWAY_BASE` 覆盖根 URL）\n- **默认路径段**：`ehunt/etsy/storeQuery`（可用 `LINKFOX_EHUNT_STORE_QUERY_PATH` 覆盖，不含域名）\n- **鉴权**：环境变量 `LINKFOXAGENT_API_KEY`（与其他 `linkfox-*` skill 相同；申请见 https://skill.linkfox.com/linkfoxskills/guide.htm ）\n\n```bash\nexport LINKFOXAGENT_API_KEY=\"<your-key>\"\npython scripts/etsy_store_query.py '{\"searchKey\": \"ceramic\", \"country\": \"US\", \"page\": 1, \"pageSize\": 20}'\n```\n\n若返回 404，说明部署上该工具的 HTTP 路径与默认不一致，请用 `listEnabledTool` 或运维确认实际 path 后设置 `LINKFOX_EHUNT_STORE_QUERY_PATH`。\n\nFile v1.0.6:skill-card.md\n\n## Description: <br>\n按多维度筛选 Etsy 店铺（销量、收藏、评论、开店时间、国家、主营类目、Raving/星标等）。当用户提到 Etsy 店铺、Etsy 店搜、Etsy seller、Etsy 店铺排行、Etsy 周销量店铺、etsy stores、Etsy店铺查询 时触发。即使用户未提及工具名，只要在 Etsy 上找店铺、筛店铺数据或分析店铺表现，也应触发此技能。 <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[linkfox-ai](https://clawhub.ai/user/linkfox-ai) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nExternal users and developers use this skill to find, filter, and compare Etsy stores by sales, favorites, reviews, opening date, country, category, Raving status, and star status. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: Etsy store query parameters and the LinkFox API key are sent to LinkFox's gateway. <br>\nMitigation: Install and use the skill only when sharing those query parameters and credentials with LinkFox is acceptable; scope and rotate the API key according to the publisher's authorization guidance. <br>\nRisk: Full query results may be stored locally under a workspace linkfox directory or under home/temp fallback locations. <br>\nMitigation: Run the skill from an approved workspace, review saved response files for sensitive data, and remove cached or session data when it is no longer needed. <br>\n\n\n## Reference(s): <br>\n- [_ehunt_storeQuery API reference](references/api.md) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [text, markdown, JSON, files, shell commands, configuration, guidance] <br>\n**Output Format:** [Markdown guidance with shell commands, JSON query results, and saved JSON response files] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Full query results may be stored in a local linkfox workspace or fallback directory; large responses are summarized unless inline output is requested.] <br>\n\n## Skill Version(s): <br>\n1.0.6 (source: server release evidence) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nArchive v1.0.5: 5 files, 9465 bytes\n\nFiles: references/api.md (4809b), scripts/etsy_store_query.py (12740b), skill-card.md (2306b), SKILL.md (1114b), _meta.json (143b)\n\nFile v1.0.5:SKILL.md\n\n---\nname: linkfox-etsy-store-query\ndescription: 按多维度筛选 Etsy 店铺（销量、收藏、评论、开店时间、国家、主营类目、Raving/星标等）。当用户提到 Etsy 店铺、Etsy 店搜、Etsy seller、Etsy 店铺排行、Etsy 周销量店铺、etsy stores、Etsy店铺查询 时触发。即使用户未提及工具名，只要在 Etsy 上找店铺、筛店铺数据或分析店铺表现，也应触发此技能。\n---\n\n# Etsy 店铺查询\n\n## 要点\n\n- **分页**：`page` 从 1 起；`pageSize` 默认 20、最大 100。\n- **区间入参**：`begin*` / `end*` 成对对应上游逗号范围；只填一侧时上游为「起始~」或「~结束」。\n- **排序**：`sortBy` 仅 **8~11**（8 总销量、9 周销量、10 评论数、11 收藏数）。`sortDesc`：**1=降序，0=升序**（勿与商品接口的 `sortDesc` 混用）。\n\n## 脚本（可选）\n\n命令行调试：`python scripts/etsy_store_query.py '<JSON>'`（需 `LINKFOXAGENT_API_KEY`）。详见 [references/api.md](references/api.md) 末尾。\n\n## 参考\n\n入参/出参表见 [references/api.md](references/api.md)。\n\nFile v1.0.5:_meta.json\n\n{\n  \"ownerId\": \"kn7dmc1t4j28hem1twwyav85p182pb1j\",\n  \"slug\": \"linkfox-etsy-store-query\",\n  \"version\": \"1.0.5\",\n  \"publishedAt\": 1783575880533\n}\n\nFile v1.0.5:references/api.md\n\n# `_ehunt_storeQuery` API 参考\n\n## 调用说明\n\n- **工具名**：`_ehunt_storeQuery`（LinkFox MCP，`serverName`：第三方数据服务）。\n- **MCP 展示名**：Etsy店铺查询。\n- **说明**：参数与返回结构以当前网关返回为准；若上游返回 JSON 根级 `code` 字段，成功值以实网为准。\n\n## 请求参数（JSON）\n\n| 参数 | 类型 | 必填 | 说明 |\n|------|------|------|------|\n| beginFavorites | integer，≥0 | 否 | 店铺收藏数（起始），与结束值组成上游 favorites |\n| beginFavoritesWeekly | integer，≥0 | 否 | 店铺周新增收藏（起始），与结束值组成上游 favorites_weekly |\n| beginReviews | integer，≥0 | 否 | 店铺评论数（起始），与结束值组成上游 reviews |\n| beginReviewsWeekly | integer，≥0 | 否 | 店铺周新增评论（起始），与结束值组成上游 reviews_weekly |\n| beginSales | integer，≥0 | 否 | 店铺总销量（起始），与结束值组成上游 sales |\n| beginSalesWeekly | integer，≥0 | 否 | 店铺周销量（起始），与结束值组成上游 sales_weekly，如 10,100 |\n| beginStoreOpenedAt | string, pattern | 否 | 店铺开店时间区间起始（YYYY-MM-DD），与结束日期组成上游 start_at，如 2020-01-01~2023-01-01 |\n| category | string, maxLen=1000 | 否 | 店铺主营分类 |\n| country | string, maxLen=1000 | 否 | 店铺所在国家 |\n| endFavorites | integer，≥0 | 否 | 店铺收藏数（结束） |\n| endFavoritesWeekly | integer，≥0 | 否 | 店铺周新增收藏（结束） |\n| endReviews | integer，≥0 | 否 | 店铺评论数（结束） |\n| endReviewsWeekly | integer，≥0 | 否 | 店铺周新增评论（结束） |\n| endSales | integer，≥0 | 否 | 店铺总销量（结束） |\n| endSalesWeekly | integer，≥0 | 否 | 店铺周销量（结束） |\n| endStoreOpenedAt | string, pattern | 否 | 店铺开店时间区间结束（YYYY-MM-DD） |\n| isRaving | integer | 否 | 是否 Raving 店铺：1=是 |\n| isStar | integer | 否 | 是否星标店铺：1=是 |\n| page | integer，≥1，默认 1 | 否 | 页码（从 1 开始） |\n| pageSize | integer，1~100，默认 20 | 否 | 每页条数，最大 100 |\n| searchKey | string, maxLen=500 | 否 | 搜索关键词或店铺名称、店铺 URL |\n| sortBy | integer (8~11) | 否 | 排序字段 sort_by：8=总销量，9=周销量，10=评论数，11=收藏数 |\n| sortDesc | integer | 否 | 排序方向（对应上游 desc）：1=降序，0=升序 |\n| status | integer | 否 | 店铺状态：1=活跃，0=非活跃 |\n\n## 响应主要字段\n\n| 字段 | 类型 | 说明 |\n|------|------|------|\n| total | integer | 记录数（本页返回条数） |\n| sourceTool | string | 工具类型：ehunt |\n| sourceType | string | 来源类型：etsy |\n| stores | array | 店铺列表 |\n| columns | array | 渲染的列 |\n| costToken | integer | 消耗 token（按本页返回条数估算） |\n| storeNum | integer | 符合条件的店铺总数（上游 store_num） |\n| title | string | 标题 |\n| type | string | 渲染的样式 |\n\n### `stores[]` 元素\n\n| 字段 | 类型 | 说明 |\n|------|------|------|\n| category | array | 主营类目列表 |\n| country | array | 国家/地区列表 |\n| favorites | integer | 收藏数 |\n| favoritesWeekly | integer | 周新增收藏数 |\n| isRaving | integer | 是否 Raving：1=是 |\n| isStar | integer | 是否星标：1=是 |\n| logoUrl | string | 店铺头像 URL |\n| productCount | integer | 店铺商品数量 |\n| rating | number | 评分 |\n| reviews | integer | 评论数 |\n| reviewsWeekly | integer | 周新增评论数 |\n| salesTotal | integer | 总销量 |\n| salesWeekly | integer | 周销量 |\n| shopWebsite | string | 店铺官网/外链 |\n| startAt | string | 开店日期 |\n| status | integer | 店铺状态：1=活跃，0=非活跃 |\n| storeId | string | 店铺 ID |\n| storeName | string | 店铺名称 |\n| storeUrl | string | 店铺链接 |\n\n## 脚本调试（可选）\n\n仓库内提供 **`scripts/etsy_store_query.py`**（Python 3，仅标准库），向 LinkFox 工具网关 POST 与 MCP 入参一致的 JSON。\n\n- **网关**：`https://tool-gateway.linkfox.com`（可用 `LINKFOX_TOOL_GATEWAY_BASE` 覆盖根 URL）\n- **默认路径段**：`ehunt/etsy/storeQuery`（可用 `LINKFOX_EHUNT_STORE_QUERY_PATH` 覆盖，不含域名）\n- **鉴权**：环境变量 `LINKFOXAGENT_API_KEY`（与其他 `linkfox-*` skill 相同；申请见 https://skill.linkfox.com/linkfoxskills/guide.htm ）\n\n```bash\nexport LINKFOXAGENT_API_KEY=\"<your-key>\"\npython scripts/etsy_store_query.py '{\"searchKey\": \"ceramic\", \"country\": \"US\", \"page\": 1, \"pageSize\": 20}'\n```\n\n若返回 404，说明部署上该工具的 HTTP 路径与默认不一致，请用 `listEnabledTool` 或运维确认实际 path 后设置 `LINKFOX_EHUNT_STORE_QUERY_PATH`。\n\nFile v1.0.5:skill-card.md\n\n## Description: <br>\n帮助代理按销量、收藏、评论、开店时间、国家、主营类目、Raving/星标状态等条件查询和筛选 Etsy 店铺。 <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[linkfox-ai](https://clawhub.ai/user/linkfox-ai) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nExternal users and developers use this skill to find and compare Etsy shops by sales, reviews, favorites, country, category, open date, and star/Raving status. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: The skill uses a LinkFox API key and sends Etsy query parameters through a LinkFox tool gateway. <br>\nMitigation: Install only if you trust LinkFox, keep the API key scoped, and do not override the gateway unless the endpoint is trusted. <br>\nRisk: The helper saves response and cache files under a local linkfox directory in the current working directory. <br>\nMitigation: Run it from a workspace where local result and cache files are acceptable, and remove stored data when it is no longer needed. <br>\nRisk: A gateway override can redirect requests away from the default LinkFox endpoint. <br>\nMitigation: Leave LINKFOX_TOOL_GATEWAY unset unless you have verified the replacement endpoint. <br>\n\n\n## Reference(s): <br>\n- [API Reference](references/api.md) <br>\n- [ClawHub Skill Page](https://clawhub.ai/linkfox-ai/skills/linkfox-etsy-store-query) <br>\n- [LinkFox API Key Guide](https://skill.linkfox.com/linkfoxskills/guide.htm) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [text, markdown, JSON, shell commands, configuration] <br>\n**Output Format:** [Markdown guidance with JSON request and response data] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [The helper can write full API responses and cached results under a local linkfox directory and print either full JSON or a summary.] <br>\n\n## Skill Version(s): <br>\n1.0.5 (source: server release evidence) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nArchive v1.0.4: 5 files, 9601 bytes\n\nFiles: references/api.md (4809b), scripts/etsy_store_query.py (12781b), skill-card.md (2328b), SKILL.md (1529b), _meta.json (143b)\n\nFile v1.0.4:SKILL.md\n\n---\nname: linkfox-etsy-store-query\ndescription: 通过 MCP 工具 `_ehunt_storeQuery`（展示名「Etsy店铺查询」）按多维度筛选 Etsy 店铺（销量、收藏、评论、开店时间、国家、主营类目、Raving/星标等）。当用户提到 Etsy 店铺、Etsy 店搜、Etsy seller、Etsy 店铺排行、Etsy 周销量店铺、etsy stores、Etsy店铺查询、_ehunt_storeQuery 时触发。即使用户未提及工具名，只要在 Etsy 上找店铺、筛店铺数据或分析店铺表现，也应触发此技能。\n---\n\n# Etsy 店铺查询（`_ehunt_storeQuery`）\n\n在具备 LinkFox「第三方数据服务」MCP 时，按工具名 **`_ehunt_storeQuery`** 调用（MCP 展示名：**Etsy店铺查询**，以当前环境下发的工具元数据为准）。鉴权与上游路由由网关处理；若响应含根级 `code` 字段，是否成功以实网为准。\n\n## 要点\n\n- **分页**：`page` 从 1 起；`pageSize` 默认 20、最大 100。\n- **区间入参**：`begin*` / `end*` 成对对应上游逗号范围；只填一侧时上游为「起始~」或「~结束」。\n- **排序**：`sortBy` 仅 **8~11**（8 总销量、9 周销量、10 评论数、11 收藏数）。`sortDesc`：**1=降序，0=升序**（勿与商品接口的 `sortDesc` 混用）。\n\n## 脚本（可选）\n\n命令行调试：`python scripts/etsy_store_query.py '<JSON>'`（需 `LINKFOXAGENT_API_KEY`）。详见 [references/api.md](references/api.md) 末尾。\n\n## 参考\n\n入参/出参表见 [references/api.md](references/api.md)。\n\nFile v1.0.4:_meta.json\n\n{\n  \"ownerId\": \"kn7dmc1t4j28hem1twwyav85p182pb1j\",\n  \"slug\": \"linkfox-etsy-store-query\",\n  \"version\": \"1.0.4\",\n  \"publishedAt\": 1783574377741\n}\n\nFile v1.0.4:references/api.md\n\n# `_ehunt_storeQuery` API 参考\n\n## 调用说明\n\n- **工具名**：`_ehunt_storeQuery`（LinkFox MCP，`serverName`：第三方数据服务）。\n- **MCP 展示名**：Etsy店铺查询。\n- **说明**：参数与返回结构以当前网关返回为准；若上游返回 JSON 根级 `code` 字段，成功值以实网为准。\n\n## 请求参数（JSON）\n\n| 参数 | 类型 | 必填 | 说明 |\n|------|------|------|------|\n| beginFavorites | integer，≥0 | 否 | 店铺收藏数（起始），与结束值组成上游 favorites |\n| beginFavoritesWeekly | integer，≥0 | 否 | 店铺周新增收藏（起始），与结束值组成上游 favorites_weekly |\n| beginReviews | integer，≥0 | 否 | 店铺评论数（起始），与结束值组成上游 reviews |\n| beginReviewsWeekly | integer，≥0 | 否 | 店铺周新增评论（起始），与结束值组成上游 reviews_weekly |\n| beginSales | integer，≥0 | 否 | 店铺总销量（起始），与结束值组成上游 sales |\n| beginSalesWeekly | integer，≥0 | 否 | 店铺周销量（起始），与结束值组成上游 sales_weekly，如 10,100 |\n| beginStoreOpenedAt | string, pattern | 否 | 店铺开店时间区间起始（YYYY-MM-DD），与结束日期组成上游 start_at，如 2020-01-01~2023-01-01 |\n| category | string, maxLen=1000 | 否 | 店铺主营分类 |\n| country | string, maxLen=1000 | 否 | 店铺所在国家 |\n| endFavorites | integer，≥0 | 否 | 店铺收藏数（结束） |\n| endFavoritesWeekly | integer，≥0 | 否 | 店铺周新增收藏（结束） |\n| endReviews | integer，≥0 | 否 | 店铺评论数（结束） |\n| endReviewsWeekly | integer，≥0 | 否 | 店铺周新增评论（结束） |\n| endSales | integer，≥0 | 否 | 店铺总销量（结束） |\n| endSalesWeekly | integer，≥0 | 否 | 店铺周销量（结束） |\n| endStoreOpenedAt | string, pattern | 否 | 店铺开店时间区间结束（YYYY-MM-DD） |\n| isRaving | integer | 否 | 是否 Raving 店铺：1=是 |\n| isStar | integer | 否 | 是否星标店铺：1=是 |\n| page | integer，≥1，默认 1 | 否 | 页码（从 1 开始） |\n| pageSize | integer，1~100，默认 20 | 否 | 每页条数，最大 100 |\n| searchKey | string, maxLen=500 | 否 | 搜索关键词或店铺名称、店铺 URL |\n| sortBy | integer (8~11) | 否 | 排序字段 sort_by：8=总销量，9=周销量，10=评论数，11=收藏数 |\n| sortDesc | integer | 否 | 排序方向（对应上游 desc）：1=降序，0=升序 |\n| status | integer | 否 | 店铺状态：1=活跃，0=非活跃 |\n\n## 响应主要字段\n\n| 字段 | 类型 | 说明 |\n|------|------|------|\n| total | integer | 记录数（本页返回条数） |\n| sourceTool | string | 工具类型：ehunt |\n| sourceType | string | 来源类型：etsy |\n| stores | array | 店铺列表 |\n| columns | array | 渲染的列 |\n| costToken | integer | 消耗 token（按本页返回条数估算） |\n| storeNum | integer | 符合条件的店铺总数（上游 store_num） |\n| title | string | 标题 |\n| type | string | 渲染的样式 |\n\n### `stores[]` 元素\n\n| 字段 | 类型 | 说明 |\n|------|------|------|\n| category | array | 主营类目列表 |\n| country | array | 国家/地区列表 |\n| favorites | integer | 收藏数 |\n| favoritesWeekly | integer | 周新增收藏数 |\n| isRaving | integer | 是否 Raving：1=是 |\n| isStar | integer | 是否星标：1=是 |\n| logoUrl | string | 店铺头像 URL |\n| productCount | integer | 店铺商品数量 |\n| rating | number | 评分 |\n| reviews | integer | 评论数 |\n| reviewsWeekly | integer | 周新增评论数 |\n| salesTotal | integer | 总销量 |\n| salesWeekly | integer | 周销量 |\n| shopWebsite | string | 店铺官网/外链 |\n| startAt | string | 开店日期 |\n| status | integer | 店铺状态：1=活跃，0=非活跃 |\n| storeId | string | 店铺 ID |\n| storeName | string | 店铺名称 |\n| storeUrl | string | 店铺链接 |\n\n## 脚本调试（可选）\n\n仓库内提供 **`scripts/etsy_store_query.py`**（Python 3，仅标准库），向 LinkFox 工具网关 POST 与 MCP 入参一致的 JSON。\n\n- **网关**：`https://tool-gateway.linkfox.com`（可用 `LINKFOX_TOOL_GATEWAY_BASE` 覆盖根 URL）\n- **默认路径段**：`ehunt/etsy/storeQuery`（可用 `LINKFOX_EHUNT_STORE_QUERY_PATH` 覆盖，不含域名）\n- **鉴权**：环境变量 `LINKFOXAGENT_API_KEY`（与其他 `linkfox-*` skill 相同；申请见 https://skill.linkfox.com/linkfoxskills/guide.htm ）\n\n```bash\nexport LINKFOXAGENT_API_KEY=\"<your-key>\"\npython scripts/etsy_store_query.py '{\"searchKey\": \"ceramic\", \"country\": \"US\", \"page\": 1, \"pageSize\": 20}'\n```\n\n若返回 404，说明部署上该工具的 HTTP 路径与默认不一致，请用 `listEnabledTool` 或运维确认实际 path 后设置 `LINKFOX_EHUNT_STORE_QUERY_PATH`。\n\nFile v1.0.4:skill-card.md\n\n## Description: <br>\nUses the LinkFox `_ehunt_storeQuery` MCP tool to filter Etsy stores by sales, favorites, reviews, opening date, country, category, Raving status, and star status. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[linkfox-ai](https://clawhub.ai/user/linkfox-ai) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nExternal users and developers use this skill to find, filter, and compare Etsy stores through LinkFox's third-party data service. It supports store discovery and performance analysis using query parameters such as sales ranges, weekly activity, category, country, and status. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: The optional helper script sends Etsy query inputs, the LinkFox API key, and selected session metadata to LinkFox. <br>\nMitigation: Use the skill only when sharing those inputs and metadata with LinkFox is acceptable, and avoid sending sensitive query content. <br>\nRisk: The optional helper script can persist full responses and cache or session files in local `linkfox/` directories, including fallback locations when the preferred path is not writable. <br>\nMitigation: Review where the helper writes files before use and clean generated `linkfox/` directories after handling sensitive or unnecessary data. <br>\n\n\n## Reference(s): <br>\n- [_ehunt_storeQuery API reference](references/api.md) <br>\n- [ClawHub skill page](https://clawhub.ai/linkfox-ai/skills/linkfox-etsy-store-query) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [guidance, shell commands, configuration, text, files] <br>\n**Output Format:** [Markdown guidance with optional JSON responses, summaries, and local JSON files] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Optional helper script may save full LinkFox responses under local linkfox directories and print either full JSON or a compact summary.] <br>\n\n## Skill Version(s): <br>\n1.0.4 (source: server release evidence) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>","readmeExcerpt":"Skill: Etsy店铺查询 Owner: linkfox-ai Summary: 按多维度筛选 Etsy 店铺（销量、收藏、评论、开店时间、国家、主营类目、Raving/星标等）。当用户提到 Etsy 店铺、Etsy 店搜、Etsy seller、Etsy 店铺排行、Etsy 周销量店铺、etsy stores、Etsy店铺查询 时触发。即使用户未提及工具名，只要在 Etsy 上找店铺、筛店铺数据或分析店铺表现，也应触发此技能。 Tags: latest:1.0.10 Version history: v1.0.10 | 2026-09-14T05:02:47.154Z | user Update from 1.0.9 to 1.0.10 v1.0.9 | 2026-08-14T14:51:16.760Z | user Update from 1.0.8 to 1.0.9 v1.0.8 | 2026-08-07T10:49:","codeSnippets":[],"executableExamples":[{"language":"bash","snippet":"export LINKFOXAGENT_API_KEY=\"<your-key>\"\npython scripts/etsy_store_query.py '{\"searchKey\": \"ceramic\", \"country\": \"US\", \"page\": 1, \"pageSize\": 20}'"},{"language":"bash","snippet":"export LINKFOXAGENT_API_KEY=\"<your-key>\"\npython scripts/etsy_store_query.py '{\"searchKey\": \"ceramic\", \"country\": \"US\", \"page\": 1, \"pageSize\": 20}'"},{"language":"bash","snippet":"export LINKFOXAGENT_API_KEY=\"<your-key>\"\npython scripts/etsy_store_query.py '{\"searchKey\": \"ceramic\", \"country\": \"US\", \"page\": 1, \"pageSize\": 20}'"},{"language":"bash","snippet":"export LINKFOXAGENT_API_KEY=\"<your-key>\"\npython scripts/etsy_store_query.py '{\"searchKey\": \"ceramic\", \"country\": \"US\", \"page\": 1, \"pageSize\": 20}'"},{"language":"bash","snippet":"export LINKFOXAGENT_API_KEY=\"<your-key>\"\npython scripts/etsy_store_query.py '{\"searchKey\": \"ceramic\", \"country\": \"US\", \"page\": 1, \"pageSize\": 20}'"},{"language":"bash","snippet":"export LINKFOXAGENT_API_KEY=\"<your-key>\"\npython scripts/etsy_store_query.py '{\"searchKey\": \"ceramic\", \"country\": \"US\", \"page\": 1, \"pageSize\": 20}'"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: linkfox-etsy-store-query\ndescription: 按多维度筛选 Etsy 店铺（销量、收藏、评论、开店时间、国家、主营类目、Raving/星标等）。当用户提到 Etsy 店铺、Etsy 店搜、Etsy seller、Etsy 店铺排行、Etsy 周销量店铺、etsy stores、Etsy店铺查询 时触发。即使用户未提及工具名，只要在 Etsy 上找店铺、筛店铺数据或分析店铺表现，也应触发此技能。\n---\n\n# Etsy 店铺查询\n\n## 要点\n\n- **分页**：`page` 从 1 起；`pageSize` 默认 20、最大 100。\n- **区间入参**：`begin*` / `end*` 成对对应上游逗号范围；只填一侧时上游为「起始~」或「~结束」。\n- **排序**：`sortBy` 仅 **8~11**（8 总销量、9 周销量、10 评论数、11 收藏数）。`sortDesc`：**1=降序，0=升序**（勿与商品接口的 `sortDesc` 混用）。\n\n## 脚本（可选）\n\n命令行调试：`python scripts/etsy_store_query.py '<JSON>'`（需 `LINKFOXAGENT_API_KEY`）。详见 [references/api.md](references/api.md) 末尾。\n\n## 参考\n\n入参/出参表见 [references/api.md](references/api.md)。\n\n## 解决认证和算力问题\n发生以下异常情况时，采用 references/onboarding.md 引导解决问题：\n\n### 异常情况\n- **未配置API Key**：环境变量未配置 `LINKFOX_AGENT_API_KEY`，也未配置 `LINKFOXAGENT_API_KEY`。\n- **响应401或402状态码**\n- **响应提示算力或余额不足**：消息含\"算力余额不足/计费不足/余额不足/quota exceeded/insufficient balance/套餐到期/需充值/请充值\"，或类似含义的内容。\n\n## 算力消耗规则\n\n按动态规则计费：消耗算力 = 返回的店铺数 × 1.8。按本页返回条数计费；翻到下一页，本质上是再发一次请求，再按下一页返回条数重新计算。\n\n> **重要**：本技能的服务按倍数动态计算，可能一次性消耗大量算力，必须提醒用户，由用户决定是否继续。"},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn7dmc1t4j28hem1twwyav85p182pb1j\",\n  \"slug\": \"linkfox-etsy-store-query\",\n  \"version\": \"1.0.10\",\n  \"publishedAt\": 1789362167154\n}"},{"path":"references/api.md","content":"# `_ehunt_storeQuery` API 参考\n\n## 调用说明\n\n- **工具名**：`_ehunt_storeQuery`（LinkFox MCP，`serverName`：第三方数据服务）。\n- **MCP 展示名**：Etsy店铺查询。\n- **说明**：参数与返回结构以当前网关返回为准；若上游返回 JSON 根级 `code` 字段，成功值以实网为准。\n\n## 请求参数（JSON）\n\n| 参数 | 类型 | 必填 | 说明 |\n|------|------|------|------|\n| beginFavorites | integer，≥0 | 否 | 店铺收藏数（起始），与结束值组成上游 favorites |\n| beginFavoritesWeekly | integer，≥0 | 否 | 店铺周新增收藏（起始），与结束值组成上游 favorites_weekly |\n| beginReviews | integer，≥0 | 否 | 店铺评论数（起始），与结束值组成上游 reviews |\n| beginReviewsWeekly | integer，≥0 | 否 | 店铺周新增评论（起始），与结束值组成上游 reviews_weekly |\n| beginSales | integer，≥0 | 否 | 店铺总销量（起始），与结束值组成上游 sales |\n| beginSalesWeekly | integer，≥0 | 否 | 店铺周销量（起始），与结束值组成上游 sales_weekly，如 10,100 |\n| beginStoreOpenedAt | string, pattern | 否 | 店铺开店时间区间起始（YYYY-MM-DD），与结束日期组成上游 start_at，如 2020-01-01~2023-01-01 |\n| category | string, maxLen=1000 | 否 | 店铺主营分类 |\n| country | string, maxLen=1000 | 否 | 店铺所在国家 |\n| endFavorites | integer，≥0 | 否 | 店铺收藏数（结束） |\n| endFavoritesWeekly | integer，≥0 | 否 | 店铺周新增收藏（结束） |\n| endReviews | integer，≥0 | 否 | 店铺评论数（结束） |\n| endReviewsWeekly | integer，≥0 | 否 | 店铺周新增评论（结束） |\n| endSales | integer，≥0 | 否 | 店铺总销量（结束） |\n| endSalesWeekly | integer，≥0 | 否 | 店铺周销量（结束） |\n| endStoreOpenedAt | string, pattern | 否 | 店铺开店时间区间结束（YYYY-MM-DD） |\n| isRaving | integer | 否 | 是否 Raving 店铺：1=是 |\n| isStar | integer | 否 | 是否星标店铺：1=是 |\n| page | integer，≥1，默认 1 | 否 | 页码（从 1 开始） |\n| pageSize | integer，1~100，默认 20 | 否 | 每页条数，最大 100 |\n| searchKey | string, maxLen=500 | 否 | 搜索关键词或店铺名称、店铺 URL |\n| sortBy | integer (8~11) | 否 | 排序字段 sort_by：8=总销量，9=周销量，10=评论数，11=收藏数 |\n| sortDesc | integer | 否 | 排序方向（对应上游 desc）：1=降序，0=升序 |\n| status | integer | 否 | 店铺状态：1=活跃，0=非活跃 |\n\n## 响应主要字段\n\n| 字段 | 类型 | 说明 |\n|------|------|------|\n| total | integer | 记录数（本页返回条数） |\n| sourceTool | string | 工具类型：ehunt |\n| sourceType | string | 来源类型：etsy |\n| stores | array | 店铺列表 |\n| columns | array | 渲染的列 |\n| costToken | integer | 消耗 token（按本页返回条数估算） |\n| storeNum | integer | 符合条件的店铺总数（上游 store_num） |\n| title | string | 标题 |\n| type | string | 渲染的样式 |\n\n### `stores[]` 元素\n\n| 字段 | 类型 | 说明 |\n|------|------|------|\n| category | array | 主营类目列表 |\n| country | array | 国家/地区列表 |\n| favorites | integer | 收藏数 |\n| favoritesWeekly | integer | 周新增收藏数 |\n| isRaving | integer | 是否 Raving：1=是 |\n| isStar | integer | 是否星标：1=是 |\n| logoUrl | string | 店铺头像 URL |\n| productCount | integer | 店铺商品数量 |\n| rating | number | 评分 |\n| reviews | integer | 评论数 |\n| reviewsWeekly | integer | 周新增评论数 |\n| salesTotal | integer | 总销量 |\n| salesWeekly | integer | 周销量 |\n| shopWebsite | string | 店铺官网/外链 |\n| startAt | string | 开店日期 |\n| status | integer | 店铺状态：1=活跃，0=非活跃 |\n| storeId | string | 店铺 ID |\n| storeName | string | 店铺名称 |\n| storeUrl | string | 店铺链接 |\n\n## 脚本调试（可选）\n\n仓库内提供 **`scripts/etsy_store_query.py`**（Python 3，仅标准库），向 LinkFox 工具网关 POST 与 MCP 入参一致的 JSON。\n\n- **网关**：`https://tool-gateway.linkfox.com`（可用 `LINKFOX_TOOL_GATEWAY_BASE` 覆盖根 URL）\n- **默认路径段**：`ehunt/etsy/storeQuery`（可用 `LINKFOX_EHUNT_STORE_QUERY_PATH` 覆盖，不含域名）\n- **鉴权**：环境变量 `LINKFOXAGENT_API_KEY`（与其他"},{"path":"references/onboarding.md","content":"# 解决认证和算力问题\n\n调用本 skill 时若网关返回 **auth** 或 **billing** 错误，走本 skill 自带的 `scripts/onboarding.py` 完成引导。\n\n**auth 场景**：`errcode=401` 或消息含 `authorized error`/`鉴权失败`/`未授权`/`unauthorized`；或 `LINKFOX_AGENT_API_KEY` 与 `LINKFOXAGENT_API_KEY` 均为空。\n1. 若已配置 key → 先让用户重启会话（最常见误判），仍失败让用户重新取 key 或换手机号重注册\n2. 未配置 → 询问：自助去 https://agent.linkfox.com/ 取 key，或提供手机号让脚本注册\n3. 手机号路径：\n   - `python scripts/onboarding.py send-code <phone>` → 展示 JSON 里的 phone/agreements\n   - 收到验证码后：`python scripts/onboarding.py login <phone> <code>`\n   - 拿到 `api_key` 后把下面三平台配置转发给用户，提示重启会话生效：\n     - Windows PowerShell（永久）：`setx LINKFOX_AGENT_API_KEY \"<key>\"`\n     - macOS zsh：`echo 'export LINKFOX_AGENT_API_KEY=\"<key>\"' >> ~/.zshrc && source ~/.zshrc`\n     - Linux bash：`echo 'export LINKFOX_AGENT_API_KEY=\"<key>\"' >> ~/.bashrc && source ~/.bashrc`\n     - 变量名 `LINKFOX_AGENT_API_KEY`（主推）或 `LINKFOXAGENT_API_KEY`（老规范）任一即可\n\n**billing 场景**：`errcode=402` 或消息含 `算力/余额/quota/insufficient/充值/套餐到期`。\n- `python scripts/onboarding.py list-plans` → 有 AskUserQuestion 就弹菜单，否则输出编号清单让用户选\n- 校验 `plan_id` ∈ 清单、支付方式 ∈ 该套餐 `available_methods`（通常 `wechat/alipay`）\n- `python scripts/onboarding.py order <plan_id> <method>` → 展示优先级 PNG > `pay_url` > `ascii_qr`（标注兜底）\n- 已付款可选调 `python scripts/onboarding.py query <order_id>`，不主动轮询\n\n排除 `errcode=403`（无权限，不归入这两类）。所有子命令输出 stdout JSON，`error` 字段已含阶段前缀，透传给用户即可。完整用法：`python scripts/onboarding.py --help`。"},{"path":"skill-card.md","content":"## Description:\n\n按多维度筛选 Etsy 店铺（销量、收藏、评论、开店时间、国家、主营类目、Raving/星标等）。\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[linkfox-ai](https://clawhub.ai/user/linkfox-ai)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nExternal e-commerce operators, sellers, and analysts use this skill to query Etsy stores and filter them by sales, weekly sales, favorites, reviews, opening date, country, category, Raving status, and star status.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill interacts with LinkFox account, API key, billing, and payment-order flows.\n\nMitigation: Use the official LinkFox site for login and key management when possible, review payment details before creating orders, and install only if those account and billing interactions are acceptable.\n\nRisk: Credentials, OTPs, or API keys may be exposed through command history or shared shell profiles.\n\nMitigation: Avoid passing OTPs in reusable shell history, store API keys only in trusted local profiles or secret managers, and restart sessions after credential changes.\n\nRisk: Endpoint override environment variables can redirect requests away from the default LinkFox services.\n\nMitigation: Set LinkFox endpoint override variables only when the destination is trusted and intentionally configured.\n\nRisk: Store queries consume LinkFox credits based on returned store count and can incur larger-than-expected usage.\n\nMitigation: Warn users before broad queries, start with narrow filters and smaller page sizes, and continue only after the user accepts the credit cost.\n\n## Reference(s):\n\n- [_ehunt_storeQuery API Reference](references/api.md)\n- [Authentication and Billing Onboarding](references/onboarding.md)\n- [ClawHub Skill Page](https://clawhub.ai/linkfox-ai/skills/linkfox-etsy-store-query)\n\n## Skill Output:\n\n**Output Type(s):** [Text, JSON, Shell commands, Configuration instructions, Guidance, Files]\n\n**Output Format:** [Markdown guidance with JSON command output and saved JSON response files]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Full query responses are saved under a linkfox session data directory; large responses are summarized unless inline output is requested.]\n\n## Skill Version(s):\n\n1.0.10 (source: server release evidence)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment."}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":"按多维度筛选 Etsy 店铺（销量、收藏、评论、开店时间、国家、主营类目、Raving/星标等）。当用户提到 Etsy 店铺、Etsy 店搜、Etsy seller、Etsy 店铺排行、Etsy 周销量店铺、etsy stores、Etsy店铺查询 时触发。即使用户未提及工具名，只要在 Etsy 上找店铺、筛店铺数据或分析店铺表现，也应触发此技能。 Skill: Etsy店铺查询 Owner: linkfox-ai Summary: 按多维度筛选 Etsy 店铺（销量、收藏、评论、开店时间、国家、主营类目、Raving/星标等）。当用户提到 Etsy 店铺、Etsy 店搜、Etsy seller、Etsy 店铺排行、Etsy 周销量店铺、etsy stores、Etsy店铺查询 时触发。即使用户未提及工具名，只要在 Etsy 上找店铺、筛店铺数据或分析店铺表现，也应触发此技能。 Tags: latest:1.0.10 Version history: v1.0.10 | 2026-09-14T05:02:47.154Z | user Update from 1.0.9 to 1.0.10 v1.0.9 | 2026-08-14T14:51:16.760Z | user Update from 1.0.8 to 1.0.9 v1.0.8 | 2026-08-07T10:49:","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":1121,"uniquenessScore":53,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-10T14:32:59.169Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-10-10T14:32:59.169Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-10T17:35:52.426Z","emptyReason":null},"items":[{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-10-09T19:11:12.944Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/clawhub","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}