mcpField
R
res-price-compare

res-price-compare

github.com/molechowski生产力36 次安装
代码仓库

关于 res-price-compare

用于在波兰开展商品价格研究的 Claude Code 技能,采用多轮搜索与核验流程。除比较报价外,还检查库存、运费、保修条款及 B2B 信息,并可按需导出报告。

主要功能

  1. 01五轮商品价格研究
  2. 02核验商店页面价格与库存
  3. 03检查运费和保修条款
  4. 04分析 B2B 与经销商信息
  5. 05按需导出 TXT、XLSX 和 HTML

适用场景

  1. 01购买前比较波兰商店报价
  2. 02核算含配送费用的总价
  3. 03评估企业采购的保修条款
  4. 04导出价格比较报告

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/molechowski/claude-skills --skill res-price-compare

安装后在 Claude Code 中输入/res-price-compare确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
export-formats.md
polish-market.md
warranty-guide.md

详细介绍

价格比较 — 波兰市场

针对波兰电商市场进行 5 轮迭代式产品价格调研,并核实保修、运费及 B2B 信息。

**重要:**启动时加载 references/polish-market.md — 其中包含商店数据库、价格比较网站和搜索模式。

架构

工具用途费用
WebSearch搜索商店、价格和优惠免费
WebFetch在商店页面上核实价格(主要方式)免费
scrapling针对阻止 WebFetch 的网站的备用方案免费

不使用 xAI — 价格比较不需要 X/Twitter。

要求

无需外部依赖。该技能使用 Claude Code 内置工具运行。

可选依赖:

  • scrapling — 针对阻止 WebFetch 的网站的备用方案(403、验证码、空响应)。安装:uv tool install 'scrapling[all]'
  • uv — 用于运行 uv run --with openpyxl python3 -c "..." 以导出 XLSX

工作流概览

步骤操作目的
1解析查询PRODUCT、BUYER_TYPE、CATEGORY
2第 1 轮:发现Ceneo、Allegro、Amazon.pl、综合商店和专业商店
3差距分析缺少的商店、未核实的价格、缺失的数据
4第 2 轮:WebFetch 商店确认价格、库存水平和运费
5第 3 轮:保修和运费核实保修类型和配送费用
6第 4 轮:B2B 和经销商B2B 门户、官方经销商、法定保修
7第 5 轮:最终核实重新核查最低价、库存和优惠券
8综合整理比较表、建议和摘要
9导出按需导出 TXT、XLSX、HTML
10专家模式根据缓存回答,不进行新的搜索

WebFetch 与 Scrapling 备用方案

此技能中的每次 WebFetch 调用都遵循两级模式:

  1. 首先尝试 WebFetch(快速,无文件 I/O):

    WebFetch(url, prompt)
    
  2. 如果 WebFetch 失败(403、内容为空、验证码页面或响应被阻止),则使用 cli-web-scrape 中的自动升级协议重试:

    1. scrapling extract get "URL" /tmp/scrapling-fallback.md → 读取 → 验证内容
    2. 如果内容过少(仅含 JS 的外壳、无数据,或大多是导航链接)→ scrapling extract fetch "URL" /tmp/scrapling-fallback.md --network-idle --disable-resources → 读取 → 验证
    3. 如果仍被阻止 → scrapling extract stealthy-fetch "URL" /tmp/scrapling-fallback.md --solve-cloudflare
    4. 所有级别均失败 → 跳过该商店并标记为“scrapling blocked”

用于检测响应被阻止或内容过少的启发式规则:

  • HTTP 403 或响应中包含“access denied”
  • 响应正文为空,或仅包含导航/ Cookie 横幅
  • 响应包含验证码挑战(reCAPTCHA、hCaptcha、Cloudflare 挑战页面)
  • 响应是“please enable JavaScript”页面或禁用 JS 的警告
  • HTTP 200,但没有价格、规格或产品名称 — 只有导航链接和页脚(由 JS 渲染的 SPA)

如果未安装 scrapling,则恢复原始行为:跳过该商店并标记为“WebFetch blocked”。

步骤 1:解析查询

从用户查询中提取:

1a. PRODUCT

要搜索的产品名称。包括型号、变体和部件编号。

1b. BUYER_TYPE
类型判定方式影响
B2C“家用”、“个人”,或未说明24 个月法定保修 + 自愿保修
B2B“公司用”、“增值税发票”、“商业”、“B2B”可能不适用法定保修,制造商保修至关重要

**默认值:**B2B(较安全的假设 — 会触发更全面的分析)

1c. 类别

根据产品名称自动检测。从 references/polish-market.md 加载相应的专业商店列表:

类别检测模式示例
VoIP/电话Yealink、Grandstream、Fanvil、SIP、DECT、VoIPYealink W76P
IT/网络MikroTik、Ubiquiti、交换机、路由器、AP、防火墙MikroTik hAP ax3
电子产品显示器、笔记本电脑、计算机、打印机、平板电脑Dell U2723QE
办公用品椅子、办公桌、碎纸机、投影仪Ergohuman Elite
通用(无匹配项)Nespresso Vertuo

第 2 步:第 1 轮 — 搜索

查询生成

并行生成 6-8 个查询:

  1. Ceneo: site:ceneo.pl "{PRODUCT}"
  2. Allegro: site:allegro.pl "{PRODUCT}"
  3. Amazon.pl: site:amazon.pl "{PRODUCT}"
  4. 一般价格: "{PRODUCT}" cena kupić
  5. 专业商店: "{PRODUCT}" sklep(来自类别列表)
  6. 比价网站: "{PRODUCT}" porównanie cen
  7. 评价: "{PRODUCT}" opinie recenzje
  8. B2B: "{PRODUCT}" dystrybutor hurtownia(如果 BUYER_TYPE = B2B)
并行执行

同时运行所有 WebSearch 查询(并行工具调用)。

第 1 轮后的内部笔记

记录(仅供内部使用,不要放入输出):

SHOPS_FOUND: [list of shops with prices]
SHOPS_MISSING: [from references/polish-market.md, not found]
PRICES_TO_VERIFY: [prices from snippets — need WebFetch]
WARRANTY_TO_CHECK: [shops without warranty type info]
LEADS: [URLs worth checking via WebFetch in Round 2]

第 3 步:差距分析

第 1 轮后,进行差距分析:

差距检查项操作
没有比价数据我们有 Ceneo 数据吗?如果没有 → WebFetch ceneo.pl
没有专业商店polish-market.md 中该类别的商店有多少家?搜索缺失的商店
价格仅来自摘要是否有通过 WebFetch 确认的价格?计划对排名前 10 的结果进行 WebFetch
没有保修信息有多少家商店提供保修类型信息?计划核实
没有配送信息有多少家商店提供配送费用信息?计划对配送页面进行 WebFetch
没有市场平台数据是否检查过 Allegro / Amazon?添加查询
规划第 2 轮

选择排名前 8-12 的 URL,使用 WebFetch 进行核实。优先级:

  1. 最便宜的报价(价格核实)
  2. Ceneo(一次列出多家商店)
  3. 没有价格的专业商店
  4. 包含保修信息的页面

第 4 步:第 2 轮 — 使用 WebFetch 检查商店

规则
  1. 切勿重复第 1 轮的查询
  2. 使用 WebFetch 检查具体产品页面——而不是首页
  3. 并行执行——同时运行 4-6 个 WebFetch
  4. 本轮最多运行 8-12 个 WebFetch
执行

对列表中的每个 URL,应用 WebFetch with Scrapling Fallback 模式:

WebFetch(url, "Podaj: 1) dokładną cenę brutto, 2) dostępność/stan magazynowy,
  3) koszty wysyłki, 4) informacje o gwarancji (producenta czy sprzedawcy)")

如果 WebFetch 返回 403、空内容、CAPTCHA 或被阻止的响应,请遵循自动升级协议(HTTP → 验证内容 → Dynamic → Stealthy)。从 scrapling 输出中提取相同的数据点。

如果 Ceneo 可用,首先使用 WebFetch 检查 Ceneo 页面——它会一次列出多家商店。

置信度更新
来源价格置信度
WebSearch 摘要低——价格可能已过时
Ceneo 列表中——聚合信息,但可能有延迟
商店页面的 WebFetch高——已直接确认
商店页面的 Scrapling 回退高——已直接确认(与 WebFetch 相同)

第 5 步:第 3 轮 — 保修和配送

目标

对每家商店,确认:

  1. **保修类型:**制造商 / 分销商 / 卖家 / 未知
  2. **配送费用:**快递、Paczkomat、自提柜、免运费(门槛)
  3. **配送时间:**24 小时、48 小时、订购后
保修信息查找位置
  1. 产品页面——“Gwarancja”(保修)或“Informacje dodatkowe”(其他信息)部分
  2. 商店服务条款——搜索“gwarancja”、“gwarant”、“rękojmia”
  3. 保修卡——规格中的 PDF 或说明
  4. WebSearch:site:{shop} gwarancja 或 site:{shop} regulamin
保修分类
指标类型
"gwarancja producenta","producent: [brand]"MANUFACTURER
"gwarancja dystrybutora",经销商名称作为担保方DISTRIBUTOR
"gwarantem jest [shop name]","gwarancja [shop]"SELLER
无信息UNKNOWN

如果需要深入分析 B2B 或法定保修,请加载 references/warranty-guide.md。

运费

使用 WebFetch with Scrapling Fallback 模式,获取排名前 10 家商店的“Dostawa”(配送)或“Wysyłka”(发货)页面:

WebFetch(shipping_url, "Podaj wszystkie opcje dostawy z cenami:
  kurier, Paczkomat, Poczta Polska, odbiór osobisty, darmowa wysyłka (od jakiej kwoty)")

如果响应被拦截,请遵循自动升级协议(HTTP → 验证内容 → Dynamic → Stealthy),并从 scrapling 输出中提取配送选项。

Step 6:第 4 轮 — B2B 和经销商

目标
  1. 识别该品牌在波兰的官方经销商
  2. B2B 门户 — 批发价格、商务条款
  3. B2B 法定保修 — 商店是否对企业排除法定保修
查询
WebSearch: "{BRAND} dystrybutor Polska"
WebSearch: "{BRAND} importer Polska"
WebSearch: "{BRAND} autoryzowany sprzedawca"
WebSearch: "{PRODUCT}" site:ab.pl OR site:action.pl OR site:also.pl
B2B 法定保修验证

针对价格最低的前 5 家商店,应用 WebFetch with Scrapling Fallback 模式:

WebFetch(terms_url, "Czy regulamin wyłącza rękojmię dla przedsiębiorców?
  Szukaj: Art. 558 KC, wyłączenie rękojmi, przedsiębiorca, firma")

如果响应被拦截,请遵循自动升级协议(HTTP → 验证内容 → Dynamic → Stealthy),并在 scrapling 输出中查找排除法定保修的条款。

分销链

建立以下链路:制造商 → 波兰进口商 → 经销商 → 零售商 → 客户

记录每家经销商的以下信息:

  • 公司名称
  • 角色(进口商 / 经销商 / 授权零售商)
  • 网站
  • 服务联系信息(如有)

Step 7:第 5 轮 — 最终验证

目标

综合前进行最终验证。仅验证,不发现新商店。

检查清单
  1. 重新检查价格最低的前 3 家 — 再次使用 WebFetch,价格可能已变动
  2. 库存 — 产品是否有货(而非“需订货”)
  3. 优惠券/促销 — "{PRODUCT}" kupon zniżka promocja
  4. Allegro 上的替代报价 — 检查来自不同卖家的 2-3 个报价
  5. 比较 Allegro 与直接从商店购买 — 价格、保修、安全性
预算

本轮最多使用 6-8 次 WebFetch。

Step 8:综合整理

主表格

按总价(价格 + 最低运费)排序:

# | Shop               | Gross Price | Shipping (cheapest) | Price+Shipping | Mfr. Warranty     | Availability
--+--------------------+-------------+---------------------+----------------+-------------------+------------------
1 | shop.pl            | 489.00 PLN  | InPost courier 12   | 501.00 PLN     | YES — service.pl  | Yes (1987 pcs)
2 | morele.net         | 496.30 PLN  | FREE from 399 PLN   | 496.30 PLN     | YES — "Manufacturer" | Yes (11 pcs)
保修图例
YES  = confirmed manufacturer warranty (verification source)
NO   = seller's own warranty (not manufacturer)
?    = not verified at source
n/a  = no data
报告章节
  1. TOP 3 — 已确认提供制造商保修

    • 表格:商店、含运费价格、保修、备注
  2. 完整对比表

    • 所有已找到的商店,按价格 + 运费排序
  3. Allegro — 报价

    • 卖家、价格、制造商保修、链接
  4. 保修 — 重要发现

    • 制造商政策(全球)
    • 波兰经销商(延长保修?)
    • 波兰的服务中心
    • 制造商保修与卖家保修(商店列表)
    • B2B:法定保修及其排除情况
  5. 波兰官方经销商

    • 表格:公司、角色、网站
  6. 产品规格

    • 关键技术参数
  7. 购买建议

    • 面向 B2C:推荐前 3 家,包括价格、保修和理由
    • 面向 B2B:推荐前 3 家,综合考虑法定保修和制造商保修
    • 应避免的选项及原因
可信度指标

为每条信息标注可信度:

可信度适用情况
[HIGH]通过商店页面上的 WebFetch 或 scrapling 确认
[MEDIUM]来自 Ceneo/比价网站或单一来源
[LOW]仅来自 WebSearch 摘要

Step 9:导出

根据用户请求生成文件:

TXT

定宽列文件,格式与综合整理表格相同。

XLSX

加载 references/export-formats.md,并生成 Excel 电子表格,其中包含:

  • 条件着色(绿色 = 制造商保修,红色 = 卖家保修)
  • 筛选器和冻结的表头
  • 多个工作表(对比、保修、经销商、规格)
HTML

加载 references/export-formats.md,并生成独立 HTML,包含:

  • 深色主题、内嵌 CSS
  • 报告章节选项卡
  • 保修类型的彩色徽标
  • 响应式布局

第 10 步:专家模式

交付报告后,切换到专家模式:

  • 根据收集的数据回答问题
  • 除非用户要求,否则不进行新的搜索
  • 比较报价并提供建议

触发新搜索的指令(退出专家模式):

  • “再搜索一次……”
  • “查找更多关于……的信息”
  • “更新数据……”
  • “也检查一下……”

参数

始终使用 deep 模式——5 轮,25-40 家商店,20-30 次 WebFetch。

参数值
轮次5
商店25-40
WebFetch20-30

约束(应该做 / 不应该做)

应该做:

  • 始终从 Ceneo.pl 开始——这是波兰最好的比价平台
  • 使用 WebFetch 核实价格——搜索摘要不可靠
  • 区分制造商保修和卖家保修——这一点至关重要
  • 将运费计入排名——不含运费的价格并不完整
  • 搜索在波兰的品牌官方经销商
  • 对于 B2B:检查服务条款中是否排除了法定保修
  • 并行运行 WebSearch(并行工具调用)
  • 引用每条信息的来源(商店 URL)
  • 启动时加载 references/polish-market.md

不应该做:

  • 不要相信未经 WebFetch 核实的搜索摘要价格
  • 不要在比较中漏掉运费
  • 不要假定“24 个月保修”就是制造商保修
  • 不要重复之前轮次中的查询
  • 第 5 轮不要发现新商店——只进行核实
  • 单个来源的引用不要超过 125 个字符
  • 可以并行执行时,不要按顺序运行查询

错误处理

错误解决方法
WebFetch 返回 403/CAPTCHA/空结果遵循 cli-web-scrape 的自动升级协议:HTTP 层级 → 验证内容 → Dynamic 层级 → Stealthy 层级。如果 scrapling 不可用或所有层级均失败,则跳过该商店并标记为“blocked”
Ceneo 没有返回结果直接搜索 polish-market.md 中的商店
Allegro 阻止抓取使用 WebSearch site:allegro.pl,不要使用 WebFetch
页面上没有价格标记为“n/a”,并从排名中跳过
价格冲突(搜索摘要与 WebFetch 不一致)始终以 WebFetch 为准(如果 WebFetch 被阻止,则以 scrapling 为准)

参考资料

  • references/polish-market.md — 商店和比价平台数据库(始终加载)
  • references/warranty-guide.md — 法定保修与自愿保修、波兰法律、B2B 检查清单
  • references/export-formats.md — TXT/XLSX/HTML 模板及生成说明

评论

支持 Markdown